Sinope Line Voltage Thermostats

Same issue here. Zigbee2mqtt Edge 1.28.4-dev commit: ba2d9ae

Just wrecked all the heating automations in my house.

Work around for now is to create a template sensor:

sensor:
  - platform: template
    sensors:
      thermostat_bar_local_temperature:
        unit_of_measurement: '°C'
        value_template: "{{ state_attr('climate.thermostat_bar', 'local_temperature') }}"

I am not used to home assistant. But made some change to sinope z2m code , you are able to get the info of all the sensors with the last dev?

It was working with 586dda4 ?

Claude was very helpful a few weeks ago, and as a result I’ve replaced our sunroom thermostat with a Sinope TH1124ZB. (The thermostat it replaced was an Ouellet model from about 30 years ago. But it did support home automation! I could enable and disable the temperature setback using X10. The X10 functionality still works, but the thermostat no longer maintains temperature reliably.)

I had no Zigbee in the house, and bought a SONOFF Zigbee 3.0 USB Plus Gateway 3.x.0. It took me about 10 minutes to get the thermostat and the gateway set up and communicating with HA, and most of that was because I’ve never used HA before either. So kudos to all involved in making this stuff work – great stuff!

But there’s something I’m missing, still, I think. I can’t find any way to change the display units from C to F. The over-the-wire units all seem to be in Fahrenheit (I’m accessing the thermostat with shell scripts that use HA’s REST api). I can get the current temperature, and I can set and retrieve the setpoint, but I can’t find the parameter (attribute?) that controls the display units.

Anyone have a pointer?

paul

Hi @vinz31 to have the local temperature displayed on your thermostat you need to send it at least once per hour or the thermostat will revert to setpoint temperature. So you need to make an automation that will send local temperature to the thermostat at least each hour but you can send it more frequently if you need

@cyrielrct, j’ai bien hâte de recevoir le miens aussi

Hi, to change the temperature unit it is :
0x0204 0x0000 TemperatureDisplayMode 0=celcius, 1=farenheight

I don’t see anything like that if I list the available REST API services, as shown at REST API | Home Assistant Developer Docs .

So I’ve been looking in the wrong place – I guess the problem is that the REST API doesn’t export the API that I need?

Where would I go, in HA, to get access to the TemperatureDisplayMode attribute?

paul

What is your thermostat model. Could you add some debug in HA for zigbee or ZHA
Need to know how your thermostat is reporting itself during pairing.
In configuration.yaml add this

logger:
  default: warning
  logs:
    homeassistant.components.zha: debug
    zigpy.zdo: debug
    zigpy.application: debug

Than restart HA and try to pair your thermostat. Report relevant log for your device

Hi @BenRoc1979, look like your TH1500RF do not support attribute

airFloorMode

A quick fix is to comment out line 634 in climate.py and restart HA.
But to be able to make a patch for your TH1500RF I’ll need some more info
Please post the complete line of your log containing this for your TH1500RF,
[custom_components.neviweb.climate] Setting up neviweb climate …
I need the type number and the model number. For the model number you can find it in Neviweb in the info section for your thermostat

Ah, I think I found what I was missing. I didn’t know about the zha “service”, and set_zigbee_cluster_attribute. I now see what needs to be done. I’ll report back when I (hopefully!) succeed.


Edited 20 minutes later: Success!

curl --silent --show-error -X POST -H 'Authorization: Bearer MYTOKEN' -H 'Content-Type: application/json' -d '{"ieee": "50:0b:91:40:00:02:c0:5b", "endpoint_id": "1", "cluster_id": "516", "cluster_type": "in", "attribute": "0", "value": "1"}' http://hosta:8123/api/services/zha/set_zigbee_cluster_attribute

If you need to find out more about Sinopé zigbee devices clusters and attributes I have a list in the doc of GitHub - claudegel/sinope-zha: This is a custom quirks for sinope zigbee devices for testing before it is added to zha-device-handlers. It also explain how to setup those quirks in Home Assistant to use and test them before they are merged in zha-device-handlers

2 Likes

Hi Claude,

I’m currently trying to add support for the water valve VA4220ZB & VA4221ZB on Z2M.
I own the VA4220ZB and made an external converter to make it work. I’m at a point where almost everything works: The valve open and closes, report it’s open or closed status, it’s position in %, link quality and battery low status. The only thing not working is the battery remaining % which always reports 0%

I looked at your devices clusters and attributes list and noticed in the table under Switch valve VA4200ZB VA4201ZB, VA4220ZB, VA4221ZB that for the cluster 0x0001 (power cfg) the attribute for BatteryPercentageRemaining is not in the table. Is it because the valve doesn’t support this attribute? When I poll this attribute from the Dev console, its outputs 0%


image

Do you know if the water valve is supposed to report its battery percentage?

Thanks,

Alain

Btw I have a opened a github issue to request new device support on z2m

Hi Alain
the attribute is
cluster_id = 0x0702, Metering
attribute = 0x0201: ZCLAttributeDef(“remaining_battery_life”, type=t.uint8_t, access=“r”),
But that cluster is not supported by the sedna valve.
In neviweb130 I do the following calculation to evaluate the remaining % of battery:
int((min(voltage,6.0)-3.0)/(6.0-3.0) * 100) this should give you a good idea

1 Like

Can I ask about the future of the quirks?

I assume that at some point, your quirks (or, at least, the well-tested ones) will migrate into the ZHA code base, correct? Do you know when that will be?

I guess the quirks will keep working, at that point, since they use a sort of “side-door” API. But of course it would be cleaner for users to switch to the “proper” API.

I’ll try that,

Thank you
Bon week-end

Hi @pgf, I test the quirks in my sinope-zha and as soon as It is stable I send a PR to ZHA device handler to have those changes added into ZHA. As of today my sinope-zha is all included in ZHA.
You can still keep sinope-zha in HA to be up to date for the sinopé zigbee devices. It work parallel to ZHA.
Today I receive my RM3500ZB and I’m working to add it in my sinope-zha. then I’ll push a PR in Zha device handler.

I see. Thank you, that’s encouraging! But for some reason I haven’t been able to find the complete Sinope support under ZHA.

If I visit Settings → Devices → Sinope Technologies TH1124ZB, I can find no mention of the Celsius/Fahrenheit display setting, nor the display brightness always/on-demand setting.

What am I missing? Where would I get access to those attributes, other than in quirks? I feel like there’s something basic I don’t understand about how HA devices are used.

I’m adding support in ZHA for the Calypso controler and I’ll need to sniff the line to find all cluster for Calypso.
But for the two parameters you are looking for theyare already supported in ZHA and are not specific cluster for Sinopé
cluster attribute description values
0x0201 0x0402 BacklightAutoDimParam OnDemand: 0, Always: 1
0x0204 0x0000 TemperatureDisplayMode 0=celcius, 1=farenheight

you can use set_zigbee_cluster_attribute service

One of my thermostat is controlling a fan heater. I changed the value in the neviweb app. Now that I changed to ZHA for speed in home-assistant, how can I set that parameter?
I dont see it in the neviweb130 or the zha quirks.

Is it because it’s not a parameter, but more a setting for the heat and cooling time out ?

No it should be there. If you can set that parameter in Neviweb on a zigbee device then it can be set in ZHA. We only need to find out what is the cluster for that setting. Could be under Sinopé manufacturer cluster or could be already an existing cluster in ZHA.
What is the thermostat model ?