Sinope Line Voltage Thermostats

It will be something like this in the dev tool service when the ZHA update is included in HA:
service: zha.set_zigbee_cluster_attribute
data:
ieee: 00:0d:6f:00:05:7d:2d:34 (your device ieee)
endpoint_id: 1
cluster_type: in
attribute: 0x0114
value: 1
manufacturer: 65281

65281 is 0xff01
value is 1 for 12h and 0 for 24h
I’m working on a lovelace card to make it easy to configure the Sinopé devices but it is too soon to show something.

A card would be fantastic. Thanks for making that code change!

Is it ‘manufacturer’ or should that be cluster_id? I don’t have a good grasp on when one would use the manufacturer attribute or not.

This time format change will be persistent, right? Not something lost if power is lost?

Really excited that you are actively making this more feature complete. Can’t help but wonder what their app looks like but not sure I can justify getting a gateway for it.

outside temp and timeformat are attributes of the Sinopé manufacturer cluster 0xff01
backlightautodim is an attribute of the 0x0201 cluster

Normally you should specify the cluster, 0xff01 or 0x0201 in your automation:

 - alias: Heat-OutdoorTemp
    trigger:
      - platform: state
        entity_id: sensor.dark_sky_temperature
    variables:
      thermostats:
        - 50:0b:91:40:ad:02:24:6d  #list your devices ieee
        - 50:0b:91:40:ad:02:26:6b 
    action:
      - repeat:
          count: "{{thermostats|length}}"
          sequence:
            - service: zha.set_zigbee_cluster_attribute
              data:
                ieee: "{{ thermostats[repeat.index-1] }}"
                endpoint_id: 1
                cluster_id: 0xff01
                cluster_type: in
                attribute: 0x0010
                value: "{{ ( trigger.to_state.state|float * 100 ) |int }}"

The changes you do will survive a power lost. But outside temp need to be sent at least once per hour or the thermostat will revert to setpoint temp.

1 Like

Thanks but I was wondering about this part (bolded) in your proposed code. Is ‘manufacturer’ correct or should that be cluster_id?
Just trying to learn more about this part of zigbee I’ve never ventured into before.

Great to know about the power loss as well as the once per hour. I have my outdoor temp set on the weather integration (met.no) which I believe is every 55-65 minutes but that may be cutting it too close so will revisit.

Edit: just changed it to a time pattern of every 45 minutes :+1:

Yes 65281 is 0xff01 the manufacturer cluster for Sinopé. In dev tool services the
service: zha.set_zigbee_cluster_attribute
ask for manufacturer which is 65281
But in automation I use cluster_id: 0xff01

1 Like

Reading through this thread, I admit I’m finding myself confused on how to adjust the settings of a TH1300zb without the GT130 bridge. I was expecting to be able to go into the device and set things via the Manage Clusters button: for example, using the UserInterface cluster to adjust the thermostat to display in imperial units instead of metric. However, AFAICT setting manufacturer code overrides there has no impact on the thermostat; even setting outdoor_temp in the 0xff01 cluster doesn’t seem to actually do anything. Am I missing something? This has been an extremely long thread, so I have no doubt there’s some simple explanation somewhere that I’m missing :sweat_smile:.

Hey @333fred

  1. You can set the F vs C via the unit itself by accessing the [limited] config options there.

  2. As for the outdoor temp - Claude has his automation just a couple posts before this and it was extremely helpful in modifying it to work for me.
    Here is the one I am using:

alias: Update Laundry Room Floor Temperature
description: ''
trigger:
  - platform: time_pattern
    minutes: '45'
action:
  - service: zha.set_zigbee_cluster_attribute
    data:
      ieee: 50:0b:91:32:01:03:6b:2f
      endpoint_id: 1
      cluster_id: 65281
      cluster_type: in
      attribute: 16
      value: >-
        {{ (((state_attr('weather.home', 'temperature' ) - 32) * 5/9)|float*100)
        |int }}
mode: single

To change setting of thermostats you need some specific attributes on cluster 0xff01 (manufacturer cluster). I’ve sent a PR to add those attributes in the thermostat quircks that was merged 2 days ago into dev branch of zha-device-handler. It should be available in next ZHA update in HA
The same attributes PR was done for light quircks last week.

I just received my new thermostat, TH1400ZB (for central furnace). I installed the conbee2 usb dongle in my HomeAssistant and I also have HACS installed. I don’t have any Sinopé Gateway. What can I expect when the device will be discovered with ZHA?

What should I load to control the thermostat?

Thank you

Once your thermostat is discovered by ZHA you will find it in the left side column, dev tool
click on state and look for entity name starting with climate.. This is the entity_id of your thermostat. Remember it.
Then you should add your device in a lovelace card. Go in overview and click on the three dots in the upper right corner. Choose «edit dashboard» then in the lower right corner click on the blue button «add card»
Choose a thermostat card and follow the instruction to add your device in that card. Then you will se your thermostat in the overview and be able to play with it.
Next step will be to create automation so HA can manage your thermostat

1 Like

Ah, I see. I actually have 2 TH1300zbs and one TH1123ZB, and the 1123 doesn’t have the ability to set anything other than short/long cycle from the thermostat itself. It’s also the one I installed first, so I just assumed the 1300’s didn’t have the setting either. At least the 1300s are the ones I see more often, so they’ll be in units I understand :slight_smile:.

1 Like

Thanks Claude. Looking at the change, I’m not seeing one for the display units (ie F vs C). Is there something I can do to help add that?

The TH1300ZB is a floor thermostat so you will have short cycle or long cycle and aux. connection also. They are supported in ZHA.
As for the oC / oF it’s already in Zigpy/zha
cluster 0x0204
attribute 0x0000
Celcius = 0x00
Farenheight= 0x01
The temperature display will change on your thermostat display for C or F but in HA if setup is Metric then the thermostat temperature will be automatically converted to celcius in the overviews.

Thanks. I thought that’s what I was doing when I first commented, but clearly I was messing something up because it worked when I tried this time. I really appreciate all the work you’ve put into this thread and adding functionality to ZHA, thanks a lot.

It is how I do it, to make sure that distance was not an issue I tried it next to the Conbee module and I get the same result.

Could you tell me the firmware version you have in the Conbee? I’ll make sure I have the same.

Not Claude but I am running the latest: deCONZ_ConBeeII_0x26720700.bin.GCF

Sorry but where do you see the Conbee II firmware value. Mine is in place since many time I didn’t remember what is the port number to connect locally on the app

I’m interrested in buying Sinopé thermostats but I don’t know if I should go with the Zigbee version with the GT130 or the Wi-Fi ones.
Any pros and cons of each ?

I would prefer the Wifi version since I have no zigbee network at the moment and that would make less stuff to install and configure.

But I read that local control is only possible with the Zigbee version through the GT130 with your custom_component. And local control is very important for me.

Any recommendation before I buy ?

BTW, Big thanks to Claude for the amazing work and support behind this component. This is the reason I might switch to smart thermostats. The integration seems solid and well supported

If local control is important then it is better to go with a zigbee devices as you can buy a Conbee II usb stick and manage you device locally. They are all supported in ZHA.
With wifi thermostat you don’t need a GT130 and they are supported in my neviweb130 custom_component, but you will need internet connection to manage them

Thanks for your reply,
So your component doesn’t communicate directly with the GT130 ?
If I want local control I could only use a Conbee II and not buy the GT130 is that right ?