doudz / homeassistant-zigate

zigate component for Home Assistant
MIT License
48 stars 15 forks source link

modification de light.py pour les appareils Legrand #95

Closed maximushugus closed 4 years ago

maximushugus commented 4 years ago

Bonjour, je voulais juste signaler que pour les appareils Legrand Zigbee, pour avoir un retour du niveau de luminosité interprétable sur Home Assistant, en utilisant ce plugin, j'ai du modifier le fichier light.py :

if call.data['cluster'] == 8 and call.data['attribute'] == 0: self._brightness = int(call.data['value'] * 255 / 100)

devient :

if call.data['cluster'] == 8 and call.data['attribute'] == 17: self._brightness = int(call.data['data'])

Je ne sais pas si avec cette modification, les autres appareils (d'autres marques )compatibles avec variateur d'intensité fonctionnent correctement.

Peut être que @doudz pourrait nous dire, et si c'est la cas, modifier le fichier en question

doudz commented 4 years ago

Il semblerait que l'attribut 17 ne soit pas standard, mais je vais faire en sorte de supporter les 2 merci pour le retour

doudz commented 4 years ago

C'est fait

maximushugus commented 4 years ago

En fait, sur l'attribut 17, les valeurs sont données en "data" et pas en "value". De plus ces "data" ne donnent pas un pourcent de la luminsité mais directement la luminosité entre 1 et 255. Annotation 2020-01-19 095353

Je pense qu'il faudrait que le code soit en 2 parties : if call.data['cluster'] == 8 and call.data['attribute'] == 0: self._brightness = int(call.data['value'] * 255 / 100) if call.data['cluster'] == 8 and call.data['attribute'] == 17: self._brightness = int(call.data['data'])

doudz commented 4 years ago

en théorie c'est géré directement par la lib 0.38.1

maximushugus commented 4 years ago

oui effectivement le code fonctionne avec la lib 0.38.1, merci