Oui je l’ai corrigé dans neviweb130 et je vais faire les même changement dans les autres custom_components neviweb et sinope-GT125. On a jusqu’au mois d’octobre mais je veux le corriger le plus tôt possible. En attendant si tu utilise le neviweb130 j’ai créé une branche pour tester les correction que j’ai fais.
Super, merci du retour rapide. Pour ma part, j’utilise neviweb, donc j’attendrai le fix pour ce composant.
Ca va suivre rapidement et je vais le mettre en bèta pour que les gens puissent l’installer via hacs
Haaa je comprends, ZHA s’en occupe tout seul… Intéressant de voir l’automatisation en lien avec ça. Je la garde en note. Merci beaucoup pour votre contribution ici, c’est vraiment apprécié
J’ai corrigé une petite erreur pour set_em_heat. Si tu l’as téléchargé il faut récupérer climate.py
For the first time ever my Neviweb GT125 just stopped responding locally or remotely. Just no action… So I power cycled it and it worked again. But the HA integration stopped working…
Then 2 hours later I noticed the DHCP reservation for it was lost and it changed IP. Once I fixed that everything worked again. This HA integration made by Claude Gelinas is brilliant!
Thanks again for making my old Neviweb stuff work with my Apple Homekit stuff! Works like a charm!
Happy to see that it is working again. In case it stop again, Sinopé still have some GT125 for replacement.
I have a sinope TH1300ZB (Floor heating thermostat). I’m using zha
I would like to be able to set the outside termperature.
Earlier in this thread There was a suggestion to use
alias: "Mes thermostat set outdoor temperature "
description: ""
trigger:
- platform: state
entity_id:
- sensor.ws2350_v2_38_outdoor_temperature
condition: []
action:
- repeat:
count: "{{thermostats|length}}"
sequence:
- service: zha.set_zigbee_cluster_attribute
data:
ieee: "{{ thermostats[repeat.index-1] }}"
endpoint_id: 1
cluster_id: 65281
cluster_type: in
attribute: 16
value: "{{ ( trigger.to_state.state|float * 100 ) |int }}"
variables:
thermostats:
# - 50:0b:91:40:66:02:26:9t
# - 50:0b:91:40:06:02:26:24
#once I put my device here is worked.
mode: single
So I tried doing that, however when it runs I get
Executed: April 25, 2024 at 3:35:56 PM
Error: not a valid value for dictionary value @ data['ieee']
Result:
params:
domain: zha
service: set_zigbee_cluster_attribute
service_data:
ieee: 50:0b:91:40:66:02:26:9t
endpoint_id: 1
cluster_id: 65281
cluster_type: in
attribute: 16
value: 980
target: {}
running_script: false
Any suggestions on what I need to do?
–
I figured this out. I misunderstood what the ieee variable was. Once I used the correct id (by looking at my device details I was able to fix this)
Thanks,
Try this:
- id: Heat-OutdoorTemp
alias: Heat-OutdoorTemp
trigger:
- platform: state
entity_id: sensor.ws2350_v2_38_outdoor_temperature
variables:
thermostats:
- 50:0b:91:40:00:02:26:6d
- 38:5c:fb:ff:fe:d9:ea:f4
action:
- repeat:
count: "{{thermostats|length}}"
sequence:
- service: zha.set_zigbee_cluster_attribute
data:
ieee: "{{ thermostats[repeat.index-1] }}"
endpoint_id: 1
cluster_id: 0xff01
cluster_type: in
attribute: 0x0010
value: "{{ ( trigger.to_state.state|float * 100 ) |int }}"
mode: single
This should work. Off course put your own ieee devices
Had anyone found a good way (and is it worth the effort) to get the energy usage data through the web interface into Home Assistant.
The Web energy usage from Neviweb is only one month for me and it would be nice to have much more data and to see it in Home Assistant. I don’t know how much work it would be to have every so often to have a way the saves that data into Home Assistant.
I am far from a home assistant expert but it would be nice to see the data in the system.
Has anyone done this?
Hi @jdawson, energy data from Neviweb is polled every 30 minutes and stored in HA database. I’m using HA recorder with mariadb component as it s better to store data.
Recorder is enabled by default in HA but you can configure it to exclude some useless data.
For each devices we poll hourly, daily and monthly energy data.
To show your energy data you can use history for the period you want or many other app to make graphic of your energy data
Hello,
I just added my Sinope Thermostat “TH1124ZB-G2” to ZHA. Inclusion went fine.
But I cant find how to send the “outdoor local temp” to the device. Do I have to call the zha.set_cluster_attribute ?
My assumption was that the zha-quirks would create a number entity to make it easy to set the value.
You have to make an automation to send outdoors temp to your thermostat. You can get the data via a local device. I’m using the Sinopé MC3100ZB with a floor sensor that is placed outside. You can also use a data provider like met.no or any other you prefer. automation is like this
- id: OutdoorTemp
alias: OutdoorTemp
trigger:
- platform: state
entity_id: sensor.varennes_local
variables:
thermostats:
- 50:0b:91:40:00:02:26:6d <-- all your thermostats ieee
- 38:5c:fb:ff:fe:d9:ea:f4
action:
- repeat:
count: "{{thermostats|length}}"
sequence:
- service: zha.set_zigbee_cluster_attribute
data:
ieee: "{{ thermostats[repeat.index-1] }}"
endpoint_id: 1
cluster_id: 0xff01
cluster_type: in
attribute: 0x0010
value: "{{ ( trigger.to_state.state|float * 100 ) |int }}"
mode: single
sensor.varennes_local is like this template sensor
- sensor:
- name: "varennes_local"
unit_of_measurement: '°C'
device_class: temperature
state_class: measurement
state: "{{ state_attr('switch.neviweb130_switch_mc3100zb', 'Extern_temperature') }}"
You can install my sinope-zha module which is used to update ZHA for sinopé devices
In the readme.md there is a lot of explanation about zha automations.
Off course you can place the MC3100ZB in zha also and get the outside temperature.
That is wonderful that the data is collected. I saw that it knew when it was ON or off in the history of a device. I didn’t know it also logged the amount of energy used as well (as some of them can be on 100% or on just 20%).
When I go into home assistant under /energy I don’t see any data here. I have wemo plugs that for example are showing when they are on under the /enegry but none of the thermostats show under this now.
Is it posisble to do something so they would show?
If my understanding is correct, your repo is the “development” area before your changes are merged into ZHA. So if my device is not new, I should have the same functionality with plain ZHA ?
Disclaimer: this Sinope Thermostat is my first zigbee device, so my expectations may be wrong.
I expected that the “quirks” for the Sinope Thermostat would provide a more “native” support of extended attributes in HA.
For instance, your automation example do work to send the outdoor temp, but I have to call zha.set_zigbee_cluster_attribute
myself, maintain a list of IEEE
and know the zigbee cluster id and attribute.
A more integrative approach would allow me to set the outdoor temp by selecting my thermostats devices based on labels (no need to maintain my own list of IEEE) and provide a named entity (or attribute) for the outdoor temp so I dont have to know the cluster_id and attribute. Is there a way to do that with ZHA ?
Yes my repo is used to test new development in ZHA for Sinopé devices. Now all devices are supported but I’m still adding cluster attributes as I discover them.
In the automation you could actually replace ieee by device name like climate.salle_de_bain_thermostat.
zha.set_zigbee_cluster_attribute support both method.
The list and description of cluster/attribute can be found in the readme.md of my repo for all devices.
Next step will be to improve user friendly usage and better examples for different automations.
On the energy section clic on the three vertical dots in the upper right corner and the configuration choice in the drop down menu to add the device you want to track energy.
FYI, this is what I ended up with
repeat:
for_each: "{{ label_devices('thermostat') }}"
sequence:
- service: zha.set_zigbee_cluster_attribute
metadata: {}
data:
ieee: >-
{{ device_attr(repeat.item, 'identifiers') | selectattr(0,'eq','zha')
| map(attribute=1) | first }}
cluster_type: in
endpoint_id: 1
cluster_id: 65281
attribute: 16
value: "{{ ( states('sensor.la_prairie_temperature')|float(0) * 100 ) |int }}"
The part to get the IEEE is a tad ugly, but when I add a device, I only have to assign the correct label to my thermostat and dont have to update the automations.