Problème pour récupérer et décoder une trame JSON

J’ai eu le problème pour récupérer la version « active » de plex, je te mets mon code en exemple :

  • Dans mon fichier rest.yaml :
- resource: https://plex.tv/api/downloads/5.json
  scan_interval: 600
  sensor:
    - name: "Plex Query"
      json_attributes_path: "$.computer"
      value_template: "ok"
      json_attributes:
        - "Linux"

Tu notes le « value_template » qui va donner comme état au sensor la valeur « OK », si tu ne fais pas ça c’est toute la trame qui sera considérée comme état. Et comme elle est trop longue => « error ».

  • Ensuite j’ai créé un sensor avec la platforme template, dont l’état sera celui de l’attribut du sensor créé ci-dessus :
  - name: "Plex Current Version"
    unique_id: plex_current_version
    state: "{{ state_attr('sensor.plex_query', 'Linux')['version'] }}"
    icon: mdi:plex

Donc chez toi un truc comme ça devrait pouvoir fonctionner :

  - platform: rest
    name: Wiser
    resource: "https://192.168.0.40/rsa1/MeasurementData;sId=205;ch=5"
    method: GET
    username: m2madmin
    password: xxxx
    authentication: basic
    headers:
        Content-Type: application/json
        User-Agent: Home-Assistant
    verify_ssl: false
    device_class: energy
    unit_of_measurement: Wh
    value_template: "ok"
    json_attributes:
        - sId
        - ch
        - P

Et ensuite un sensor par valeur, exemple avec le sId :

  - name: "Wiser sID"
    unique_id: wiser_sid
    state: "{{ state_attr('sensor.wiser', 'sId') }}"
    icon: mdi:plex

Je suis pas certain d’avoir était clair mais j’entends dans l’oreillette que c’est l’heure du repas :wink:

[EDIT] de retour après le repas, j’ai pris le temps de lire le topic avec un peu plus de concentration. Je vois que tu étais déjà sur la piste. Donc mon message ne va pas t’apporter grand chose en plus à part le fait d’extraire l’attribut pour en faire un sensor à part entière.