claudegel / sinope-130

Neviweb130 custom component for Home Assistant to manage devices connected via a GT130 and wifi devices from Sinopé
GNU General Public License v3.0
73 stars 15 forks source link

Add a new model number for Leak Sensor #231

Closed jfauger closed 6 months ago

jfauger commented 6 months ago

I bought a new sedna valve and the leak sensor weren't showing as entities. When looking in the log I found that the model has been changed to 42102. I changed line 122 in the sensor.py and the sensor could be seen as an entity. Sensor.py should be revised to add this model.

Bonjour Claude, j'ai acheté une valve sedna et le sensor qui venait dans le kit n'apparaissait pas comme entité. En regardant dans le code j'ai vu que le nom a été modifié pour 42102. J'ai modifié la ligne 122 du sensor.py pour y ajouter le model 42102 et mon sensor est apparu comme entité.

LOG : 2024-03-13 17:00:03.691 DEBUG (SyncWorker_0) [custom_components.neviweb130] Received gateway data: [{'id': 522272, 'identifier': '500b91400005c1e2-2c1165fffeae85a3', 'name': 'Kitchen Sink', 'family': '4210-VA', 'signature': {'model': 42102, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'major': 0, 'middle': 2, 'minor': 0}, 'hardRev': 0}, 'location$id': 98387, 'parentDevice$id': 522271, 'group$id': 256093, 'orderIdx': 0, 'sku': 'WL4210', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None},

claudegel commented 6 months ago

C'est bon ça. Est-ce que ton sensor est connecté directement à la valve ou bien au GT130 Si c'est connecté à la valve il y a probablement des attributs supplémentaire a ajouter comme la fermeture de la valve en cas de détection.

jfauger commented 6 months ago

Connecté à la valve. Je n'ai pas pas le gateway.

jfauger commented 6 months ago

En passant un gros merci pour la creation et le support/maintient de ton integration !

claudegel commented 6 months ago

Peux-tu regarder les attribut transmit par Neviweb quand tu es connecté à Neviweb.com pour ce sensor. Il faut aller dans la config du sensor et avec firefox cliquer sur F12 pour activer la console de debug.Tu devrais voir passer les attribut. firefox console

claudegel commented 6 months ago

Je pense qu'il va falloir créer un entité à part car sinon tu auras pas la configuration cfgValveClosure

jfauger commented 6 months ago

Screenshot 2024-03-13 214931

jfauger commented 6 months ago

Screenshot 2024-03-13 215029

claudegel commented 6 months ago

As-tu une configuration pour fermer la valve en cas de fuite dans neviweb pour ton sensor ?

jfauger commented 6 months ago

oui. Screenshot 2024-03-13 215604

claudegel commented 6 months ago

change le premier «Action in case...» et regardes la console il va y avoir un parametre cfgValveClosure ou bien alertWaterLeak

claudegel commented 6 months ago

Il y a aussi le dernier qui doit être alertLowTemp. Faut changer les valeurs pour voir passer les attributs

jfauger commented 6 months ago

Screenshot 2024-03-13 220434

jfauger commented 6 months ago

Screenshot 2024-03-13 220532

claudegel commented 6 months ago

Ok ca confirme. C,est quoi les differente valeur pour Action in case...

jfauger commented 6 months ago

Screenshot 2024-03-13 220806

jfauger commented 6 months ago

Screenshot 2024-03-13 220806

jfauger commented 6 months ago

Screenshot 2024-03-13 220906 ca cest avec closed the valve only

jfauger commented 6 months ago

Screenshot 2024-03-13 221221

jfauger commented 6 months ago

Screenshot 2024-03-13 221324

jfauger commented 6 months ago

Screenshot 2024-03-13 221427

je pense que j'ai couvert tous les cas...

claudegel commented 6 months ago

si tu click sur Request au lieu de Response. On va voir la commande qui est envoyée au serveur pour chacune des 4 options close and send close only sendonly do nothing ou quelques chose du genre

jfauger commented 6 months ago

Screenshot 2024-03-13 222151

jfauger commented 6 months ago

Screenshot 2024-03-13 222324

claudegel commented 6 months ago

OK cfgValveClosure est à ON quand il est sur une des 3 premier choix et à OFF pour No action. si tu choisis le premier c,est quoi le request

jfauger commented 6 months ago

Screenshot 2024-03-13 222615 Screenshot 2024-03-13 222640

jfauger commented 6 months ago

alertWaterLeak: envoi alerte sur fermeture de valve (1) et n'envoi rien avec (0) alertLowBatt: envoi alerte low batterie (1) et n'envoie rien avec (0) alertLowTemp : envoi alerte low temp (1) et n'envoie rien avec (0). cfgValveClosure:''on'' ou ''off'' ferme ou pas la valve sur une alerte

claudegel commented 6 months ago

Ah je vois qu'on regarde pas a la bonne place. Il faut regarder la ligne attribute pour voir passer la commande https://neviweb.com/api/device/183416/attribute

jfauger commented 6 months ago

le lien ne marche pas de mon coté... je ne suis pas un expert en informatique...mais je pense que je regardais a la bonne place je regardais les PUT request et non les GET request. Je ne vois pas de json attribute quand je fais les changements.

jfauger commented 6 months ago

Screenshot 2024-03-13 222640 finalement j'en ai vu 1...

jfauger commented 6 months ago

mauvaise photo...celle-ci est bonne Screenshot 2024-03-13 223915

claudegel commented 6 months ago

Non c,est beau on a: close vale and send alert: cfgValveClosure:''on'' , alertWaterLeak: 1 close valve only: cfgValveClosure:''on'' , alertWaterLeak: 0 send an alert only: cfgValveClosure:''off'' , alertWaterLeak: 1 No action: cfgValveClosure:''off'' , alertWaterLeak: 0

avec ça je vais développer une nouvelle section pour ce sensor et ajouter le service pour ajuster ces parametres. Je vasi te faire signe quand je vais avoir la nouvelle version a tester

jfauger commented 6 months ago

Screenshot 2024-03-13 224042

jfauger commented 6 months ago

J'arrive a la meme conclusion que toi. Fais-moi signe quand tu seras pret. Merci pour ton temps.

claudegel commented 6 months ago

Derniere chose pour action in case of risk of frost c,est quoi les valeur pour le PUT.... attribute Même chose pour le action low batteries

claudegel commented 6 months ago

OK j'ai complètement séparé les détecteurs connectés au GT130 de ceux connectés à la valve Sedna. Ça devrait simplifier les choses si Sinopé ajoute des models. J'ai mis les changements dans la branche: https://github.com/claudegel/sinope-130/tree/Error-message. Il y a aussi dans cette branche une mise a jour pour les messages d'erreur de Neviweb et quelques bug fix. Tu peux tester si tu veux

jfauger commented 6 months ago

J'imagine qu'il faut que je telecharge le zip et que manuellement je copie au bon endroit comme indiqué dans les README ?

claudegel commented 6 months ago

Oui et tu le place dans config/custom_components/neviweb130. Tu remplaces les fichiers qui sont là. Par contre je pense que tu peux aussi copier seulement sensor.py et le mettre dans ton sensor.py

jfauger commented 6 months ago

J'ai effacé mes anciens leak sensors et j'ai redémarré HA. Dans ma liste d'entities de HA, je ne vois que ma valve sedna. Aucun nouveaux sensors pour les leak detectors. Je vois pourtant défilé l'information de mes sensors dans le log

Voici une copie du log :

024-03-18 20:11:48.049 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received gateway data: [{'id': 522400, 'identifier': '500b91400005c1e2-500b914000055935', 'name': 'Ground Floor Bathroom', 'family': '5052', 'signature': {'model': 5052, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'major': 1, 'middle': 1, 'minor': 3}, 'hardRev': 0}, 'location$id': 98387, 'parentDevice$id': 522271, 'group$id': 256148, 'orderIdx': 0, 'sku': 'WL4200S', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 522272, 'identifier': '500b91400005c1e2-2c1165fffeae85a3', 'name': 'Kitchen Sink', 'family': '4210-VA', 'signature': {'model': 42102, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'major': 0, 'middle': 2, 'minor': 0}, 'hardRev': 0}, 'location$id': 98387, 'parentDevice$id': 522271, 'group$id': 256093, 'orderIdx': 0, 'sku': 'WL4210', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 522271, 'identifier': '500b91400005c1e2', 'name': 'VA4220WF', 'family': '3150-1', 'signature': {'model': 3150, 'modelCfg': 2, 'softBuildCfg': 0, 'softVersion': {'major': 2, 'middle': 6, 'minor': 2}, 'hardRev': 0}, 'location$id': 98387, 'parentDevice$id': None, 'group$id': 256094, 'orderIdx': 0, 'sku': 'VA4220WF', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 522379, 'identifier': '500b91400005c1e2-bc026efffe3fa45d', 'name': 'Washing Machine', 'family': '4210-VA', 'signature': {'model': 42102, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'major': 0, 'middle': 2, 'minor': 0}, 'hardRev': 0}, 'location$id': 98387, 'parentDevice$id': 522271, 'group$id': 256138, 'orderIdx': 0, 'sku': 'WL4210', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}] 2024-03-18 20:11:48.050 DEBUG (SyncWorker_2) [custom_components.neviweb130] Gateway_data : [{'id': 522400, 'identifier': '500b91400005c1e2-500b914000055935', 'name': 'Ground Floor Bathroom', 'family': '5052', 'signature': {'model': 5052, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'major': 1, 'middle': 1, 'minor': 3}, 'hardRev': 0}, 'location$id': 98387, 'parentDevice$id': 522271, 'group$id': 256148, 'orderIdx': 0, 'sku': 'WL4200S', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 522272, 'identifier': '500b91400005c1e2-2c1165fffeae85a3', 'name': 'Kitchen Sink', 'family': '4210-VA', 'signature': {'model': 42102, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'major': 0, 'middle': 2, 'minor': 0}, 'hardRev': 0}, 'location$id': 98387, 'parentDevice$id': 522271, 'group$id': 256093, 'orderIdx': 0, 'sku': 'WL4210', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 522271, 'identifier': '500b91400005c1e2', 'name': 'VA4220WF', 'family': '3150-1', 'signature': {'model': 3150, 'modelCfg': 2, 'softBuildCfg': 0, 'softVersion': {'major': 2, 'middle': 6, 'minor': 2}, 'hardRev': 0}, 'location$id': 98387, 'parentDevice$id': None, 'group$id': 256094, 'orderIdx': 0, 'sku': 'VA4220WF', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}, {'id': 522379, 'identifier': '500b91400005c1e2-bc026efffe3fa45d', 'name': 'Washing Machine', 'family': '4210-VA', 'signature': {'model': 42102, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'major': 0, 'middle': 2, 'minor': 0}, 'hardRev': 0}, 'location$id': 98387, 'parentDevice$id': 522271, 'group$id': 256138, 'orderIdx': 0, 'sku': 'WL4210', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None}] 2024-03-18 20:11:48.309 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 5052, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'major': 1, 'middle': 1, 'minor': 3}, 'hardRev': 0, 'protocol': 'sinopcom'}} 2024-03-18 20:11:48.649 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 42102, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'major': 0, 'middle': 2, 'minor': 0}, 'hardRev': 0, 'protocol': 'sinopcom'}} 2024-03-18 20:11:48.962 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 3150, 'modelCfg': 2, 'softBuildCfg': 0, 'softVersion': {'major': 2, 'middle': 6, 'minor': 2}, 'hardRev': 0, 'protocol': 'sinopcom'}} 2024-03-18 20:11:49.233 DEBUG (SyncWorker_2) [custom_components.neviweb130] Received signature data: {'signature': {'model': 42102, 'modelCfg': 0, 'softBuildCfg': 0, 'softVersion': {'major': 0, 'middle': 2, 'minor': 0}, 'hardRev': 0, 'protocol': 'sinopcom'}}

jfauger commented 6 months ago

et la suite qui pourrait etre intéressant ;

2024-03-18 20:11:49.239 DEBUG (SyncWorker_2) [custom_components.neviweb130] Setting scan interval to: 0:06:00 2024-03-18 20:11:49.241 DEBUG (SyncWorker_2) [custom_components.neviweb130] Setting Homekit mode to: False 2024-03-18 20:11:49.242 DEBUG (SyncWorker_2) [custom_components.neviweb130] Setting stat interval to: 1800 2024-03-18 20:11:50.498 DEBUG (MainThread) [custom_components.neviweb130.valve] Setting up neviweb130 valve VA4220WF: {'id': 522271, 'identifier': '500b91400005c1e2', 'name': 'VA4220WF', 'family': '3150-1', 'signature': {'model': 3150, 'modelCfg': 2, 'softBuildCfg': 0, 'softVersion': {'major': 2, 'middle': 6, 'minor': 2}, 'hardRev': 0, 'protocol': 'sinopcom'}, 'location$id': 98387, 'parentDevice$id': None, 'group$id': 256094, 'orderIdx': 0, 'sku': 'VA4220WF', 'vendor': 'Sinopé', 'url_en': None, 'url_fr': None} 2024-03-18 20:11:50.500 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up neviweb130 platform for sensor Traceback (most recent call last):

claudegel commented 6 months ago

Il me faut la suite du log ci-dessus C'est à la fin du Traceback que se trouve l'indice

jfauger commented 6 months ago

File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 350, in _async_setup_platform await asyncio.shield(awaitable) File "/config/custom_components/neviweb130/sensor.py", line 160, in async_setup_platform entities.append(Neviweb130ConnectedSensor(data, device_info, device_name, device_type, device_sku, device_firmware)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/neviweb130/sensor.py", line 705, in init self._is_monitor = false ^^^^^ NameError: name 'false' is not defined. Did you mean: 'False'?

claudegel commented 6 months ago

Ok c'est corrigé. Tu peux télécharger sensor.py

jfauger commented 6 months ago

Le probleme est regle. A 1ere vue tout semble ok. Ce weekend je ferai d'autres verifications. Merci!

claudegel commented 6 months ago

Parfait je vais attendre pour faire un release

jfauger commented 6 months ago

salut Claude, basé sur les tests que j'ai fait je dirais que tout est ok. J'ai testé le service : Sinope Neviweb130: set_sensor_alert et les changements sont bien ''poussés'' dans l'application neviweb.

claudegel commented 6 months ago

Ok je termine un autre bug pour une valve mesh et je vais publier en fin de semaine