Sinope Line Voltage Thermostats

I’m using Firefox at the moment but no issue to use any other browser

This is in Neviweb

Issue opened

Have there been any firmware updates for the TH1300ZB?

Hi @kramttocs ,

Actually my TH1300ZB firmware is at 1.1.9

Mine shows 0x01000900.
Can it only be updated via neviweb?

Yes the Sinopé devices can be updated only in Neviweb or maybe Hubitat not sure for the latest.

I have finally installed HA on a virtual machine on my laptop to test integrating Sinope. But I’m very confused by this thread… seems like most people use Sinope controllers and use HA to drive that controller instead of communicating directly with the thermostats?

I can change the the set temperature but cannot set outside temperature. I don’t know anything about HA but I now see that it was perhaps overly optimistic to expect simply things to work and for have its info be displayed on the dashboard board lol :slight_smile: Anyway, happy to test/debug if you’re still interested in these models.

Do you have a GT130 or you are using a zigbee gateway like Conbee II. I need to know more about your setting to help you

Hi Claude, I have a sonoff zigbee dongle plus. I am using Zigbee2MQTT but open to any suggestions :slight_smile:

Hi @bafonso, Most Sinopé devices are supported by Z2M but for my point of vue ZHA is better.
To get outside temperature on your thermostat you need first to choose a weather source. It could be local, I’m using a MC3100ZB from Sinopé with a floor temperature sensor ( the cable is long enough to goes outside) that give me the outside temperature. Then I create a sensor to catch the data temperature from the MC3100ZB.

- sensor:
      - name: "outdoor_temp"
        unit_of_measurement: '°C'
        device_class: temperature
        unique_id: sensor.outdoor_temp
        state_class: measurement
        state: "{{ state_attr('switch.neviweb130_switch_mc3100zb', 'Extern_temperature') }}"

Next I create an automation that send that temperature to my zigbee thermostat

- id: Heat-OutdoorTemp
  alias: Heat-OutdoorTemp
  trigger:
    - platform: state
      entity_id: sensor.outdoor_temp
  variables:
    thermostats:
      - 50:0b:91:40:00:02:26:6d  <--- ieee of your thermostat. can add more if you have many
      - 38:5c:fb:ff:fe:d9:ea:f4
  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 }}"
  mode: single

You can also use an external weather provider like Met.no that you can install in devices and services section of parameters.

For Z2Q it’s almost the same as you need a weather source and create an automation to send that temperature to your thermostat.

see Sinopé TH1123ZB control via MQTT | Zigbee2MQTT It’ s the same for the TH1124ZB-G2

1 Like

Hello,
I would like to be able to adjust the brightness of the thermostats after a certain time in the evening, especially in the bedrooms. I saw that there is an option to set the backlight. I tried changing the mode with a button, for debugging…
But I can’t seem to do it. I don’t know what I’m missing, or what I’m doing wrong.
Can you guide me on how to do it?
Here is the code for my automation :

alias: Btn Chevet Long
description: ""
trigger:
  - platform: device
    device_id: d6e8d69ee526ee20e77858e9610c72e4
    domain: homekit_controller
    type: button1
    subtype: long_press
condition: []
action:
  - service: neviweb130.set_backlight
    data:
      backlight: "auto"
    target:
      entity_id: climate.neviweb130_climate_th1123wf_4
mode: single

Thank you in advance!

Hi you need to change backlight to backlightAdaptive

alias: Btn Chevet Long
description: ""
trigger:
  - platform: device
    device_id: d6e8d69ee526ee20e77858e9610c72e4
    domain: homekit_controller
    type: button1
    subtype: long_press
condition: []
action:
  - service: neviweb130.set_backlight
    data:
      type: "zigbee"
      backlightAdaptive: "auto"
    target:
      entity_id: climate.neviweb130_climate_th1123wf_4
mode: single

Check in dev-tool services to have the wright parameters

Thank you for your quick response.
I tried your code, but it doesn’t work.
Perhaps I didn’t explain the situation well.

If I look at the developer tools → states
I would like to change the backlight parameter from ‘alwaysOn’ to ‘onUserAction’.


Sorry I just notice that your thermostat is a wifi so try this one.

alias: Btn Chevet Long
description: ""
trigger:
  - platform: device
    device_id: d6e8d69ee526ee20e77858e9610c72e4
    domain: homekit_controller
    type: button1
    subtype: long_press
condition: []
action:
  - service: neviweb130.set_backlight
    data:
      type: "wifi"
      backlightAdaptive: "auto"
    target:
      entity_id: climate.neviweb130_climate_th1123wf_4
mode: single

Hi Claude,

After using your code, when I look to the Automation Traces page, I see this error :

Try this

alias: Btn Chevet Long
description: ""
trigger:
  - platform: device
    device_id: d6e8d69ee526ee20e77858e9610c72e4
    domain: homekit_controller
    type: button1
    subtype: long_press
condition: []
action:
  - service: neviweb130.set_backlight
    data:
      entity_id: "climate.neviweb130_climate_th1123wf_4"
      type: "wifi"
      backlightAdaptive: "auto"
mode: single

Now, I’m not getting any errors and the automation is running normally.
But nothing changes, neither on the thermostat, nor on the mobile app interface, nor in the Home Assistant variables…

Ok check in file hoe-assistant.log for line like this:

[custom_components.neviweb130] backlight.data = {'backlightAdaptive': 'alwaysOn'}
2023-11-14 12:12:52.478 DEBUG (SyncWorker_5) [custom_components.neviweb130] Data = {'backlightAdaptive': 'alwaysOn'}
2023-11-14 12:12:52.478 DEBUG (SyncWorker_5) [custom_components.neviweb130] Request response = 200
2023-11-14 12:12:52.479 DEBUG (SyncWorker_5) [custom_components.neviweb130] Json Data received= {'backlightAdaptive': 'alwaysOn'}
2023-11-14 12:12:52.479 DEBUG (SyncWorker_5) [custom_components.neviweb130] Content = b'{"backlightAdaptive":"alwaysOn"}'
2023-11-14 12:12:52.479 DEBUG (SyncWorker_5) [custom_components.neviweb130] Text = {"backlightAdaptive":"alwaysOn"}

It could be alwaysOn or onUserActive
or it is possible that Neviweb change The words for this service. I don’t have wifi to test but the service work for my zigbee

Look like Sinopé change the parameter onUserActive to onUserAction.
This is probably why it is not working. You should be able to find an error in your log as mentioned above.

I’ll create a new branch on my git to sold that issue. please open an issue on GitHub - claudegel/sinope-130: Neviweb130 custom component for Home Assistant to manage devices connected via a GT130 and wifi devices from Sinopé so we can test those changes

Here is the result:

2023-11-14 17:18:49.678 DEBUG (SyncWorker_3) [custom_components.neviweb130] backlight.data = {'backlightAutoDim': 'onUserActive'}
2023-11-14 17:18:49.911 DEBUG (SyncWorker_3) [custom_components.neviweb130] Data = {'backlightAutoDim': 'onUserActive'}
2023-11-14 17:18:49.911 DEBUG (SyncWorker_3) [custom_components.neviweb130] Request response = 200
2023-11-14 17:18:49.912 DEBUG (SyncWorker_3) [custom_components.neviweb130] Json Data received= {'error': {'code': 'VALINVLD', 'data': {'value': 'onUserActive', 'name': 'backlightAutoDim'}}}
2023-11-14 17:18:49.912 DEBUG (SyncWorker_3) [custom_components.neviweb130] Content = b'{"error":{"code":"VALINVLD","data":{"value":"onUserActive","name":"backlightAutoDim"}}}'
2023-11-14 17:18:49.912 DEBUG (SyncWorker_3) [custom_components.neviweb130] Text = {"error":{"code":"VALINVLD","data":{"value":"onUserActive","name":"backlightAutoDim"}}}
2023-11-14 17:18:49.912 DEBUG (SyncWorker_3) [custom_components.neviweb130] Service error received: {'error': {'code': 'VALINVLD', 'data': {'value': 'onUserActive', 'name': 'backlightAutoDim'}}}, resending request 2
2023-11-14 17:18:50.181 DEBUG (SyncWorker_3) [custom_components.neviweb130] Data = {'backlightAutoDim': 'onUserActive'}
2023-11-14 17:18:50.181 DEBUG (SyncWorker_3) [custom_components.neviweb130] Request response = 200
2023-11-14 17:18:50.181 DEBUG (SyncWorker_3) [custom_components.neviweb130] Json Data received= {'error': {'code': 'VALINVLD', 'data': {'value': 'onUserActive', 'name': 'backlightAutoDim'}}}
2023-11-14 17:18:50.182 DEBUG (SyncWorker_3) [custom_components.neviweb130] Content = b'{"error":{"code":"VALINVLD","data":{"value":"onUserActive","name":"backlightAutoDim"}}}'
2023-11-14 17:18:50.182 DEBUG (SyncWorker_3) [custom_components.neviweb130] Text = {"error":{"code":"VALINVLD","data":{"value":"onUserActive","name":"backlightAutoDim"}}}
2023-11-14 17:18:50.182 DEBUG (SyncWorker_3) [custom_components.neviweb130] Service error received: {'error': {'code': 'VALINVLD', 'data': {'value': 'onUserActive', 'name': 'backlightAutoDim'}}}, resending request 3
2023-11-14 17:18:50.421 DEBUG (SyncWorker_3) [custom_components.neviweb130] Data = {'backlightAutoDim': 'onUserActive'}
2023-11-14 17:18:50.421 DEBUG (SyncWorker_3) [custom_components.neviweb130] Request response = 200
2023-11-14 17:18:50.421 DEBUG (SyncWorker_3) [custom_components.neviweb130] Json Data received= {'error': {'code': 'VALINVLD', 'data': {'value': 'onUserActive', 'name': 'backlightAutoDim'}}}
2023-11-14 17:18:50.421 DEBUG (SyncWorker_3) [custom_components.neviweb130] Content = b'{"error":{"code":"VALINVLD","data":{"value":"onUserActive","name":"backlightAutoDim"}}}'
2023-11-14 17:18:50.421 DEBUG (SyncWorker_3) [custom_components.neviweb130] Text = {"error":{"code":"VALINVLD","data":{"value":"onUserActive","name":"backlightAutoDim"}}}
2023-11-14 17:18:50.422 DEBUG (SyncWorker_3) [custom_components.neviweb130] Service error received: {'error': {'code': 'VALINVLD', 'data': {'value': 'onUserActive', 'name': 'backlightAutoDim'}}}, resending request 4
2023-11-14 17:18:50.428 DEBUG (SyncWorker_4) [custom_components.neviweb130.climate] Updated attributes for neviweb130 climate MN-Bureau: ['roomSetpoint', 'outputPercentDisplay', 'roomTemperature', 'roomSetpointMin', 'roomSetpointMax', 'roomTemperatureDisplay', 'timeFormat', 'temperatureFormat', 'drStatus', 'drSetpoint', 'loadConnected', 'loadWattOutput1', 'loadWatt', 'wifiRssi', 'keyboardLock', 'config2ndDisplay', 'setpointMode', 'occupancyMode', 'backlightAutoDim', 'earlyStartCfg', 'roomSetpointAway', 'config2ndDisplay', 'rssi']
2023-11-14 17:18:53.128 DEBUG (SyncWorker_4) [custom_components.neviweb130.climate] Updating neviweb130 climate MN-Bureau (2.7 sec): {'roomSetpoint': 20, 'outputPercentDisplay': {'percent': 0, 'sourceType': 'heating'}, 'roomTemperature': {'error': None, 'value': 22.32}, 'roomSetpointMin': 5, 'roomSetpointMax': 30, 'roomTemperatureDisplay': {'status': 'on', 'value': 22.5}, 'timeFormat': '24h', 'temperatureFormat': 'celsius', 'drStatus': {'drActive': 'off', 'optOut': 'off', 'setpoint': 'off', 'powerAbsolute': 'off', 'powerRelative': 'off', 'onOff': 'off'}, 'drSetpoint': {'status': 'off', 'value': None}, 'loadWattOutput1': 1290, 'loadWatt': 1290, 'wifiRssi': -44, 'keyboardLock': 'unlock', 'config2ndDisplay': 'default', 'setpointMode': 'manual', 'occupancyMode': 'none', 'backlightAutoDim': 'alwaysOn', 'earlyStartCfg': 'off', 'roomSetpointAway': 15}

I add an issue :