Bonjour
a ceux qui sont equipés de panneaux solaires BEEM
j’ai trouvé cela
Bonjour
a ceux qui sont equipés de panneaux solaires BEEM
j’ai trouvé cela
Hello,
Je n’ai pas trouvé d’infos complémentaires ici sur beem2mqtt ( un petit lien serait possible ? )
Je suis en pleine install et je suis tombé sur ce message au fil de mes lectures.
Merci
cdt
Salut
j’avais trouvé cela
https://lunarok-domotique.com/2023/01/beem-energy_presentation/
mais je ne suis pas allé plus loin…
Bonjour, tu peux acheter ou te faire un boitier OpenDTU puis remonter les info via MQTT
[tbnobody/OpenDTU: Software for ESP32 to talk to Hoymiles Inverters (github.com)](https://github.com/tbnobody/OpenDTU)
ensuite pour aller plus loin j’ai utiliser le Tuto de Felix62
[[Tuto] Optimiser la gestion de sa production Solaire - Home Assistant - Tutoriels & Partages / Template / Jinja - Home Assistant Communauté Francophone (hacf.fr)](https://forum.hacf.fr/t/tuto-optimiser-la-gestion-de-sa-production-solaire/22834)
Salut @ToyN
merci pour le lien
j’ai déjà foultitudes d’esp qui sont utilisés à la maison…
là avec quelques lignes de code…
ça fonctionne. et ça répond a mes besoins
bonne journée
Pour ceux qui veulent le code
j’ai mis ça dans un package appelé beem.yaml
template:
- sensor:
- name: post_data
state: '{"month":{{now().strftime("%m").lstrip("0")}},"year":{{now().strftime("%Y")}}}'
- name: total_month
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: "{{ state_attr('sensor.beem','totalMonth') | float/1000 }}"
icon: mdi:solar-power
- name: total_day
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: "{{ state_attr('sensor.beem','totalDay') | float/1000 }}"
icon: mdi:solar-power
- name: watt_hour
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
state: "{{ state_attr('sensor.beem','wattHour') | float/1 }}"
icon: mdi:solar-power
rest:
- resource_template: https://api-x.beem.energy/beemapp/box/summary
method: POST
headers:
Content-type: application/json
Authorization: !secret beem_token
payload: '{"month":9,"year":2023}'
# le payload month est a mettre a jour tous les mois pour recuperer les bonnes valeurs.
scan_interval: 30
sensor:
- name: "beem"
json_attributes_path: "$[0]"
json_attributes:
- "totalMonth"
- "wattHour"
- "totalDay"
value_template: 'OK'
command_line:
- sensor:
command: 'token=$(curl https://api-x.beem.energy/beemapp/user/login -X POST -H "Content-Type: application/json" --data-raw "{\"email\":\"toto@gmail.com\",\"password\":\"mot-de-passe\"}" | jq .accessToken) && token=${token//\"} && echo $token && sed -i "s/\(beem_token:\)\(.*\)/\1 Bearer $token/" /config/secrets.yaml'
name: beem_token
scan_interval: 84600
shell_command:
beem: sed -i "s/\({{cmd}}:\)\(.*\)/\1 '{{ states.sensor.post_data.state|to_json }}'/" /config/configuration.yaml
Salut jrvrcd,
J’ai repris ton code mais malheureusement, au test de la conf, ça me remonte l’erreur suivante:
expected a dictionary for dictionary value @ data['packages']['template']
Bon je débute ici mais j’ai pensé à un problème d’indentation…
Salut
Comme ça fait bientôt 3 mois que ça tourne comme cela a la maison, je pense qui’ il est nécessaire de rajouter une ligne dans le fichier /config/secrets.yaml
il faut rajouter un item a la fin de ce fichier
beem_token:
je pense que c’est la que ça coince
merci de confirmer
Salut,
Merci pour ton retour, alors le token c’est ok. le problème c’est que visiblement je ne sais pas comment organiser mon arbo packages et comment déclarer ca correctement dans le configuration.yaml.
Vais devoir bouquiner encore un peu
Salut
j’utilise les packages
c’est a mon avis plus lisible
lire cela
et plus particulièrement create a packages folder
dans ton configuration.yaml
tu rajoutes les deux lignes suivantes
homeassistant:
packages: !include_dir_named packages
puis il te faudra creer un dossier
packages
dans ce dossier
tu y colles intégralement le code que j’ai donner plus haut…
dans un fichier beem.yaml par exemple
Merci beaucoup, j’avais donc bien capté ceci. J’ai ajusté exactement comme tu le recommande et ça marche.
Maintenant, j’ai aussi ce package qui était installé: [TUTO] - Gestion de sa piscine avec sonde iopool
Le configuration.yaml côté package était alors ce qu’avait préconisé @mguyard, l’ensemble parfaitement fonctionnel et jolie. :
homeassistant:
# Load packages
packages: !include_dir_merge_named includes/packages
J’ai pourtant bien essayé de faire cohabiter les deux en suivant la doc (Que je ne maitrise pas encore) mais impossible. Ceci dit, maintenant Beem fonctionne, mais pas Iopool (Bien entendu, j’ai ajusté le chemin et ou créé les dossiers au besoin)
Hello,
Repasse en inclide_dir_merge_named comme je le recommande dans mon tuto iopool et modifie ton beem.yaml ainsi :
beem:
template:
- sensor:
- name: post_data
state: '{"month":{{now().strftime("%m").lstrip("0")}},"year":{{now().strftime("%Y")}}}'
- name: total_month
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: "{{ state_attr('sensor.beem','totalMonth') | float/1000 }}"
icon: mdi:solar-power
- name: total_day
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: "{{ state_attr('sensor.beem','totalDay') | float/1000 }}"
icon: mdi:solar-power
- name: watt_hour
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
state: "{{ state_attr('sensor.beem','wattHour') | float/1 }}"
icon: mdi:solar-power
rest:
- resource_template: https://api-x.beem.energy/beemapp/box/summary
method: POST
headers:
Content-type: application/json
Authorization: !secret beem_token
payload: '{"month":9,"year":2023}'
# le payload month est a mettre a jour tous les mois pour recuperer les bonnes valeurs.
scan_interval: 30
sensor:
- name: "beem"
json_attributes_path: "$[0]"
json_attributes:
- "totalMonth"
- "wattHour"
- "totalDay"
value_template: 'OK'
command_line:
- sensor:
command: 'token=$(curl https://api-x.beem.energy/beemapp/user/login -X POST -H "Content-Type: application/json" --data-raw "{\"email\":\"toto@gmail.com\",\"password\":\"mot-de-passe\"}" | jq .accessToken) && token=${token//\"} && echo $token && sed -i "s/\(beem_token:\)\(.*\)/\1 Bearer $token/" /config/secrets.yaml'
name: beem_token
scan_interval: 84600
shell_command:
beem: sed -i "s/\({{cmd}}:\)\(.*\)/\1 '{{ states.sensor.post_data.state|to_json }}'/" /config/configuration.yaml
Et restart HA.
Ca devrait passer.
En fait en utilisant include_dir_merge_named il faut t’assuré de nommé le package au debut. Ce que j’ai fais a la premiere ligne de ce que je propose ici.
J’avais pourtant compris et tester ça, j’ai du m’emmêler les pinceaux entre merge ou non.
Un grand merci à vous deux, ça marche parfaitement !
Hello, merci pour toutes ces infos. J’ai suivi vos conseils pour les packages et le config.yaml…
Mais question bête…comment faire pour remonter toutes ces infos dans mon dashboard ? Merci d’avance !
Salut
en utilisant le code ci dessus
tu vas en fait créer trois nouvelles entités
a l’occurrence
sensor.watt_hour
sensor.total_day
et
sensor.total_month
dans ton dashboard,
tu te mets en mode modification et
tu auras la possibilité de rajouter une carte entité
tu devras y rajouter a la main les rois entités précédemment créées
tu valides. et voila.
tu peux aussi vérifier avant que tes entités existent
en regardant dans:
outils de développement
onglet état
Merci pour la réponse rapide !
J’ai vérifié et en effet les entités ne remonte pas.
Pour essayer dans configuration.yaml j’ai fait : « sensor: !include_dir_merge_named includes/packages » et j’ai mis le sensor.yaml dans le packages avec beem.yaml mais ça ne fonctionne pas nomplu.
Je ne comprend pas à quel moment les infos de beem.yaml remonte en fait
As tu verifié la validité de ton configuration.yaml et des dépendances ( le fameux include machin chose.
Si c’est fait et que cela ne retourne pas d’erreurs. Un redémarrage de ha est recommandé
Oui j’ai bien vérifié mon code et reboot HA plusieurs fois mais rien y fait. Je dois mal faire quelques chose à un endroit mais quoi…Beem.yaml est appelé avec quel bout de code au final ? Je n’arrive pas à comprendre comment les sensor sont censé remonter ?
Merci pour l’aide !
Julien
Hello
tu as pensé a rajouter dans le fichier /config/secrets.yaml ?
beem_token:
d’après ce que je comprends le token est recuperé
par les lignes suivantes
command_line:
- sensor:
command: 'token=$(curl https://api-x.beem.energy/beemapp/user/login -X POST -H "Content-Type: application/json" --data-raw "{\"email\":\"toto@gmail.com\",\"password\":\"mot-de-passe\"}" | jq .accessToken) && token=${token//\"} && echo $token && sed -i "s/\(beem_token:\)\(.*\)/\1 Bearer $token/" /config/secrets.yaml'
name: beem_token
scan_interval: 84600
bien entendu
la mise a jour des sensors proprement dit est faite je pense par le pooling qui semble être défini toutes les 30 ( ??? )
J’ai repris tout à zero et ça y est ça fonctionne ! génial ! Merci pour ton aide.
Depuis l’onglet « conso » de beem j’ai raccordé mon Linky, est-ce que quelqu’un sait si c’est possible de remonter ces infos dans HA ? Ça éviterait de devoir mettre un Lixee ou autre…