Selon certains « forums » il faut redémarrer HA, mais je pense qu’il suffit de suivre la démarche suivante. La récupération/mise à jour de la liste demande peut-être un peu de patience.
Bonjour,
naufragé des superbes addons Gazpar en début d’année, j’ai tenté hier soir l’alternative metersToHA. Ceci étant, je ne suis pas sûr du process d’installation, car la doc n’évoque pas (encore) l’installation via les modules complémentaires.
C’est ce que j’ai fait, configuration via le module, mais doit-on forcément installer AppDaemon pour utiliser le module ? J’avoue être un peu confus entre la configuration en .json (qui semble requis pour appdaemon), et directement par le module (qui se lance bien, mais s’arrête au bout d’un moment). D’avance merci !
J’ai le gazpar depuis decembre 2021 et un esp32 installé 2mn après la pose.
Donc, soit en sans fil :
le zigbee avec une porté de 10m max environ,
soit il y a le réseau lora (reseau sans fil bas débit longue porté utilisé pour iot, c’est gratuit) couplé à un arduino ultralowpower (qui se reveille à chaque impulsion du gazpar),
En filaire :
tirer une alimentation à maxi 3m du gazpar pour y mettre un ESP32/ESPHome pour du wifi.
amplifier le signal du contact gazpar (opto, diode etc) pour de la longue distance
Pour le sans-fil, n’importe quelle ‹ bouton › wifi/zigbee/rf433 peut le faire, il faut juste souder les fils dans le bouton et recuperer les impulses dans HA
Effectivement, je dois encore en toucher un mot. EDIT: c’est fait - d’ailleurs, on peut aussi contribuer à la doc.
Je pense que la procédure suivante permets d’ajouter le Add-on facilement.
Un clic sur le bouton suivant va vous ouvrir une page de redirection de HA.
Ensuite un click sur le crayon (si c’est la première fois) pour mettre votre domaine (enregistré en local):
Après cela cliquer sur « Open Link ».
Ensuite dans Home Assistant j’ai cliqué « Confirmer » et été redirigé vers:
Ensuite, cliquer « Installer »:
Après cela, dans « Configuration », définir les champs nécessaires et puis démarrer le Add-On. Vérifier dans l’onglet Journal de l’Add-on le démarrage.
Quand il y a une ligne similaire à la suivante, l’Add-on a bien démarré. Dans le journal il y a aussi les informations de configuration que vous pouvez vérifier.
OK j’ai trouvé la source de l’erreur.
Dans la configuration du module, j’ai bien précisé « h t t p://homeassistant.local:8123 » comme serveur (et il apparaît bien ainsi, sans les espaces que j’ai rajouté car impossible de poster une URL ici)
Sauf que dans le log j’ai :
Après vérification, ce champ est mon token. Dans le log, apparaît dans la configuration sur le champ token une entrée totalement inconnue, mais il me semble que le bug vient de là → ha_server ne tient pas compte de l’URL renseignée, mais après avoir effacé et modifié l’adresse.
J’ai apporté une correction. Avec le Add-on 99% des utilisateurs n’ont pas besoin de remplir le ha_server ni le ha_token, j’ai également apporté quelques indications aux descriptions des arguments.
Effectivement en retirant ces deux champs, ça marche merci !
EDIT:
En réalité, j’ai l’impression que la relève GRDF ne va pas jusqu’au bout. J’ai donc un token captchaai, le mois gratuit, et voici ce que j’ai dans service.log
2023-10-05 21:43:55,151 : WW : Connexion au site GRDF Traceback (most recent call last): - File "//MetersToHA/apps/meters_to_ha/meters_to_ha.py", line 3144, in doWork - gazpar_file = crawler.get_gazpar_file() - ^^^^^^^^^^^^^^^^^^^^^^^^^ - File "//MetersToHA/apps/meters_to_ha/meters_to_ha.py", line 1576, in get_gazpar_file - self.__browser.get(self.__class__.site_grdf_url) - File "/usr/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 353, in get - self.execute(Command.GET, {"url": url}) - File "/usr/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 344, in execute - self.error_handler.check_response(response) - File "/usr/lib/python3.11/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response - raise exception_class(message, screen, stacktrace) - selenium.common.exceptions.WebDriverException: Message: unknown error: session deleted because of page crash - from unknown error: cannot determine loading status - from tab crashed - (Session info: headless chrome=117.0.5938.62) -
2023-10-05 21:43:55,183 : WW : Encountered error -> Retrying once
2023-10-05 21:43:55,294 : EE : Message: invalid session id
Je viens de voir ce message car je viens annoncer que j’ai approté une modification à l’appel API vers GRDF - je n’avais pas de données de puis quelques jours.
J’ai dû ajouter un paramètre - c’est passé. (J’ai aussi détecté une autre incompatibilité lié à undetected-chromedriver pour ceux qui l’utilisent - j’ai apporté un contournement - c’est lié à une mise à jour fin septembre de selenium).
Dans le cas de l’add-on il suffira de relancer normalement - sinon il faut mettre à jour MetersToHA.
EDIT : résolu avec un rédémarrage total du système.
J’ai maintenant ceci
2023-10-07 10:05:45,545 : ~~ : Captchaai Service response OK|03AFcWeA444WKhzDHTvpOq3-QME_uik7ZLdfMQOrw-ODHyLmRks_cHpRAYzUkjZj3TTDcTJmCrzE6UePt30UeIc7kI2HWlEmvaMR34rlplY48w4bIjGEd-JAL_Z4yiAvALAGCGUD6P3CMXpNeIlNa6pqsMV2OOX9J6MEalV__sOwM-Q7GQX-6T3_s0DAoNXPROMCu9J44wUZMzaQ8rRF3Lz0TRmCtuCw6tFwHYx6FXSOmrevc60X0dVURWKjBloDFyuDRMdPMydYxcilciXaN-C-yNME5tUz_jMGKBX-HBQrAx7QV2YEoOdH51O3jlyr1HIwtSd0kCMFdARjIfwXcsARbyIw-A7L3Ctn3wDp9Vn2YV9h9Io_YBOQK5l09vyBcWTy9pYDzYoKOwdcW03qZvUJWES1Qh6XkboFtfHgoLcT3cAUy-UDRXrx8zFtIxpGvVS2vniZm6A3OksNiU1OqlGL184fPthUcYtxy9s_ab8ZvKsbC1gNippCcFqzdBO-G5t587cb9X-IYaGRIBLmOJaIZpqT8bqapTr3M8KlUdxUwkcHjxxvSUZmVQfNehexS9nydEmognwivLoTHkHoWuurL4QcZQ3xytX1yrNhUOMJeHlGDr_4G4q7StA8M_mKBUlt6VmLwecfAhQJXX3nEn2PDTBSz6_ochag
2023-10-07 10:05:53,766 : OK : Automatic resolution succeeded. Grab & Save '/config/screen_before_connection.png'. Wait for Button xpath://input[@value='Connexion'].
2023-10-07 10:05:53,787 : ~~ : Wait before clicking (1.6s).
2023-10-07 10:09:06,207 : WW : Click on connexionGet Data URL https://monespace.grdf.fr/api/e-conso/pce/consommation/informatives?dateDebut=2023-09-23&dateFin=2023-10-07&frequence=Journalier&pceList[]=<PCE> . Get Data Content. <pre> Element not found. This may be due to an issue with the captcha resolution. Check the log for other errors and check your captcha solver configuration Traceback (most recent call last): - File "//MetersToHA/apps/meters_to_ha/meters_to_ha.py", line 3151, in doWork - gazpar_file = crawler.get_gazpar_file() - ^^^^^^^^^^^^^^^^^^^^^^^^^ - File "//MetersToHA/apps/meters_to_ha/meters_to_ha.py", line 1755, in get_gazpar_file - raise Exception("No content") - Exception: No content
2023-10-07 10:09:06,264 : WW : Encountered error -> Retrying once
2023-10-07 10:10:50,971 : OK : Connexion au site GRDF
2023-10-07 10:11:22,237 : EE : Waiting for Password Message: failed, page timeout (timeout=30)
2023-10-07 10:11:23,252 : OK : Close Browser
2023-10-07 10:11:23,331 : OK : Close Display
2023-10-07 10:11:23,333 : EE : Ended with error : // re-run the program with '--debug' option
Bonjour, merci. Après la mise à jour, j’ai maintenant :
2023-10-07 06:23:23,482 : OK : Try starting Chromium. Start virtual display (Chromium).
2023-10-07 06:24:59,429 : EE : Start the browser Message: chrome not reachable
2023-10-07 06:24:59,478 : OK : Close Browser
2023-10-07 06:24:59,505 : OK : Close Display
2023-10-07 06:24:59,506 : EE : Ended with error : // re-run the program with '--debug' option
Bonne info - la capture d’écran suggère que le problème de fond c’est le popup d’acceptation des cookies… Chose que je n’ai pas observé de mon côté (je n’ai pas vérifié la capture lors du plantage, j’ai vérifié l’appel API).
Je vais tenter d’ajouter une vérification/tentative de clic, mais je ne pourrai pas le tester.
Bon, j’ai changé de solveur de captcha, le png est bien l’image de connexion (plus de problème de cookies). Je pense avoir trouvé la source de l’erreur, que j’ai à nouveau.
Je me suis connecté à mon compte GRDF, et ai copié/collé cette adresse citée dans le log https://monespace.grdf.fr/api/e-conso/pce/consommation/informatives?dateDebut=2023-09-23&dateFin=2023-10-07&frequence=Journalier&pceList[]=<PCE>
ça ne donne rien. J’ai remplacé par mon numéro de PCE et là j’ai bien un retour.
Extrait du log :
2023-10-07 14:43:24,791 : OK : Click on connexion
2023-10-07 14:45:44,449 : EE : End of wait after connexion. Get Data URL https://monespace.grdf.fr/api/e-conso/pce/consommation/informatives?dateDebut=2023-09-23&dateFin=2023-10-07&frequence=Journalier&pceList[]=<PCE> . Get Data Content. <pre> Element not found. This may be due to an issue with the captcha resolution. Check the log for other errors and check your captcha solver configuration No content
2023-10-07 14:45:45,051 : OK : Close Browser
2023-10-07 14:45:45,244 : OK : Close Display
Après vérification du code, ce popup est traité dans le code
Il y a deux essais, le premier devrait donner qqchse comme ceci:
2023-02-20 20:00:40,108 : OK : Start the browser
2023-02-20 20:00:43,620 : OK : Waiting for cookie popup
2023-02-20 20:00:43,688 : OK : Click on deny
2023-02-20 20:00:43,912 : OK : Connexion au site GRDF
2023-02-20 20:00:43,946 : OK : Waiting for Password
2023-02-20 20:00:43,999 : OK : Waiting for Email
C’est aussi le premier essai qui m’intéresse le plus car l’erreur du 2ième est moins pertinent puor ce type de problème, donc ce qui m’intéresse c’est ce qui se passe avant « Encountered error → Retrying once ».
« Click on deny » apparait quand le popup est détecté et qu’un clic sur le refus est effectué.
Toutefois, c’est la trace que j’ai mis ci-dessu et une trace de début d’année et je n’ai pas ce clic de mon côté, et je n’obtiens pas ce popup.
Effectivement, dans la trace le script cache le vrai PCE à cet endroit par « ». Ailleurs dans le script il y a "grdf_pce" = "2154..." - est-ce que c’est bien le même numéro là (pas d’espaces, etc)?