mdeweerd / MetersToHA

Get Meter Data into Home Automation systems
GNU General Public License v3.0
26 stars 8 forks source link

Add integration with MQTT for GRDF #20

Closed vingerha closed 6 months ago

vingerha commented 6 months ago

Je ne sais pas pourquoi le docker file est affecté. J'ai juste pris ton repo et crée un fork en ne changent que le py

mdeweerd commented 6 months ago

Je ne sais pas pourquoi le docker file est affecté. J'ai juste pris ton repo et crée un fork en ne changent que le py

C'est l'intégration continue qui applique pre-commit dans lequel j'ai mis en place divers outils de vérification + le "début de flow" pour pousser des images pour haos fait ses vérifs aussi.

J'ai poussé une mise à jour en appliquant "yamllint" et "prettier" et en replacant le nom de l'image à pousser par une variable.

mdeweerd commented 6 months ago

J'ai créé un compte sur dokcer hub, et je vois que le nom de l'image ne pourra pas être mdeweerd/... car je ne peux pas créer ce 'namespace'. En conséquence, le nom pour l'image devra aussi être un "secret".

vingerha commented 6 months ago

Mais, avant t'as pas eu qq sur docker, non? C'est pas obligatoire. La seule fois que je l'avais tenté était en 2021/2 pour mon pronote2mqtt (abandonné) Si tu veux créer une version docker...je pourrait voir comment la faire?

mdeweerd commented 6 months ago

Oui, en fait j'aimerai bien publier les images pour HAOS et éventuellement une image tel que tu l'a définit là par exemple.

mdeweerd commented 6 months ago

Pour info: pre-commit s'install en local - pip install pre-commit. Puis pre-commit install dans le répertoire de travail. Ensuite au premier commit les outils sont installés (dans un répertoire .cache), et exécutés. Cela permets les vérifs et formattages en local avant le vrai commit.

vingerha commented 6 months ago

Plus de temps pour me concentrer :) ... js suis en route... j'espère de tourver du temps la semaine prochaine au plus tôt

mdeweerd commented 6 months ago

J'ai aussi mis à jour la config pre-commit (workflow github). Sur le fond c'est pareil, mais je comptais faire cela avant la prochaine release.

vingerha commented 6 months ago

je m;'excuse mais je ne peux pas donner suite a n'importe quoi .. pour les jours qui viennent. on en parleravia discord (vingerha)

vingerha commented 6 months ago

Dernier commit: alignement des noms des attributes :)

mdeweerd commented 6 months ago

Un peu de changement en // - j'ai apporté des modifications - normalement tout doit passer. Restera plus qu'à tester.

vingerha commented 6 months ago

le pre-commit passe que pour 2 soucis autour les auth=auth ... je dois chercher pourquoi

mdeweerd commented 6 months ago

le pre-commit passe que pour 2 soucis autour les auth=auth ... je dois chercher pourquoi

Je l'ai réglé - il fallait juste mettre "AuthParameters" comme type (juste=quand même pas très documenté).

vingerha commented 6 months ago

J'ai aussi mon propre image maintenant, pas encore eu le temps de voir sur quelle OS :)

mdeweerd commented 6 months ago

L'image par défaut (Dockerfile) c'est Ubuntu. Pour Alpine il faut pointer dur DockerfileAlpine.

mdeweerd commented 6 months ago

Je vais modifier l'image par défaut.

mdeweerd commented 6 months ago

J'avais pas vu qu'il y avait 2 build - je viens de mettre la variable pour le Dockerfile dans le premier build aussi.

Je ne sais pas pourquoi c'est utile de farie 2 build dans le même CI - je n'ai pas creusé le workflow.

vingerha commented 6 months ago

Petit pas pour une solution meilleur qu'avant :)

mdeweerd commented 6 months ago

Mon devis c'est "Faire plus avec moins". Souvent quand j'interviens le code est plus petit, plus rapide, a plus de fonctionnalités mais moins de bogues. Bon - le docker ne build pas ici (login pas possible), mais bien dans ton fork.

Donc quand cela fonctionne pour toi, je peux accepter ce PR.

vingerha commented 6 months ago

Je vais tester mon fork avec son image

vingerha commented 6 months ago

Le container restarts chaque 10/15s et pas d'accès vers un shell possible e tpas des logs Il faut que je prend plus de temps pour le verifier

vingerha commented 6 months ago

create: docker run -itd --net=host --name meters2ha -v /home/arjan/docker/meters2ha:/workdir vingerha/meters2ha:latest enter; docker exec -it meters2ha /bin/sh cd workdir execute: ./apps/meters_to_ha/meters_to_ha.py --grdf -c ./config.json --run -l . -k ... et c'est bon :) Ça manque juste un script pour déclencher le processus/execute chaque (?) 8 h Est ce que je fait qqc avant d'accepter le PR?...je ne suis pas pressé

mdeweerd commented 6 months ago

Ah oui, c'est logique car les fichiers docker s'utilisent actuellement avec docker-compose.

On peut mettre comme commande par défaut: ./apps/meters_to_ha/meters_to_ha.py -c ./config.json --run

Et ajouter les variables d'environnement par défaut:

      DISPLAY: host.docker.internal:0.0
      NO_AT_BRIDGE: 1

et

l'option: working_dir: /workdir

Le montage du volume reste à la charge de l'utilisateur je pense:

    volumes: [.:/workdir]

Je peux accepter le PR tel que et ces points peuvent être abordés dans un autre.

En ce qui concerne le cron - je trouve dommage de laisser un docker actif pour l'exécuter une fois par jour, mais pour certains cela peut-être l'approche souhaité. Cela peut être abordé dans un autre PR avec la/les méthodes appropriés pour avoir un cron dans le conteneur.

vingerha commented 6 months ago

ok... continue avec le PR et on ajoute après. Pour le cron, on peut le faire apd de l'os aussi...a voir :) Pour MQTT, j'ai maintenant plus des maj depuis avanthier donc ce sensor perd sa valeurm l'idee était de montrer une changement journaliere dans HA. Il faut que je pense a une solution avec plusieurs jours. Pour le moment je ne sais pas quand GRDF me livre des prochaines maj, c'est hebdomadaire?

mdeweerd commented 6 months ago

GRDF donne une MAJ tous les jours sauf "incidents" de retard - perso je tente 2 fois en fin de journée car la MAJ se fait peu avant.

vingerha commented 6 months ago

Depuis m2ha plus de maj depuis avant-hier. Leur site web ne me donne que l'option vers 19Fev :) ... c'est assez pareil que ave Enedis...ils s'ent foutes de leurs clients

mdeweerd commented 6 months ago

C'est principalement une obligation légale... Il y avait même une loi qui obligait à installer un écran d'information dans les foyers et finalement cela s'est transformé en un affichage dans application mobile - pas le même impact.