Sinope Line Voltage Thermostats

Hi everyone
first Thanks everyone for the support. specially to Claudegel …

But got a “stupid” question… what do I do it I now want to display the internal temperature instead of the outside temp on the thermostat ?

First welcome to HA
I need to know what thermostat you have and how you access it. Which custom component you are using in HA for that thermostat

@jeffreychausse loadWattOutput1 is for the connected load. The current load is the outputPercentDisplay. Look in your HA log for this. You should have a line like this if your thermostat is managed via neviweb130:

[custom_components.neviweb130.climate] Updating neviweb130 climate «Your Thermostat name» (1.389 sec): {'roomSetpoint': 15, 'outputPercentDisplay': 0, ...

TH1300ZB
Using ZHA, not sure waht custom component I’m using :wink:

I used the Automation listed above to set the Outdoor temperature…

But what I want to do now is use my inovelli switch scene taps to switch the display to show the internal temp …
double tap up → display outdoor temp
double tap down → display internal temp

I got the double tapping all set, its just I dont know which cluster / attribute to change so that it display back the internal temp…

Ok so you are using ZHA. For the second temperature display, there is a cluster to send outside temperature to thermostat but there is none to set this display back to setpoint display. The way it work is that there is a delay for outside temperature reception by the thermostat. It is normally one hour. If you don’t send outside temperature for more then one hour, the second display will revert to setpoint display. It is possible to reduce that delay to 30 seconds with cluster:
cluster_id: 0xff01
attribute: 0x0011
value: 30 (for 30 seconds)

The room temperature is always displayed on the first temperature display. If you want to switch to setpoint display for the second display you will have to stop sending an outside temperature and wait for the de delay expiration for the display to revert to setpoint display.
There is one thing you can do as you can send any number as outside temperature. with double tap down just send once the setpoint temperature. The thermostat will display this temperature and if you don’t send anything else it will revert to setpoint temp display and stay there.

Oh i did not know it was on a “timer”
it just that the little “out” is displayed… and for me it never when out…
So I only send the Outside temp when it changes from its source (Weather Canada)
I never noticed how often it changed, but yes I’ll try to cahger the time out to 30 sec. and see how it goes.

thanks

I confirm I do get the outputPercentDisplay. I also realized this is the same value has the heat_level attribute! Can you confirm if the percent value is directly proportional to the wattage value? Since the load is completely resistive, I assume it would be possible to derive the current consumption by simply multiplying the percentage with to total load.

Here’s the full log output:

2021-09-30 19:31:52 DEBUG (SyncWorker_5) [custom_components.neviweb130.climate] Updating neviweb130 climate TH1123WF (1.068 sec): {'roomSetpoint': 24, 'outputPercentDisplay': {'percent': 100, 'sourceType': 'heating'}, 'roomTemperature': {'value': 22.66, 'error': None}, 'roomSetpointMin': 10, 'roomSetpointMax': 24, 'timeFormat': '24h', 'temperatureFormat': 'celsius', 'loadWatt': 1550, 'wifiRssi': -51, 'keyboardLock': 'unlock', 'config2ndDisplay': 'exteriorTemperature', 'setpointMode': 'manual', 'occupancyMode': 'none'}

Hi Claude

When I look up the device in ZHA
I have 2 cluster_id 0xff01 one “in” and one “out”
In the “out” I have no attributes at all
in the “in” I only see 2 attributes, 0x0010 → outdoor_temp and 0x0020 “secs_since_2k”
no 0x0011 :frowning:

I still tried to send it out… but it actually blanked my time display… :frowning:

i do i get it back ??

Edit… I just tried to read attribute 0x0020 and I see 30 in it … could it be that when i sent to 0x0011, 0x0020 got written instead ?

I rerun the command but sending 662256000 (21y worth of secs) now I see 0:00 ,and it when to 0:01
I guess now I just need to set the clock :wink:

Edit:
I’m so dump!!! I was sending it to 0x0020 :frowning: ! Google to the resque to calculate teh Sec since 01-jan-2000 ! I got my clock back

Final Edit, I did sent 30 to 0x011 … but no luck :frowning: it still show “out” and the outside value

Yes loadWatt is the connected load on your thermostat and outputPercentDisplay is the percentage of the loadWatt used. So loadWatt / outputPercentDisplay *100 give you the instant wattage used for heating.

So it is ok. You reset the delay to 30 sec ? the problem will be that each time after 30 seconds if you don’t send new outside temperature it will revert to setpoint display. I think it is better to keep it at 60 minutes (default) and send the setpoint temperature in place of the outside temperature then stop sending more data until it revert to setpoint. If you need to show outside temperature you can send it to the thermostat

Setting the delay to 30 sec did not work :frowning: it still shows the outside… even after a few minutes…

At this point I only send the outside when it changes, so it would have reverted to the set if the command had worked.

But food for thoughts… I wonder if the device is capturing BOTH the floor temp and the internal (air) temp. if so, If I can see in which cluster the info I could perharps read it and display it as the “out”

Or use a tap sequence to change the displayed from floor to internal … and another one to display the set

in short… I want it to always display the outside… but when the set is changed display it (for a few secs or so, then revert back to Out …
and I would also like to compare bot the Floor temp and the Air temp…

I don’t think that the thermostat can display both floor and air. There is a setting to display floor OR air. Then the thermostat will read one sensor and display the temperature on the first display. You can see it in Neviweb where there is a setting in the parameter to chose between floor and air temperature.

Giving up. I got me ConBee II, updated its firmware to 26720700, works with other sinope device but that DM2500ZB still shows as .
{
“node_descriptor”: “NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=1, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4508, maximum_buffer_size=71, maximum_incoming_transfer_size=43, server_mask=10752, maximum_outgoing_transfer_size=43, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)”,
“endpoints”: {
“1”: {
“profile_id”: 260,
“device_type”: “0x0104”,
“in_clusters”: [
“0x0000”,
“0x0002”,
“0x0003”,
“0x0004”,
“0x0005”,
“0x0006”,
“0x0008”,
“0x0702”,
“0x0b05”,
“0xff01”
],
“out_clusters”: [
“0x0003”,
“0x0004”,
“0x0019”
]
}
},
“manufacturer”: “unk_manufacturer”,
“model”: “unk_model”,
“class”: “zigpy.device.Device”
}

Device type is wrong, “device_type”: “0x0104”. It should be
0x0100 for SW2500ZB
0x0101 for DM2500ZB

Maybe it’s a different or new version of Sinopé dimmer. In that case we need to add it to Zigpy so it will be redirected to ZHA quirks correctly.

In Zigpy it is reported in zha.py file as:

    # Lighting
    ON_OFF_LIGHT = 0x0100
    DIMMABLE_LIGHT = 0x0101
    COLOR_DIMMABLE_LIGHT = 0x0102
    ON_OFF_LIGHT_SWITCH = 0x0103
    DIMMER_SWITCH = 0x0104

Your dimmer is detected as a switch, I’ll check tonight

Do you have other dimmer that work fine ? what is the type reported ?

Non, its my only one, but thermostats and regular switches are ok. It must be a specific hardware version then. I ve had the dimmer on neviweb for about 1.5 years

Edit.: no, 0x104 looks ok:
DIMMER_SWITCH = 0x0104
2nd edit: ok my Sw2500zb is 0x0100, so right, the dm2500zb should be 0x0101

Nothing wrong with your dimmer. It is sending type DIMMER_SWITCH = 0x0104 and it is zhaquirks that switch it to DIMMABLE_LIGHT = 0x0101
For some reason your zhaquirks is not running properly so it dose’nt do the convertion. That is why your dimmer act as a light switch only.
Are you running HA on hassio ?

Hi claude.

Thanks for theses lines of code.

I’ve manage to make it work with the default weather entity using temperature attribute.

Now, if I want to revert back to the “set temperature” instead of showing outdoor temp? What I need to do?

Stéphane

Both, i ve got a test ha in docker on synology and the main setup on hassio on a NUC. Hey both do the same thing.

HI @SN0WTR00PER if you want to revert to setpoint temperature. Just stop sending outside temperature and after about one hour the thermostat will show setpoint temperature on the second display.