Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add integration with MQTT for GRDF #20

Merged
merged 23 commits into from
Mar 1, 2024
Merged

Add integration with MQTT for GRDF #20

merged 23 commits into from
Mar 1, 2024

Conversation

vingerha
Copy link
Contributor

No description provided.

@vingerha
Copy link
Contributor Author

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
Copy link
Owner

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
Copy link
Owner

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
Copy link
Contributor Author

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
Copy link
Owner

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
Copy link
Owner

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
Copy link
Contributor Author

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
Copy link
Owner

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
Copy link
Contributor Author

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

attribs start with the type, and end with the 'unit', this was not the case for 'period' attribs
@vingerha
Copy link
Contributor Author

vingerha commented Mar 1, 2024

Dernier commit: alignement des noms des attributes :)

@mdeweerd
Copy link
Owner

mdeweerd commented Mar 1, 2024

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

@vingerha
Copy link
Contributor Author

vingerha commented Mar 1, 2024

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

@mdeweerd
Copy link
Owner

mdeweerd commented Mar 1, 2024

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
Copy link
Contributor Author

vingerha commented Mar 1, 2024

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

@mdeweerd
Copy link
Owner

mdeweerd commented Mar 1, 2024

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

@mdeweerd
Copy link
Owner

mdeweerd commented Mar 1, 2024

Je vais modifier l'image par défaut.

@mdeweerd
Copy link
Owner

mdeweerd commented Mar 1, 2024

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
Copy link
Contributor Author

vingerha commented Mar 1, 2024

Petit pas pour une solution meilleur qu'avant :)

@mdeweerd
Copy link
Owner

mdeweerd commented Mar 1, 2024

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
Copy link
Contributor Author

vingerha commented Mar 1, 2024

Je vais tester mon fork avec son image

only removed empty line
@vingerha
Copy link
Contributor Author

vingerha commented Mar 1, 2024

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
Copy link
Contributor Author

vingerha commented Mar 1, 2024

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
Copy link
Owner

mdeweerd commented Mar 1, 2024

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
Copy link
Contributor Author

vingerha commented Mar 1, 2024

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
Copy link
Owner

mdeweerd commented Mar 1, 2024

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.

@mdeweerd mdeweerd merged commit 30665a2 into mdeweerd:meters-to-ha Mar 1, 2024
12 of 13 checks passed
@vingerha
Copy link
Contributor Author

vingerha commented Mar 1, 2024

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
Copy link
Owner

mdeweerd commented Mar 1, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants