Skip to content
Snippets Groups Projects

Intégrer les données de Beem à Home Assistant

  • Clone with SSH
  • Clone with HTTPS
  • Embed
  • Share
    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

    :warning:️ Attention, il ne faut pas dupliquer les deux premières lignes et si elles sont déjà dans le fichier, il faut uniquement ajouter le fichier been comme nouveau package. :warning:

    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.

    > Pour découvrir Home Assistant, mon livre est toujours en vente pour 4,99 €.

    Edited
    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
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment