Mon problème
J’ai créé un fichier Sensor avec un appel API Rest.
Au départ, j’avais créé 3 appels API pour récupérer plusieurs fois la même valeur, jusqu’à ce que je vois qu’il est possible de faire un sensor template pour découper le résultat.
J’ai donc créé ce type de sensor :
- platform: rest
name: "Heater Last"
unique_id: heater_last
resource: http://pi-kub1:8183/api/v1/Historic/Last
json_attributes:
-model
value_template: '{{ value_json["model"] }}'
scan_interval: 30
- platform: template
sensors:
heater_state_new:
friendly_name: "Heater State N"
unique_id: heater_state_new
value_template: "{{ state_attr('sensor.heater_last', 'S') }}"
Le json à parser et celui-ci :
{
"message": null,
"didError": false,
"errorMessage": null,
"model": {
"IS": false,
"W": "2023-03-26T18:32",
"C": 19.8,
"IT": 20.2,
"ET": 11,
"S": 0,
"D": 0
}
}
Mon soucis est que le sensor heater_last possède bien le json de son bloc, mais impossible sur le second sensor de récupérer la valeur de l’attribut S. J’ai Unknown.
De même dans l’outil de dév:
{{ states(« sensor.heater_last ») }} => {‹ IS ›: False, ‹ W ›: ‹ 2023-03-27T19:46 ›, ‹ C ›: 19.8, ‹ IT ›: 21.1, ‹ ET ›: 9.5, ‹ S ›: 0, ‹ D ›: 0}
{{ state_attr(« sensor.heater_last »,« S ») }} => None
Une idée ?