homeassistant-zigate icon indicating copy to clipboard operation
homeassistant-zigate copied to clipboard

Problème avec relais Xiaomi et mise à jour du PiZigate.

Open Cyrus40 opened this issue 3 years ago • 6 comments

Bonjour,

J'ai quelques problèmes avec le PiZigate, enfin pour l'instant avec le module relais Xiaomi 2 voies. Vous savez sans doute que le relais Xiaomi permet d'être utilisé aussi avec des interrupteurs physiques.

Le problème est que, aléatoirement, et même systématiquement après une coupure de courant, je pers la possibilité de contrôler mon relais avec l'interrupteur physique. La module est toujours connecté au PiZigate, il fonctionne encore sur Home Assistant mais je ne peux plus le commander avec le bouton physique.

Si je fais un reset sur le module Xiaomi sans le reconnecter au PiZigate, je n'ai jamais de problème, le bouton physique fonctionne bien. Si je veux le faire fonctionner avec Home Assistant, je suis obliger de supprimer toutes les entités, le supprimer de la PiZigate, le ré-appairer et recréer toutes les entités... puis au bout de quelques jours, rebelote, le bouton physique ne fonctionne plus.

D'ailleurs, en parlant de la version du PiZigate, la mise à jour ne fonctionne pas. Voici le message d'erreur quand j'appelle le service zigate.upgrade_firmware : Échec d'appel du service "zigate/upgrade_firmware". ZiGate not found

Avez-vous une solution à m'apporter?

Infos : Home Assistant avec HassOS / Raspberry 3 /PiZigate en version 3.1a / Lib en version 40.3 Si vous avez besoin d'autres infos n'hésitez pas, je suis néophyte mais j'essaierai de faire ce que vous me demandez.

Cyrus40 avatar Aug 03 '20 14:08 Cyrus40

Pour ma part, je ne peux pas vous aider concernant le problème avec le bouton physique, à voir peut être avec @fairecasoimeme ?

Concernant la mise à jour du module, pourrais je avoir un log complet en mode debug ?

doudz avatar Aug 14 '20 15:08 doudz

Bonjour, Etrange pour le bouton physique, car justement, lui ne doit pas passer par la radio mais bien activer le relais directement. Donc, il doit fonctionner même si le module n'est pas appairé. Fred

fairecasoimeme avatar Aug 19 '20 09:08 fairecasoimeme

Bonjour et merci de vos réponses à tous les deux.

@doudz Voici le log complet quand je lance la commande d'upgrade :

2020-08-24 16:08:12 DEBUG (SyncWorker_5) [zigate.flasher] Command 7 None False 2020-08-24 16:08:12 DEBUG (SyncWorker_5) [zigate.flasher] Command 9 None True 2020-08-24 16:08:12 DEBUG (SyncWorker_5) [zigate.flasher] Command 11 <LH False 2020-08-24 16:08:12 DEBUG (SyncWorker_5) [zigate.flasher] Command 31 <LH False 2020-08-24 16:08:12 DEBUG (SyncWorker_5) [zigate.flasher] Command 37 None False 2020-08-24 16:08:12 DEBUG (SyncWorker_5) [zigate.flasher] Command 39 !B False 2020-08-24 16:08:12 DEBUG (SyncWorker_5) [zigate.flasher] Command 44 <BL False 2020-08-24 16:08:12 DEBUG (SyncWorker_5) [zigate.flasher] Command 50 None False 2020-08-24 16:08:12 DEBUG (SyncWorker_5) [zigate.flasher] Command 54 B False 2020-08-24 16:08:12 DEBUG (SyncWorker_5) [zigate] Saving persistent file 2020-08-24 16:08:12 DEBUG (SyncWorker_5) [zigate] Acquire Lock to save persistent file 2020-08-24 16:08:12 DEBUG (SyncWorker_5) [zigate] Release Lock of persistent file 2020-08-24 16:08:13 INFO (SyncWorker_5) [zigate] Searching ZiGate port 2020-08-24 16:08:13 ERROR (SyncWorker_5) [zigate] ZiGate not found 2020-08-24 16:08:13 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1860630104] ZiGate not found Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 125, in handle_call_service await hass.services.async_call( File "/usr/src/homeassistant/homeassistant/core.py", line 1281, in async_call task.result() File "/usr/src/homeassistant/homeassistant/core.py", line 1320, in _execute_service await self._hass.async_add_executor_job(handler.func, service_call) File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run result = self.fn(*self.args, **self.kwargs) File "/config/custom_components/zigate/init.py", line 633, in upgrade_firmware flash(port, save=backup_filename) File "/usr/local/lib/python3.8/site-packages/zigate/flasher.py", line 357, in flash serialport = discover_port(serialport) File "/usr/local/lib/python3.8/site-packages/zigate/transport.py", line 381, in discover_port raise ZIGATE_NOT_FOUND('ZiGate not found') zigate.transport.ZIGATE_NOT_FOUND: ZiGate not found

@fairecasoimeme C'est bien pour cela que j'ai voulu installer ces appareils : pour garder un bouton physique au cas où. Il n'a jamais dysfonctionné en étant connecté à la centrale Xiaomi et je pensais également que cette fonctionnalité était dissocié de la partie "domotique" et que ce relais agissait comme un simple télérupteur ! Mais apparemment non ! De temps en temps, le bouton physique ne fonctionne plus et si je le dé-associe de la Zigate, il fonctionne bien à nouveau...

Merci de votre aide.

Cyrus40 avatar Aug 24 '20 14:08 Cyrus40

@Cyrus40 Pour la partie upgrade du firmware, il faut que ton fichier configuration.yaml comporte ces lignes (ajout de la ligne port)

zigate:
  gpio: true
  port: /dev/ttyAMA

C'est ce qui a marché chez moi (raspberry pi 3b+) D'après le site de la zigate, le port peut aussi être /dev/serial0 en fonction de ta raspberry

vgelot avatar Sep 01 '20 13:09 vgelot

@vgelot

Si j'utilise les lignes que tu m'indiques (que ce soit ttyAMA ou serial0) le zigate n'est plus détectée et je n'ai plus du tout accès à mes capteurs. Existe-t-il d'autres noms de port possible?

Cyrus40 avatar Sep 08 '20 06:09 Cyrus40

@Cyrus40 J'avais le même comportement que toi avec /dev/serial0 D'après la doc, d'autres possibilités sont (https://www.raspberrypi.org/documentation/configuration/uart.md) : /dev/ttyS0 /dev/ttyAMA0 /dev/serial0 /dev/serial1 N'oublie pas de redémarrer HA pour chaque essai Quelle raspberry as tu?

vgelot avatar Sep 08 '20 15:09 vgelot