C’est à jour. Il fatu déclencher l’événement ‹ call_grdf › .
Ok mais j’ai toujours les même logs…
Pour déclencher le call grdf il faut faire comment?
S’il y a toujours l’erreur avec la variable DISPLAY, je dois régler cela autrement.
Pour déclencher l’événement:
- Outils de développement : GitHub - mdeweerd/MetersToHA: Get Meter Data into Home Automation systems
- Automatisme, 2ième exemple GRDF: GitHub - mdeweerd/MetersToHA: Get Meter Data into Home Automation systems
Oui toujours l’erreur display…
Je viens de pousser une évolution - la version du conteneur doit être dev.002 .
Je dois avoir dev 002 dans les logs?
Pour le moment ça me donne ça :
Add-on version: dev
You are running the latest version of this add-on.
System: Home Assistant OS 11.1 (amd64 / qemux86-64)
Home Assistant Core: 2023.11.0
Home Assistant Supervisor: 2023.10.1
"ha_server": "http://supervisor/core",
"ha_token": "f837315247f12399cb0a3c7c82ebd90fe12ca836d30a3093ab045f1b8209b7403d49a5c82a2032b5c24b367c037af096f729593993b20962",
"type": "ha"
}
/run.sh: line 166: DISPLAY: unbound variable
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service base-addon-log-level: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service base-addon-log-level successfully stopped
s6-rc: info: service base-addon-banner: stopping
s6-rc: info: service base-addon-banner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
Effectivement.
Je viens de faire une demande de mise à jour des dépôts (constaté dans la trace du superviseur ensuite), et j’ai demandé la reconstruction de l’addon.
Voici la trace du superviseur, filtré en ligne de commande - je crois qu’il y a aussi un moyen d’y accéder depuis l’interface.
Je ne montre que les éléments essentiels:
# ha supervisor log | grep eter
23-11-03 12:06:55 INFO (MainThread) [supervisor.store.git] Update add-on https://github.com/mdeweerd/MetersToHA repository
23-11-03 12:08:36 INFO (SyncWorker_0) [supervisor.docker.manager] Removing image 9120b5c7/amd64-addon-meterstoha with dev
23-11-03 12:08:39 INFO (MainThread) [supervisor.docker.addon] Starting build for 9120b5c7/amd64-addon-meterstoha:dev
23-11-03 12:08:47 INFO (MainThread) [supervisor.docker.addon] Build 9120b5c7/amd64-addon-meterstoha:dev done
23-11-03 12:08:47 INFO (MainThread) [supervisor.addons] Add-on '9120b5c7_meterstoha' successfully rebuilt
23-11-03 12:08:49 INFO (MainThread) [supervisor.docker.addon] Starting Docker add-on 9120b5c7/amd64-addon-meterstoha with version dev
Et après démarrage, dans la trace de l’add-on:
Cloning into 'MetersToHA'...
MetersToHA Container version: dev.002
MetersToHA Python GIT version: 446cdbc on Thu Nov 2 23:51:58 2023 +0100
Ce « dev.002 » indique que c’est bien le bon script « run.sh ».
Je n’ai pas eu ce problème de mon côté du tout - si je comprends bien c’est HAOS sous Proxmox?
Non j’ai installer HAOS sur mon synology.
Je n’arrive pas a avoir l’update ;(
Une autre technique:
- Copier la configuration yalm dans un fichier text sur son PC.
- Désinstaller le add-on.
- Puis installer à nouveau.
- Recopier la configuration depuis son PC.
Ah, c’est aussi une autre façon d’avoir une VM. Mon Syno est trop vieux pour ça.
Pour ma part, même après désinstallation et réinstallation, j’ai
Done Thu Oct 19 20:29:39 CEST 2023
Fri Nov 3 14:00:44 CET 2023
python3 MetersToHA/apps/meters_to_ha/meters_to_ha.py -l /config --screenshot --keep-output -c "//m2h_config.json" --grdf -r
python3: can't open file '//MetersToHA/apps/meters_to_ha/meters_to_ha.py': [Errno 2] No such file or directory
Done Fri Nov 3 14:00:45 CET 2023
dans le M2Hexec.
Impeccable! réinstallation et ca fonctionne
=== End of Generated script '//execEvent.sh': ===
Test access to Home Assistant API (should show '{"message":"API running."}')
curl -H 'Authorization: Bearer bb557b529a46d38a3e152e24832681e46e3c16e7e73ac5b8bf4e8caa1813d7c4eba648ce158597aadb999893a4494b8f098dbc2c00f4b0f8' -H 'Content-Type: application/json' http://supervisor/core/api/
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 26 100 26 0 0 740 0 --:--:-- --:--:-- --:--:-- 764
{"message":"API running."}
"./haevent2exec.py" --config-json "//m2h_config.json" --external-program "//execEvent.sh" --log-level="debug" call_veolia call_grdf
Pour lancer le call_grdf je pense pas avoir bien compris… dans outil de développement puis évènement?
j’ai idem que toi!
python3 MetersToHA/apps/meters_to_ha/meters_to_ha.py -l /config/MetersToHA --screenshot --keep-output -c "//m2h_config.json" --grdf -r
python3: can't open file '//MetersToHA/apps/meters_to_ha/meters_to_ha.py': [Errno 2] No such file or directory
Done Fri Nov 3 17:24:54 CET 2023
python3: can't open file '//MetersToHA/apps/meters_to_ha/meters_to_ha.py': [Errno 2] No such file or directory
Gros progrès, mais quand même encore un problème - c’est une modification récente car je l’ai aussi depuis hier, donc je peux déboguer…
ah bonne nouvelle
Une nouvelle évolution est en ligne - on doit trouver « dev.005 ».
L’erreur introduite était l’absence de checkout git - j’avais conditionné cela à une variable non-vide, mais il fautt aussi le faire quand elle est vide.
J’ai bien dev005, j’échoue systématiquement avec
Start the browser Message: session not created: DevToolsActivePort file doesn't exist
je vois ici DevToolsActivePort file doesn’t exist error message. Selenium in Python running on MacOS - Stack Overflow ceci :
J’ai du mieux:
2023-11-03 22:29:17,061 : -- : Start Loading Home Assistant configuration
2023-11-03 22:29:17,061 : OK : "ha_server" = "http://supervisor/core"
2023-11-03 22:29:17,061 : OK : "ha_token" = "****************************************************************************************************************"
2023-11-03 22:29:17,062 : OK : "veolia_contract" = "None"
2023-11-03 22:29:17,062 : OK : "timeout" = "30"
2023-11-03 22:29:17,062 : OK : "insecure" = "False"
2023-11-03 22:29:17,062 : OK : "state_file" = "/config/csv/meters2ha_state.json"
2023-11-03 22:29:17,063 : OK : End loading Home Assistant configuration
2023-11-03 22:29:17,063 : ~~ : Check availability of "geckodriver"+"firefox" or "chromedriver"+"chromium"
2023-11-03 22:29:17,063 : OK : Found chromium binary
2023-11-03 22:29:17,082 : OK : Check Home Assistant connectivity
2023-11-03 22:29:17,083 : -- : Try starting Chromium. Add nix root user options.
2023-11-03 22:29:17,252 : OK : Start virtual display (Chromium).
2023-11-03 22:29:45,643 : OK : Start the browser
2023-11-03 22:29:45,644 : OK :
2023-11-03 22:30:05,328 : OK : Connexion au site GRDF
2023-11-03 22:30:07,882 : OK : Waiting for Password
2023-11-03 22:30:09,882 : OK : Waiting for Email
2023-11-03 22:30:11,773 : OK : Type Email
2023-11-03 22:30:12,174 : OK : Type Password
2023-11-03 22:30:12,208 : ~~ : Proceed with captcha resolution. 2Captcha https://2captcha.com/in.php?key=f55f5f12bbf36c7f82b3e00bbf75eed6&method=userrecaptcha&googlekey=6LfNHKgZAAAAALUFRFc4mNHjau8gl4INB4bsyHy1&pageurl=https://login.monespace.grdf.fr:443&soft_id=3887
2023-11-03 22:30:12,382 : ~~ : 2Captcha Service response OK|74933877848
2023-11-03 22:30:12,383 : ~~ : Wait 20s for 2Captcha
2023-11-03 22:30:32,675 : ~~ : 2Captcha Service response CAPCHA_NOT_READY
2023-11-03 22:30:32,680 : ~~ : Wait 10s for 2Captcha
2023-11-03 22:30:42,930 : ~~ : 2Captcha Service response OK|03AFcWeA4AsGyqRXnTQnBUxFt6ylMxiQB2hmZnwP4ylGsVouLIiZ8gB533FnqGO20gTr0e7AkQTROQOz92aw23KK6YrK9RSf_G4u2OIlGgl9zFvsLMfPRCorgP8XE-l4LxiCJUvIVfZo9LL6iMeZdguQ1SJX8YS8xQ4XNXBwE434nnlpgOu1808dPHIctmlZixKwhqrDag2FHqOag0Y6VyPW39YwmOP1kN0F_TavxgV12qv9d-X3EenV9bEV0-vU_5bdcNLblR_V0utIuHpYVMRpLt6HEfBbVNHNMcHwmEpn6iwDT5FdV731ZVX7z1wdKDySc_frQpGGrTe2QyGz8U5fioVQ_EElU3tooXsRlxMDi_je0yfEfEWUouwtoWvUrMILya_Axqn3XRkLz9UqQbcddf6ZAufWwNr8rHZCPcHupKhIjO-OiCxANQeqlaWDooqIyZrja_nmT2DFvZTHa-MM_f6oWfbflnT6sPGt4CuqJ58-tKJ2oCM6cjRbcqOJWA5Gwwy6E4ZNxUkE3mzkFhM0Z-tUDYOp74LEU8Wa5t4sKiyB2qAhO7ZQ_ULpcFZB9j84ilJI_mwo8bdfzvCxNEkR5z_6g4nVcRpjgYVTO2fLr0pt5e5Fj_dE_XbdaQvH7qajaiFmSXJm5z-UswP5SUUNnvqUipdrlSUg
2023-11-03 22:30:45,239 : OK : Automatic resolution succeeded. Grab & Save '/config/MetersToHA/screen_before_connection.png'. Wait for Button xpath://input[@value='Connexion'].
2023-11-03 22:30:45,239 : ~~ : Wait before clicking (1.6s).
Après je comprend pas trop pour le call_grdf…?
call_grdf
c’est l’événement par défaut pour que le add-on va chercher les données sur le site de GRDF et le mets dans « une entité ».
Un add-on c’est comme une machine à part qui partage quelques fichiers (/config) et sinon le réseau local. L’add-on se connecte au webservice de home assistant car il obtient automatiquement un token pour le faire. Et cela lui permet d’écouter les événements et d’envoyer des requêtes permettant d’envoyer les données de consommation.
ok j’ai un fichier historique.json avec ca comme info
{"09527062140575":{"idPce":"09527062140575","releves":[{"dateDebutReleve":"2023-10-19T06:00:00+02:00","dateFinReleve":"2023-10-20T06:00:00+02:00","journeeGaziere":"2023-10-19","indexDebut":1304,"indexFin":1304,"volumeBrutConsomme":0.20000000000000001,"energieConsomme":2,"pcs":null,"volumeConverti":0,"pta":null,"natureReleve":"Informative Journalier","qualificationReleve":"Mesur\u00e9","status":null,"coeffConversion":11.15841,"frequenceReleve":null,"temperature":null},{"dateDebutReleve":"2023-10-20T06:00:00+02:00","dateFinReleve":"2023-10-21T06:00:00+02:00","journeeGaziere":"2023-10-20","indexDebut":1304,"indexFin":1304,"volumeBrutConsomme":0.22,"energieConsomme":2,"pcs":null,"volumeConverti":0,"pta":null,"natureReleve":"Informative Journalier","qualificationReleve":"Mesur\u00e9","status":null,"coeffConversion":11.15841,"frequenceReleve":null,"temperature":null},{"dateDebutReleve":"2023-10-21T06:00:00+02:00","dateFinReleve":"2023-10-22T06:00:00+02:00","journeeGaziere":"2023-10-21","indexDebut":1304,"indexFin":1304,"volumeBrutConsomme":0.34000000000000002,"energieConsomme":4,"pcs":null,"volumeConverti":0,"pta":null,"natureReleve":"Informative Journalier","qualificationReleve":"Mesur\u00e9","status":null,"coeffConversion":11.15841,"frequenceReleve":null,"temperature":null},{"dateDebutReleve":"2023-10-22T06:00:00+02:00","dateFinReleve":"2023-10-23T06:00:00+02:00","journeeGaziere":"2023-10-22","indexDebut":1304,"indexFin":1305,"volumeBrutConsomme":0.64000000000000001,"energieConsomme":7,"pcs":null,"volumeConverti":1,"pta":null,"natureReleve":"Informative Journalier","qualificationReleve":"Mesur\u00e9","status":null,"coeffConversion":11.15841,"frequenceReleve":null,"temperature":null},{"dateDebutReleve":"2023-10-23T06:00:00+02:00","dateFinReleve":"2023-10-24T06:00:00+02:00","journeeGaziere":"2023-10-23","indexDebut":1305,"indexFin":1306,"volumeBrutConsomme":0.45000000000000001,"energieConsomme":5,"pcs":null,"volumeConverti":0,"pta":null,"natureReleve":"Informative Journalier","qualificationReleve":"Mesur\u00e9","status":null,"coeffConversion":11.15841,"frequenceReleve":null,"temperature":null},{"dateDebutReleve":"2023-10-24T06:00:00+02:00","dateFinReleve":"2023-10-25T06:00:00+02:00","journeeGaziere":"2023-10-24","indexDebut":1306,"indexFin":1306,"volumeBrutConsomme":0.34999999999999998,"energieConsomme":4,"pcs":null,"volumeConverti":0,"pta":null,"natureReleve":"Informative Journalier","qualificationReleve":"Mesur\u00e9","status":null,"coeffConversion":11.15841,"frequenceReleve":null,"temperature":null},{"dateDebutReleve":"2023-10-25T06:00:00+02:00","dateFinReleve":"2023-10-26T06:00:00+02:00","journeeGaziere":"2023-10-25","indexDebut":1306,"indexFin":1306,"volumeBrutConsomme":0.10000000000000001,"energieConsomme":1,"pcs":null,"volumeConverti":0,"pta":null,"natureReleve":"Informative Journalier","qualificationReleve":"Mesur\u00e9","status":null,"coeffConversion":11.15841,"frequenceReleve":null,"temperature":null},{"dateDebutReleve":"2023-10-26T06:00:00+02:00","dateFinReleve":"2023-10-27T06:00:00+02:00","journeeGaziere":"2023-10-26","indexDebut":1306,"indexFin":1306,"volumeBrutConsomme":0.37,"energieConsomme":4,"pcs":null,"volumeConverti":0,"pta":null,"natureReleve":"Informative Journalier","qualificationReleve":"Mesur\u00e9","status":null,"coeffConversion":11.15841,"frequenceReleve":null,"temperature":null},{"dateDebutReleve":"2023-10-27T06:00:00+02:00","dateFinReleve":"2023-10-28T06:00:00+02:00","journeeGaziere":"2023-10-27","indexDebut":1306,"indexFin":1307,"volumeBrutConsomme":0.26000000000000001,"energieConsomme":3,"pcs":null,"volumeConverti":0,"pta":null,"natureReleve":"Informative Journalier","qualificationReleve":"Mesur\u00e9","status":null,"coeffConversion":11.15841,"frequenceReleve":null,"temperature":null},{"dateDebutReleve":"2023-10-28T06:00:00+02:00","dateFinReleve":"2023-10-29T06:00:00+01:00","journeeGaziere":"2023-10-28","indexDebut":1307,"indexFin":1307,"volumeBrutConsomme":0,"energieConsomme":0,"pcs":null,"volumeConverti":0,"pta":null,"natureReleve":"Informative Journalier","qualificationReleve":"Mesur\u00e9","status":null,"coeffConversion":11.15841,"frequenceReleve":null,"temperature":null},{"dateDebutReleve":"2023-10-29T06:00:00+01:00","dateFinReleve":"2023-10-30T06:00:00+01:00","journeeGaziere":"2023-10-29","indexDebut":1307,"indexFin":1307,"volumeBrutConsomme":0,"energieConsomme":0,"pcs":null,"volumeConverti":0,"pta":null,"natureReleve":"Informative Journalier","qualificationReleve":"Mesur\u00e9","status":null,"coeffConversion":11.15841,"frequenceReleve":null,"temperature":null},{"dateDebutReleve":"2023-10-30T06:00:00+01:00","dateFinReleve":"2023-10-31T06:00:00+01:00","journeeGaziere":"2023-10-30","indexDebut":1307,"indexFin":1310,"volumeBrutConsomme":3.7400000000000002,"energieConsomme":42,"pcs":null,"volumeConverti":4,"pta":null,"natureReleve":"Informative Journalier","qualificationReleve":"Mesur\u00e9","status":null,"coeffConversion":11.15841,"frequenceReleve":null,"temperature":null},{"dateDebutReleve":"2023-10-31T06:00:00+01:00","dateFinReleve":"2023-11-01T06:00:00+01:00","journeeGaziere":"2023-10-31","indexDebut":1310,"indexFin":1312,"volumeBrutConsomme":1.51,"energieConsomme":17,"pcs":null,"volumeConverti":1,"pta":null,"natureReleve":"Informative Journalier","qualificationReleve":"Mesur\u00e9","status":null,"coeffConversion":11.15841,"frequenceReleve":null,"temperature":null},{"dateDebutReleve":"2023-11-01T06:00:00+01:00","dateFinReleve":"2023-11-02T06:00:00+01:00","journeeGaziere":"2023-11-01","indexDebut":1312,"indexFin":1314,"volumeBrutConsomme":2.3300000000000001,"energieConsomme":26,"pcs":null,"volumeConverti":2,"pta":null,"natureReleve":"Informative Journalier","qualificationReleve":"Mesur\u00e9","status":null,"coeffConversion":11.15841,"frequenceReleve":null,"temperature":null}],"frequence":null}}
également :
j’imagine que je suis pas mal …?
J’ai vu passer ce type de message pendant le développement et mis en place divers choses pour ne plus l’avoir. Par exmeple, il y a juste « –headless » dans le code.
Ici il est sugéré de définir la variable DISPLAY à qqchse, même « invalide » - « localhost:11.1 » par exemple.
Ici on suggère d’ajouter « -remote-debugging-port=9222 » - je crois que j’ai tenté cela, car c’est commenté dans le code.
Il ne faut pas mettre « debug: true » si le DISPLAY n’est pas défini ni accessible (debug active le display).
Enfin, j’active la trace « chromedriver.log » lorsque le niveau de débogue est debug ou trace. Il y a de messages de type « warning » qui indiquent que des options sont ignorés - ce qui est normal. Toutefois, on y trouvera peut-être d’autres indices concernant ce problème.
Pour cela, il faut avior « dev.007 » et avoir redémarré le add-on.
Pour info, voici le début de ce fichier « chromedriver.log » chez moi pour une session fonctionnelle:
[1699048827.336][INFO]: Starting ChromeDriver 117.0.5938.62 (25a7172909a4cba7355365cf424d7d7eb35231f4-refs/branch-heads/5938@{#1146}) on port 41805
[1699048827.336][INFO]: Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
[1699048827.386][SEVERE]: bind() failed: Address not available (99)
[1699048827.386][INFO]: listen on IPv6 failed with error ERR_ADDRESS_INVALID
[1699048827.637][INFO]: [8294244ba5edc8d3f8f1c07d4293e124] COMMAND InitSession {
"capabilities": {
"alwaysMatch": {
"browserName": "chrome",
"goog:chromeOptions": {
"args": [ "--no-sandbox", "--disable-modal-animations", "--disable-login-animations", "--disable-renderer-backgrounding", "--disable-dev-shm-usage", "--mute-audio", "--disable-blink-features=AutomationControlled", "--disable-extensions", "--disable-popup-blocking", "--disable-background-timer-throttling", "--disable-backgrounding-occluded-wndows", "--disable-translate", "--disable-notifications", "--disable-infobars", "--headless", "--disable-gpu" ],
"excludeSwitches": [ "enable-logging" ],
"extensions": [ ],
"prefs": {
"credentials_enable_service": false,
"download.default_directory": "/config/MetersToHA/",
"download.directory_upgrade": true,
"download.prompt_for_download": false,
"extensions_to_open": "text/csv,application/json",
"profile.default_content_settings.popups": 1,
"profile.password_manager_enabled": false,
"safebrowsing.enabled": false
},
"useAutomationExtension": false
},
"pageLoadStrategy": "normal"
},
"firstMatch": [ {
} ]
}
}