Sinope Line Voltage Thermostats

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/init.py:172
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/setup.py”, line 248, in _async_setup_component
result = await task
File “/usr/local/lib/python3.8/concurrent/futures/thread.py”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/config/custom_components/neviweb130/init.py”, line 74, in setup
data = Neviweb130Data(hass_config[DOMAIN])
File “/config/custom_components/neviweb130/init.py”, line 97, in init
self.neviweb130_client = Neviweb130Client(username, password, network)
File “/config/custom_components/neviweb130/init.py”, line 123, in init
self.__get_network()
File “/config/custom_components/neviweb130/init.py”, 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!

Hi @bergy218, you are at the right place. If your Flextherm is supported by Neviweb there is no reason it is not supported by HA. FLP55 is a wifi thermostat. When you add it to Neviweb you must add it in a network. The name of the network is written on the top of the first screen when you log into Neviweb. You may have more then one network.
That thermostat should be supported in the neviweb130 HA custom component.
In your log you should see a line near the top saying:
[custom_components.neviweb130] Successfully logged in
Next line will tell you how many network are found:
[custom_components.neviweb130] Number of networks found on Neviweb: 1
It could be more then 1
If login is successful, please post your HA log, the line with:
[custom_components.neviweb130] Selecting xxxxxxxx network among: [{'id': 12345, 'location$id': None, 'group$id': None, 'name': 'xxxxxxxx', 'postalCode': 'H0H0H0'.......
your network name is the xxxxxxxx
Your log is saying that there is a problem with your network name. That xxxxxxxx name must be written in your configuration.yaml file like this:

neviweb130:
  username: 'neviweb_login_or_email'
  password: 'neviweb_password'
  network: 'xxxxxxxx'
  scan_interval: 360

Then when this is working we will be able to find out what is the model number of your thermostat.

Sorry @bergy218 the network name is your location name in Neviweb where you have your thermostat.

Flextherm floor thermostat FLP55 is now supported in neviweb130.
Have fun.

Hi Claude,

I’m using the neviweb integration, as I only have the wifi thermostat and no hub. It’s worked beautifully until the last day or so, when it stopped showing accurate info in home assistant, and stopped being able to set state on the thermostat. The neviweb app is working fine. I tried turning on logging, but don’t know if this is the right way:

logger:
  default: warning
  logs:
    custom_components.neviweb: debug

This is the latest error in the log.

2021-06-08 08:17:34 ERROR (MainThread) [homeassistant.core] Error executing service: <ServiceCall climate.set_hvac_mode (c:b34cf460f596de40b7e85bdefa9c4e8b): entity_id=['climate.kitchen_thermostat'], hvac_mode=off>
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/aiohomekit/controller/ip/pairing.py", line 94, in _ensure_connected
    await asyncio.wait_for(self.connection.ensure_connection(), 10)
  File "/usr/local/lib/python3.8/asyncio/tasks.py", line 501, in wait_for
    raise exceptions.TimeoutError()
asyncio.exceptions.TimeoutError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/core.py", line 1497, in catch_exceptions
    await coro_or_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1516, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 213, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 658, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 726, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 695, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/climate.py", line 374, in async_set_hvac_mode
    await self.async_put_characteristics(
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/__init__.py", line 100, in async_put_characteristics
    return await self._accessory.put_characteristics(payload)
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/connection.py", line 444, in put_characteristics
    results = await self.pairing.put_characteristics(characteristics)
  File "/usr/local/lib/python3.8/site-packages/aiohomekit/controller/ip/pairing.py", line 250, in put_characteristics
    await self._ensure_connected()
  File "/usr/local/lib/python3.8/site-packages/aiohomekit/controller/ip/pairing.py", line 96, in _ensure_connected
    raise AccessoryDisconnectedError(
aiohomekit.exceptions.AccessoryDisconnectedError: Timeout while waiting for connection to device
2021-06-08 08:17:44 ERROR (MainThread) [homeassistant.core] Error executing service: <ServiceCall climate.set_hvac_mode (c:450b66c6eba480a1f9aecf8e0803d219): entity_id=['climate.kitchen_thermostat'], hvac_mode=off>
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/aiohomekit/controller/ip/pairing.py", line 94, in _ensure_connected
    await asyncio.wait_for(self.connection.ensure_connection(), 10)
  File "/usr/local/lib/python3.8/asyncio/tasks.py", line 501, in wait_for
    raise exceptions.TimeoutError()
asyncio.exceptions.TimeoutError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/core.py", line 1497, in catch_exceptions
    await coro_or_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1516, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 213, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 658, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 726, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 695, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/climate.py", line 374, in async_set_hvac_mode
    await self.async_put_characteristics(
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/__init__.py", line 100, in async_put_characteristics
    return await self._accessory.put_characteristics(payload)
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/connection.py", line 444, in put_characteristics
    results = await self.pairing.put_characteristics(characteristics)
  File "/usr/local/lib/python3.8/site-packages/aiohomekit/controller/ip/pairing.py", line 250, in put_characteristics
    await self._ensure_connected()
  File "/usr/local/lib/python3.8/site-packages/aiohomekit/controller/ip/pairing.py", line 96, in _ensure_connected
    raise AccessoryDisconnectedError(
aiohomekit.exceptions.AccessoryDisconnectedError: Timeout while waiting for connection to device

Hi Paul,

Your wifi thermostat is connected to Sinopé’s Neviweb. Then in HA what do you use to get the data. Sinopé wifi thermostats are supported via my neviweb130 custom_component. In the log attached there is nothing about the neviweb130 custom_component.

To get logging add this to your configuration.yaml

logger:
  default: warning
  logs:
    homeassistant.custom_components: debug
    custom_components.neviweb130: debug

My neviweb custom_component is for the old mi-wi devices from Sinopé.
If you have also this component add
custom_components.neviweb: debug

What is your configuration in configuration.yaml. It should be like this:

neviweb130:
  username: "email"  ## your email to log into Neviweb
  password: "password"  ## your password
  network: "location name"  ## your location in Neviweb
  scan_interval: 360

Check this and send your log. You should have on the few first line of your log:

[homeassistant.loader] We found a custom integration neviweb130.....
[custom_components.neviweb130] Login response: {'user': ...
[custom_components.neviweb130] Successfully logged in
[custom_components.neviweb130] Number of networks found on Neviweb: 1

I realized that I’m using the HomeKit integration which doesn’t have anything to do with this. Sorry, my bad. I really don’t know what I’m doing with this stuff.

Why don’t you switch to neviweb130. Available via HACS

Looking through it. Do I need a GT130 gateway? Because I just have the wifi TH1123WF and no hub.

Edit: No you do not need a gateway. I got it working. Figuring out what “Network” meant in the configuration (the top text of the page in the Neviweb app) was the key bit I needed. Reading the manual works. Thanks for your time Claude, you’ve been a help. :grinning: