Sinope Line Voltage Thermostats

I took a quick look at the quirks code for the TH1300ZB. Could it be not working because of a typo in the MODELS_INFO line (TH11300ZB)?

class SinopeTH1300ZB(SinopeTechnologiesThermostat):
    """TH1300ZB thermostat."""
    signature = {
        # <SimpleDescriptor endpoint=1 profile=260 device_type=769 device_version=1
        # input_clusters=[0, 3, 4, 5, 513, 516, 1026, 1794, 2820, 2821, 65281]
        # output_clusters=[10, 25, 65281]>
        MODELS_INFO: [(SINOPE, "TH11300ZB")],

I fixed this typo locally and it appears to work with the quirks being applied and I’m able to set the outdoor_temp attribute!

I created a pull request for the change:

Nice catch! That should do it.

I assume you found where the quirk is displayed, but here it is for others having issues.

Sorry guys this was my typo. TH11300ZB -> TH1300ZB
Too much wine that night when I’ve sent the PR :slight_smile:

Here’s the automation I’ve been using for displaying the outside temp.

- alias: Heat - OutdoorTemp
    - platform: state
      entity_id: sensor.temperature
    - repeat:
        count: "{{thermostats|length}}"
          - service: zha.set_zigbee_cluster_attribute
              ieee: "{{ thermostats[repeat.index-1] }}"
              endpoint_id: 1
              cluster_id: 0xff01
              cluster_type: in
              attribute: 0x0010
              value: "{{ ( trigger.to_state.state|float * 100 ) |int }}"

Just list all your ieee in the thermostats variable and it will update all thermostats every time the temperature for the trigger changes. I’ve been using it with environment Canada for 10 thermostats and it’s been rock solid.


@EtienneMD in your PR please change line 234
MODELS_INFO: [(SINOPE, "TH1123ZB"), (SINOPE, "TH1124ZB"), (SINOPE, "TH1500ZB")],
This one behave the same as the first two.

Okay doing that now

And leave two empty lines before your first added line

class SinopeLineThermostats(SinopeTechnologiesThermostat):`

I ran Black yesterday, I believe that took care of it. Thanks for your help on this, really appreciated.

PR merged this morning, should be available in the next release

Thank you @EtienneMD . I hope the PR from @bneate will also be merged in the same release

@claudegel Merci beaucoup for your awesome work.
I installed your sinope custom components for the gt125, it’s working great.

I have a question regarding the automation.
I deleted the GT125 from NeviWeb but the thermostat were still updated according to the schedule I set up on NeviWeb. I added them again on Neviweb and I cleared their schedules.
Is there a way to push schedule to the thermostat using HA?

Right now, I can schedule using automation playing with the HVAC mode Heat/Off/Auto.

Again, awesome work.

Yes before unplugging your devices from Neviweb you need to flush all schedules. Sinope never disclose how to send schedule to the devices. But it is useless as HA automation is a lot more powerful to manage your devices. In auto HVAC mode your device will run the stored schedule. If you have flushed all of them then the auto mode is useless. I prefer to change the set point temperature or to turn off the device. You can also change temperature set point according to specific event.
If you want to create schedule for your devices you can also install scheduler component from HACS

It is easy to create schedule for all device type.

@bneate PR have been approved and should be merge soon so everything should work in next release.

Merci, je vais regarder ça :slight_smile:

Today I’ve added support to Sedna valve in zigbee mode. The valve was already supported in wifi mode. In zigbee mode, connected to the GT130, you will need to connect all leak sensor to the GT130 also. You will also need to set automation in Neviweb to close the valve when leak are detected by sensor. Or you can add those automations directly in HA.
Sedna valve is also supported in ZHA but battery level is not working. Still working on this.

Please wait before upgrade to HA 2021.5.0 there is a change in package astral that prevent sinope-GT125 to load. I’ll try to fix it asap

OK I just pushed a new release that will fix the astral changes and allow sinope to load correctly on HA restart

Hi claude! I don’t know if this is the right place but I’ll try anyway…

I have a Flextherm FLP55 thermostat connected to Neviweb (without any module)
I was able to control it in home assistant but about 2-3 months ago it seems to have stopped working… I finally have some time to try to troubleshoot it and I get this error in logs…

This error originated from a custom integration.

Logger: homeassistant.setup
Source: custom_components/neviweb130/
Integration: neviweb130 (documentation)
First occurred: 9:13:12 AM (1 occurrences)
Last logged: 9:13:12 AM

Error during setup of component neviweb130
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/”, line 248, in _async_setup_component
result = await task
File “/usr/local/lib/python3.8/concurrent/futures/”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/config/custom_components/neviweb130/”, line 74, in setup
data = Neviweb130Data(hass_config[DOMAIN])
File “/config/custom_components/neviweb130/”, line 97, in init
self.neviweb130_client = Neviweb130Client(username, password, network)
File “/config/custom_components/neviweb130/”, line 123, in init
File “/config/custom_components/neviweb130/”, line 172, in __get_network
if network[“name”] == self._network_name:
TypeError: string indices must be integers

I just updated the integration but I get the same error.

Thank you very much!