Milles merci …
Ca fonctionne toujours pas mais j’avance.
la récupération du token n’est pas instantané.
c’est pour cela que dans un de mes précèdent message je t’avais indique de modifier le scan_interval
ça a l’air d’être des secondes d’après la doc
re,
La question me trottine c’est que mon installation est sur un routeur wifi connecté à ma box wifi qui fonctionne bien avec l’appli sur mon portable mais est ce que Haos le récupère convenablement ?*
Voila…
Bonjour à tous,
J’ai trouvé, merci a vous tous pour vos aides…
Salut
tu peux en dire plus ?
ça pourrait aider d’autres personnes
Bonsoir à tous,
Dans configuration.yaml , j’avais :
packages: !include_dir_merge_named includes/packages
Et en cherchant pour autre chose, j’ai vu que sur une config pour package, la ligne était ecrit comme celle ci-dessous, donc j’ai essayé et la le token est rentré et j’ai pu créer ma car entité.
packages: !include_dir_merge_named packages
J’ai un gros mal de crâne mais cela fonctionne.
Bonne soirée.
Bonjour,
Petite question : ts les mois faut il changer le post data ? ( mois année )
Bon dimanche.
Bonjour
Oui c’est c’est cela
bon dimanche aussi
Bonjour,
Merci pour le tuto ! En lisant tout bien scrupuleusement, tout à fonctionné du 1er coup ![]()
Petite question tout de même : n’est-il pas possible d’automatiser la mise à jour du payload via un script ou autre ?
Pourrait-on également avoir la remontée de l’historique de production mensuelle, annuelle, journalière,… ?
Merci.
Bonne journée
Bonjour
Pour ta première question ca doit etre possible, mais c’est en dehors de mes compétences.
Pour ta deuxième quewtion,
Je t’invite a configurer des utility meter,
En utilisant le sensor.total_day
Il y a plein d’exemples sur le forum.
Je suiscen mode dégradé donc je ne suis pas en mesure de te faire La réponse
Hello,
je viens de mettre en place ce tuto, merci topissime.
mais car il doit y avoir un mais: je ne recupere les infos que d’une seule beembox, la deuxieme qui est avec une extension ne remonte pas.
avez vous des idées?
Merci
Bonjour
Désolé mais je ne suis pas dans cette situation.
Solution trouvée
il suffit de doubler le code et de nommer les kits en 1 et 2
J’ai trouvé la solution grace a au post en debut de thread ou la solution se trouve en fin.
Petit update pour mettre à jour le mois et l’année :
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_template: >
{
"month": "{{ now().month }}",
"year": "{{ now().year }}"
}
scan_interval: 3600
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":"!secret beem_email","password":"!secret beem_password"}'
| jq .accessToken) && token=${token//\"} && echo $token && sed -i "s/\(beem_token:\)\(.*\)/\1 Bearer $token/" /config/secrets.yaml
name: beem_token
scan_interval: 3600
Hello,
Petite erreur dans le snippet
Ça ne fonctionne pas :
payload_template: >
{
"month": "{{ now().month }}",
"year": "{{ now().year }}"
}
Ça fonctionne :
payload_template: >
{
"month": {{ now().month }},
"year": {{ now().year }}
}
Explication
- Avec guillemets doubles (« »):
- Les valeurs
{{ now().month }}et{{ now().year }}sont traitées comme des chaînes de caractères, ce que l’API peut ne pas accepter car elle attend des chiffres.
- Les valeurs
- Sans guillemets doubles:
- Les valeurs sont traitées comme des nombres, ce qui est le format attendu par l’API.
Résumé
- Sans guillemets : Traité comme un nombre.
- Avec guillemets : Traité comme une chaîne de caractères.
Utilisez :
payload_template: >
{
"month": {{ now().month }},
"year": {{ now().year }}
}
Pour envoyer des nombres, comme attendu par l’API de beem.
Bonjour à tous
Est ce que ça fonctionne toujours de votre coté ?
J’essaie de mettre en place chez moi sans succès. Impossible de trouver le bearer token …
Par contre je découvre une clé API…

Salut
le token est recuperé automatiquement et inséré dans secrets.yaml
voila ce que j’ai mi dans password.yaml
Use this file to store secrets like usernames and passwords.
Learn more at Storing secrets - Home Assistant
some_password: welcome
beem_token: Bearer
apres un certain temps le token sera integré a la suite de Bearer
essaye de faire [quote=« Frederic_TRAVERS, post:29, topic:26011, full:true »]
J’ai trouvé. J’ai modifié le Scan_interval à 60 et ça réactualise les données.
[/quote]
pour creer le token mais ensuite remet la valeur du scan interval a 84600 comme initialement definit
Merci beaucoup !
Malheureusement ça ne fonctionne pas chez moi …
j’ai le retour d’état suivant pour chacun des sensors : unavailable
J’ai pourtant, a priori bien suivi le tuto
ajouter ceci dans le fichier config.yaml
homeassistant:
packages: !include_dir_named packages
Puis créé le dossier package pour créé le fichier beem.yaml avec le code suivant :
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":8,"year":2024}'
# 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\":\"mail@gmail\",\"password\":\"password"}" | 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
J’ai bien le code Bearer completer dans le fichier secret.yaml
![]()
Salut
je t’ai copie l’intégralité de mon fichier 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
unique_id: 202408250001
- 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
unique_id: 202408250002
- 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
unique_id: 202408250003
#rest:
# - resource_template: https://api-x.beem.energy/beemapp/box/summary
# method: POST
# headers:
# Content-type: application/json
# Authorization: !secret beem_token
# payload: '{"month":8,"year":2024}'
# scan_interval: 30
# sensor:
# - name: "beem"
# json_attributes_path: "$[0]"
# json_attributes:
# - "totalMonth"
# - "wattHour"
# - "totalDay"
# value_template: 'OK'
rest:
- resource_template: https://api-x.beem.energy/beemapp/box/summary
method: POST
headers:
Content-type: application/json
Authorization: !secret beem_token
payload_template: >
{
"month": {{ now().month }},
"year": {{ now().year }}
}
scan_interval: 3600
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\":\"monemail@toto.com\",\"password\":\"motdepasse\"}" | jq .accessToken) && token=${token//\"} && echo $token && sed -i "s/\(beem_token:\)\(.*\)/\1 Bearer $token/" /config/secrets.yaml'
name: beem_token
scan_interval: 3600
shell_command:
beem: sed -i "s/\({{cmd}}:\)\(.*\)/\1 '{{ states.sensor.post_data.state|to_json }}'/" /config/configuration.yaml
n’oublie pas de modifier ligne 72 ton mot de passe et ton password
as tu une chaine de caractère a rallonge dans ton homeassistant/secrets.yaml apres le
beem_token: Bearer
J’ai changé le code avec le tiens.
Même résultat
Les sensors apparaissent et peuvent être ajouté sur la carte energie.
Retour d’état : unavailable
J’ai bien une chaine de caractère a rallonge dans secrets.yaml apres le
beem_token: Bearer