Intégrer les données de Beem à Home Assistant
The snippet can be accessed without any authentication.
Authored by
Nicolas Furno
- Créer un fichier
been.yaml
dans le dossier principal de Home Assistant avec le contenu ci-dessous ; - Modifier la ligne 51 pour saisir l'email et le mot de passe du compte Beem visé ;
- Modifier le fichier
configuration.yaml
pour y ajouter ces lignes :
homeassistant:
packages:
beem: !include beem.yaml
Valider la configuration dans les outils de développement, puis redémarrer Home Assistant et les nouvelles entités avec les informations de Beem devraient apparaître.
toujours en vente pour 4,99 €.
> Pour découvrir Home Assistant, mon livre est beem.yaml 1.93 KiB
template:
- sensor:
- name: "Beem - post Data"
unique_id: beeem_post_data
state: '{"month":{{now().strftime("%m").lstrip("0")}},"year":{{now().strftime("%Y")}}}'
- name: "Beem - production mensuelle"
unique_id: beem_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: "Beem - production quotidienne"
unique_id: beem_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: "Beem - production instantanée"
unique_id: beem_watt_production
unit_of_measurement: "W"
device_class: power
state: "{{ state_attr('sensor.beem','wattHour') }}"
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: 60
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\":\"SAISIR ICI VOTRE MAIL BEEM\",\"password\":\"SAISIR ICI VOTRE 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
Please register or sign in to comment