Holman WX8 Watering System

Using Tuya Local I have being able to intergrate my Holeman WX8 Watering system into my HA configuration. I am then using a simple scheduler to control the watering.

You will need to connect the WX8 to to the Tuya Smart app. This give toy the same access as much of the Holeman app. they have obviouly developed their app using Tuya anyway. The addtional smart features that the holamn app are better controlled from HA anyway so you will not loose any functionallity.

You will also need to create a cloud project on the Tuya IoT Platform. There are a number of videos online on how to do this. I recomend this anyway if you have any devices that use Tuya and there anre many cheaper devices that this will allow you to connect to HA. You only need one project for all your devices you are connecting this way.

The two peices of data you need from Tuya is the Device Id and the The local key. (Again the online videos can show you how to get these)

Then (Using HACS) you and can install local tuya.

You can use the Local Tula to add the WX8 or add to your configuration.yaml
I have posted below what I have in my yamll that has worked for me.

There a s few DPS that I have not worked out yet.

DPS 120 is a 8 BGit string that reports status of some function I have only worked out that

01000000 is the Evie Battery Status and 00000100 is If the system is watering but DPS is the Stop switch which also come on when watering so you can use that also for automation.

 localtuya:
   - host: 10.0.0.20
    device_id: xxxxx
    local_key: xxxx
    friendly_name: WX8 Holman Watering System
    protocol_version: "3.3"
    entities:
        
      - platform: sensor
        friendly_name: WX8 Firmware Version
        id: 116

      - platform: sensor
        friendly_name: WX8 Power
        id: 117
        scaling: 0.1
        device_class: power
        unit_of_measurement: "V"

	 - platform: sensor 
        friendly_name: WX8 Battery Charge
        id: 118
        scaling: 0.1
        device_class: battery
        unit_of_measurement: "V"

	 - platform: sensor
        friendly_name: WX8 DPS 119
        id: 119

	 - platform: sensor
        friendly_name: WX8 8 Bit String
        id: 120

	 - platform: sensor
        friendly_name: WX8 DPS 121
        id: 121

	 - platform: sensor
        friendly_name: WX8 Battery Voltage
        id: 122

      - platform: switch
        friendly_name: WX8 Watering
        id: 123

      - platform: switch
        friendly_name: WX8 Lavender Beds #Valve 1
        id: 102

      - platform: switch
        friendly_name: WX8 Lavender Beds #Valve 1
        id: 102

      - platform: switch
        friendly_name: WX8 Back Shrubs #Valve 2
        id: 103

      - platform: switch
        friendly_name: WX8 Back Lawn #Valve 3
        id: 104

      - platform: switch
        friendly_name: WX8 Vegitable Beds #Valve 4
        id: 105

      - platform: switch
        friendly_name: WX8 V5 #Valve 5
        id: 106

      - platform: switch
        friendly_name: WX8 V6 #Valve 6
        id: 107

      - platform: switch
        friendly_name: WX8 Front Hedge #Valve 7
        id: 108

      - platform: switch
        friendly_name: WX8 Front Lawn #Valve 8
        id: 112
1 Like

Hi, I am looking to get one of these too. Can you tell me whether the rain sensor is accessible through Home Assistant? Just wondering if it can be used for other automations?

thanks

Yes. I have worked out that the Evie sensor (wifi) and the wired sensor show in DPS 120.

As I posted the DPS 120 is 8 bit binary (converted to decimal)
I have created a attributes to a sensor so I can see whats changes.
Im not sure what Bit is the Wired sensor as I don’t have one attached at the moment but almost possitive it one that I havn’t detected a change on yet.

Update: The Tuya intergration has removed the Yaml setup and you need configure the device through the intergration now. I little anoying as hard to pass on my work to others but it doesn’t take long if you know what DPS are what.

This is my coding for a sensor attributes for the 8 bit string on DPS 120

template:
  - sensor:
      - name: WX8 Status
        state: >
          {% set RemVal = states('sensor.wx8_8_bit_string')|float %}
          {{RemVal}}

        attributes:
          Bit_0: >
            {% set RemVal = states('sensor.wx8_8_bit_string')|float %}
            {% if RemVal is odd %}
            true
            {% else %}
            false
            {% endif %}

          Bit_1: >
            {% set RemVal = states('sensor.wx8_8_bit_string')|float %}
            {% if (RemVal/2)|int is odd %}
            true
            {% else %}
            false
            {% endif %}

          Watering: >
            {% set RemVal = states('sensor.wx8_8_bit_string')|float %}
            {% if (RemVal/4)|int is odd %}
            true
            {% else %}
            false
            {% endif %}

          Bit_3: >
            {% set RemVal = states('sensor.wx8_8_bit_string')|float %}
            {% if (RemVal/8)|int is odd|int %}
            true
            {% else %}
            false
            {% endif %}

          Bit_4: >
            {% set RemVal = states('sensor.wx8_8_bit_string')|float %}
            {% if (RemVal/16)|int is odd %}
            true
            {% else %}
            false
            {% endif %}

          Bit_5: >
            {% set RemVal = states('sensor.wx8_8_bit_string')|float %}
            {% if (RemVal/32)|int is odd %}
            true
            {% else %}
            false
            {% endif %}

          Evie Battery Good: >
            {% set RemVal = states('sensor.wx8_8_bit_string')|float %}
            {% if (RemVal/64)|int is odd %}
            true
            {% else %}
            false
            {% endif %}

          Evie Wet: >
            {% set RemVal = states('sensor.wx8_8_bit_string')|float %}
            {% if (RemVal/128)|int is odd %}
            true
            {% else %}
            false
            {% endif %}
1 Like

Thank you for sharing all this timnell - I have the same unit and your work will save me hours. I appreciate that very much. Have a good day

How you get this done, My config flow stops already at device Binding with an error. but the Tuya CLI works. Double-checked the device IDs and Local keys several times

Happy to try and help if I know at what point its failing.

Note my update: Tuya doesnt support the Yaml any more and you have to configure each DPS using the Tuya Local.

Just so I know where you are up to . If you have Tuya local setup and you should see following in your HA intergrations.
image

If you havn’t already then you use ID and local Key when you add a new device by selecting Configure.

image

Click Submit

If everything is set correctly on your Tuya IoT Platform. you should see your device in the list to add.
Sorry Can’t show you mine as they are removed from the list when successfully installed.

The basic workflow is.

  • Connect to WX8 via Tuya smart app (Sound like you have done this)

  • Setup Tuya IoT Platform to connect the device (You have Key and Id so assume you have this)

  • Install HACS and Tuya Local

  • Add Device using Configure

  • Edit Device using Configure to add the DPS

  • Create a sensor if you need it but this is not essential

If you could give me a sense of what point you have working I’ll see if I can help

Apologies if this has already been worked out and reported, but I didn’t see it anywhere. I’ve just noticed that DPS 121 appears to align with the amount of time remaining on the station it is currently watering.