Sinope Line Voltage Thermostats

@claudegel Have you made any progress with limiting the polling? Sinope banned my IP and reached out to me to let me know I was polling to much. I disabled it for now till I can figure out how to limit the polling this is what they asked me to limit it to “limit your requests to a maximum of 10 requests per minute and not to access information from each of your devices more than once every 15 minutes”

also what did you mean by?

I’ve added the following line in sinope.py

SCAN_INTERVAL = timedelta(seconds=900)

to reduce polling frequency.
Neviweb also lockmy account before I change this line and I’ve asked them to unlock

I’m working on a direct connection to the rooter so we won’t need to poll neviweb. I need to register a dummy device to the rooter and then I’ll be able to get info from other devices and send command to them without restriction. The dummy device registration need to be done manually the first time to get the key from the rooter. Then it can be inserted in HA script to poll the rooter instead of neviweb.

1 Like

I received the nasty gram from Sinope as well today. I added in the SCAN_INTERVAL = timedelta(seconds=900) under the REQUESTS TIMEOUT line in the sinope.py file and have restarted homeassistant. Hope that keeps the ban away!

Edit - It looks like my IP was banned. I can’t get to the site on my Wifi, but can through my phone. Sigh…

I got mine back after I reply to neviweb saying that I’m developing sinope component for HA and adding SCAN_INTERVAL = timedelta(seconds=900)

Thankfully I got your fix in before they banned my IP. Thanks for that @claudegel. Agreed the way to avoid this is work with these devices locally instead of their API. Looking forward to seeing what you’re able to spin up.

Unfortunately my fix didn’t make it so I RTFM a little bit and found two way to change scan interval

first in the configuration.yaml add the following for each sinope platform; thermostat, light, dimmer and switch

scan_interval: 900

ex:

climate:

  • platform: sinope
    username: !secret climate_username
    password: !secret climate_password
    gateway: !secret climate_gateway
    scan_interval: 900

then in each sinope.py file add the following two lines :

from datetime import timedelta
from homeassistant.helpers.event import track_time_interval

I’ll test it and let you know

1 Like

Look like it work. I’ve uploaded the changes to my git

GitHub - claudegel/sinope-1: Neviweb Custom Component for Home Assistant to manage devices connected via GT125

Will implement this, thanks @claudegel. I reached out to Sinope today about their progress on a local way to call devices. Here is the response I received:

Hello,
We do not have any update on our local solution yet, but with our API documentation you can create your own integration system.
We are working on our new servers to help the configuration and reduce the influence of heavy request send our actual servers.

Hi, I’m working on a local way to access the router directly. I’just need a little more time as I was very busy lately. I’ve something that work in java but need to port it to python for HA.

Appreciate it! I look forward to seeing your solution. I thought about trying to sniff the traffic to see if I could impersonate Neviweb but sadly I haven’t had much time either to implement such thing either.

Hello, community. I read parts of this discussion and would like to confirm - is this only relevant to the non-Zigbee compatible Sinope thermostats?

I’m looking to buy their newer line-voltage product that supports Zigbee:

This should be easier to integrate into a Zigbee-centric setup, is this correct?

Thank you!

Correct, this discussion is mostly about the Neviweb Sinope devices. The zigbee devices should be much easier to setup but I have no experience with them.

Hi Claude,

Thanks for time, I installed the custom components and it works fine except for one thermostat. I have a floor heating thermostat in my main bathroom (model TH1300RF) which is not visible in HA. Is this normal ? If not, how can I help you figure out what’s going on ? Logs ?

For the TH1300RF I need to make few changes in the climate/sinope.py
I need to find out the device type.

Ok find it. floor thermostat TH1300RF are type 20 and low voltage TH1400RF are type 21.
I’ve uploaded file sinope_floor.py on my github. Please test and if it work like the basic thermostat we can put all three thermostat type in one file.

to test add in configuration.yaml

climate:
  • platform: sinope_floor
    username: !secret climate_username
    password: !secret climate_password
    gateway: !secret climate_gateway
    scan_interval: 900

put the file sinope_floor.py under custom_components/climate/

My link to github is posted above

1 Like

Let me know if it work. I don’t have TH1300RF or TH1400RF installed to test

Excellent !! It works like a charm. I took your suggestion and replace the following line in the sinope.py file

Before : if device[“info”][“type”] == 10:
After : if device[“info”][“type”] == 10 or device[“info”][“type”] == 20 or device[“info”][“type”] == 21:

Merci Claude et bonne soirée !!!

Great I’ll merge sinope_floor into the other sinope.py

Ok everything is merged for the thermostat

Is it possible to send a mode command instead of a temperature? I do have schedule i want to resume once everybody is home. I would like to switch mode in between stop, manual and auto

P.S.: Parle Francais