[UPDATE] Sinope Electric Baseboard Thermostat - full integration

Have you tried reinstalling?

Also - I can’t reproduce the problem on my end, so I can’t fix until someone sends me IDE log of what happens when it doesn’t work

Hello!

As you can see, it’s set in Celsius and when Home than Auto is set, themperature changes to 68, so in F.

Any clue where I should start looking?

thermLoad 0 Sal therm load is 0
temperature 71 Sal temperature is 71
heatingSetpoint 68.0 Sal heating setpoint is 68.0
thermMode Auto Sal therm mode is Auto
Presence Home Sal therm presence is Home
thermostatOperatingState 0 Sal thermostat operating state is
heatingSetpoint 20.0 Sal heating setpoint is 20.0 celsius

When I look at the Device info in the smartthings API, here’s what I see:

temperature: 71
heatingSetpoint: 68.0
thermostatOperatingState: idle
thermMode: Auto
thermPresence: Home
thermLoad: 0
temperatureUnit: celsius

You need to sign into your SmartThings IDE account via browser and then click Live Logging. Copy and paste the portion that comes up in response to you click the temperature format tile.

But again - before you do, have you tried uninstalling and then reinstalling?

Hello!

Installed, reinstalled. Switch to F in Neviweb profile then back to C.

Here is the log when I click in the title C. Used XXXX to hide personal info.

55895b03-4e42-4f31-9c68-f27096743b8a 12:53:27: debug My operating state is …idle
55895b03-4e42-4f31-9c68-f27096743b8a 12:53:27: debug My Presence is …Away
55895b03-4e42-4f31-9c68-f27096743b8a 12:53:27: debug My temperature is …62
55895b03-4e42-4f31-9c68-f27096743b8a 12:53:27: debug myLoad == 0
55895b03-4e42-4f31-9c68-f27096743b8a 12:53:27: debug My Mode is …Away
55895b03-4e42-4f31-9c68-f27096743b8a 12:53:27: trace getBackgroundColor(61.0)
55895b03-4e42-4f31-9c68-f27096743b8a 12:53:27: debug In null, setpoint is 61.0 and temperature is 62.
55895b03-4e42-4f31-9c68-f27096743b8a 12:53:27: debug temperatureUnit = null
55895b03-4e42-4f31-9c68-f27096743b8a 12:53:27: trace selTempSetpoint( 16.00, 16.67 ):
55895b03-4e42-4f31-9c68-f27096743b8a 12:53:27: debug *****************data.status.mode == 5
55895b03-4e42-4f31-9c68-f27096743b8a 12:53:27: debug data.status == [alarm:0, errorCode:null, rssi:45, setpoint:16.00, heatLevel:0, mode:5, temperature:16.67]
55895b03-4e42-4f31-9c68-f27096743b8a 12:53:27: debug data.deviceId == XXXX
55895b03-4e42-4f31-9c68-f27096743b8a 12:53:27: debug data.devices_list == [[id:XXXX, model:1120, wattageError:null, tempMax:24, family:1120-1, name:XXXX, wattage:1750, active:1, tempMin:5, type:10, gatewayId:XXXX, wattageOverride:null], [id:XXXX, model:1120, wattageError:null, tempMax:24, family:1120-1, name:XXXX, wattage:2000, active:1, tempMin:5, type:10, gatewayId:XXXX, wattageOverride:null], [id:XXXX, wattageError:null, tempMax:24, family:1122, name:XXXX, wattage:4079, active:1, tempMin:5, type:10, gatewayXXXX, wattageOverride:null], [id:XXXX, model:1120, wattageError:null, tempMax:24, family:1120-1, name:Sous-sol, wattage:1750, active:1, tempMin:5, type:10, gatewayId:XXXX, wattageOverride:null], [id:XXXX, model:1120, wattageError:null, tempMax:24, family:1120-1, name:Tour, wattage:500, active:1, tempMin:5, type:10, gatewayId:XXXX, wattageOverride:null]]
55895b03-4e42-4f31-9c68-f27096743b8a 12:53:27: debug data == [status:[alarm:0, errorCode:null, rssi:45, setpoint:16.00, heatLevel:0, mode:5, temperature:16.67], gatewayId:XXXX, dataAuth:[session:4ukMdg0riMEZCuKD6u9g1x8pgSmbuGbREkw0dTkF, user:[id:1763, email:XXXX, locale:fr, format:[time:24, temperature:c]]], server:https://neviweb.com/, devices_list:XXXX, wattageError:null, tempMax:24, family:1120-1, name:XXXX, wattage:1750, active:1, tempMin:5, type:10, gatewayId:XXXX, wattageOverride:null], [id:8739, model:1120, wattageError:null, tempMax:24, family:1120-1, name:XXXX, wattage:2000, active:1, tempMin:5, type:10, gatewayId:XXXX, wattageOverride:null], [id:8738, model:1122, wattageError:null, tempMax:24, family:1122, name:XXXX, wattage:4079, active:1, tempMin:5, type:10, gatewayId:XXXX, wattageOverride:null], [id:8737, model:1120, wattageError:null, tempMax:24, family:1120-1, name:XXXXl, wattage:1750, active:1, tempMin:5, type:10, gatewayId:XXXX, wattageOverride:null], [id:XXXX, wattageError:null, tempMax:24, family:1120-1, name:Tour, wattage:500, active:1, tempMin:5, type:10, gatewayId:XXXX, wattageOverride:null]], auth:[session:XXXX, user:[id:XXXX, email:XXXX, locale:fr, format:[time:24, temperature:c]]], lastPresence:Home, error:false, deviceId:XXXX, gateway_list:[[icon:1, dst:1, city:XXXX, country:Canada, id:1635, kwhCost:0.0871, timezone:-5, postalCode:XXXX, name:XXXX, macID:XXXX, active:true, longitude:-72.0683829, latitude:45.247495, deviceListUpdate:null, localAPI:0]]]
55895b03-4e42-4f31-9c68-f27096743b8a 12:53:27: debug data.gateway_list == [1635]
55895b03-4e42-4f31-9c68-f27096743b8a 12:53:27: debug data.gateway_list== [[icon:1, dst:1, city:XXXXy, country:Canada, id:XXXX, kwhCost:XXXX, timezone:-5, postalCode:XXXX, name:XXXX, macID:XXXX, active:true, longitude:-72.0683829, latitude:45.247495, deviceListUpdate:null, localAPI:0]]
55895b03-4e42-4f31-9c68-f27096743b8a 12:53:27: debug dataAuthSession == 4ukMdg0riMEZCuKD6u9g1x8pgSmbuGbREkw0dTkF
55895b03-4e42-4f31-9c68-f27096743b8a 12:53:27: info Is it login?
55895b03-4e42-4f31-9c68-f27096743b8a 12:53:27: trace isLoggedIn():
55895b03-4e42-4f31-9c68-f27096743b8a 12:53:27: trace poll():

Thanks. I’m taking a look now. It appears that everything is OK with communicating with Neviweb, so there’s only 1-2 other possibilities.

You should probably also XXXX out your user, gateway, and device ids…just to be on safe side.

Updated DTH in github repository to version 1.1b - fixed display of temperature format (i.e., Celsius or Fahrenheit). The temperature format will conform to what you have selected in Neviweb.

Hi!

Version 1c solved everything! Great work, thanks!

Gen

Version 1.3 now on Github.

This version uses SmartThings’ thermostatMode capability to control Neviweb’s mode settings, so now fully controllable from CoRE and other controllers. Also has configurable settings for “heat” and “emergency heat” mode setpoints (via DTH preferences).

1 Like

Updated to version 1.3.

I’m trying to figure out if I can remove all my schedule settings in the neviweb application to use only Core to control the temperature.

Morning: heat
During the day at work: away
Back from work: heat
Cold evening: emergency heat
Night: away
Long term vacation: off

If I enter 2 in the heat section in the SmartThings app for heat and 1 in the emergency heat, the heat setpoint will be 2 degree higher than the previous state (away) and emergency heat will be 1 degree higher than heat (which is the previous state it was in).

Am I getting it right?

Gen

@gnault - I’m on vacation, but if memory serves, both heat and emergency heat are based on the existing Setpoint. I use the Neviweb auto mode schedule, and use heat / emergency heat to increase the temperature when needed.

Thank you for this update. This is by far the best DH out there. Even smarttiles changed the tile to active color when heating and back to inactive when idle. Very cool.

1 Like

Thanks man! I appreciate it. And glad it works for you.

Hello! Been doing some tests and my idea of dropping neviweb schedule is not a good one. Heat and emergency Heat are raised from the previous value so at night, it felt as if I was in Cuba :slight_smile:

Thanks for your great work!

1 Like

I’m struggling a bit here.

I have v1.3 installed as a DH. With that done, is it possible to change a Sinope T-Stat from Home (and whatever the temp setting currently is) to Away using the SmartApp --> Energy Management --> Thermostat Auto Off (by dianoga7) app?

I want to turn all the thermostats “off” if someone coughthewifecough insists on leaving a door or window open.

I’m not familar with dianogo7’s app, but I’m guessing no. The Home / Away setting of the sinope thermostats is not a standard thermostat feature. I was able to control the Sinope Home / Away settings by use of non-standard functions: presenceHome() and presenceAway().

However, you can achieve what you want to do by using CoRE. Turning on CoRE’s expert mode will allow you to access those functions as actions in a CoRE Piston.

Hope this helps.

Tony

1 Like

I have the direct controlled ZigBee connect thermostats that I’ve linked to my SmartThings network. Can I use your device handler code with this instance? It seems that I need to have a neviweb account (which I signed up for) but I have no hub because it wasn’t necessary. Thanks for your efforts!

Is this still working for anyone? I don’t see any updates in the git repo and there was a recent change on neviweb. I believe APIs got updated, which resulted in my thermostats error logging in. I was using the app from Sinope here: https://github.com/sinopetechnologies/smartThings

I tried installing this today and just got an error. I installed the inferior device handler from Sinope’s GitHub, which connected and gave me the temperature and setpoint. Although changing the setpoint didn’t work, it’s at least connecting.

I went through Sinope’s updated GitHub, and it looks like the API change is minor. I haven’t tried to do so yet, but with some luck this device handler could be simply updated. Here are some examples of the changes.

Former login request:
POST [requestContentType: "application/x-www-form-urlencoded; charset=UTF-8"] https://neviweb.com/api/login {"email": settings.email, "password": settings.password, "stayConnected": "0"}

The login call from Sinope’s new GitHub uses JSON (may or may not still support www form) and changes the email object to username:
POST [requestContentType: "application/json; charset=UTF-8"] https://smartthings.neviweb.com/login {"username": settings.email, "password": settings.password, "interface": "neviweb", "stayConnected": true}

Previously setting the setpoint:
PUT ['Session-Id' : data.auth.session] https://neviweb.com/api/device/${thermostatID}/setpoint {"temperature":newSetpoint, "mode":newModeNevi]

Now setting the setpoint is just a matter of hitting the attribute URI instead of setpoint, removing the mode value in the request body, and changing the temperature object to setpoint:
PUT ['Session-Id' : data.session] https://smartthings.neviweb.com/device/${thermostatID}/attribute {"roomSetpoint":20.54}

Watching the request from the neviweb.com interface, it’s the same request but to neviweb. com/api instead of smartthings.neviweb. com.

Perhaps the very most interesting thing I noticed is that Sinope’s device handler on GitHub calls smartthings.neviweb. com. This means they aren’t just publishing their APIs, they are actively working on SmartThings integration.

@infofiend - Any chance you update your code to work with the new Sinope api ?

Read the end of this post.

© 2019 SmartThings, Inc. All Rights Reserved. Terms of Use | Privacy Policy

SmartThings; SmartApps®; Physical Graph; Hello, Home; and Hello, Smart Home are all trademarks of the SmartThings, Inc.