myskao
(Ondřej Myška)
1
Hello
I am new too HA. I am trying write a simple yaml - read html output and put it into sensors
Output is:
“23;07;22;11;12;47;0000200131;SC5-IG1;000;000;000;000;187;063;000;000;”
And I need put values 187 and 063 to plyn_1 and plyn_2
Code is
- platform: rest
scan_interval: 10
resource: http://192.168.1.155/dataout.htm
name: "Plyn_www"
- platform: template
sensors:
plyn_1:
friendly_name: "Plyn1"
value_template: "{{ value.sensor.plyn_www.split(';')[1] }}"
unit_of_measurement: "imp"
plyn_2:
friendly_name: "Plyn2"
value_template: "{{ value.sensor.plyn_www.split(';')[2] }}"
unit_of_measurement: "imp"
try it out in Developer tools > Template
{{ states('sensor.plyn_www').split(';')[12] }}
And here is another direction of doing it within restful (you are using restful sensor)
RESTful - Home Assistant (home-assistant.io)
myskao
(Ondřej Myška)
5
Now i works, experimental code is bellow:
-
platform: rest
scan_interval: 10
resource: http://192.168.1.155/dataout.htm
name: “Plyn_MM”
-
platform: template
sensors:
plyn_0:
friendly_name: “Plyn0”
value_template: “{{ states(‘sensor.plyn_mm’).split(’;’)[12] }}”
unit_of_measurement: “imp000”
plyn_1:
friendly_name: “Plyn256”
value_template: “{{ states(‘sensor.plyn_mm’).split(’;’)[13] }}”
unit_of_measurement: “imp256”
plyn_celkem:
friendly_name: “PlynCelkem”
value_template: “{{ states(‘sensor.plyn_0’) | float(0) + states(‘sensor.plyn_1’) | float(0) *256 }}”
unit_of_measurement: “implusu”
plyn_diff:
friendly_name: “PlynDiff”
value_template: “{{ states(‘sensor.plyn_celkem’) | float(0) - states(‘sensor.plyn_temp’) | float(0) }}”
unit_of_measurement: “implusu”
plyn_temp:
friendly_name: “PlynTemp”
value_template: “{{ states(‘sensor.plyn_0’) | float(0) + states(‘sensor.plyn_1’) | float(0) * 256 }}”
unit_of_measurement: “implusu”
I want make sensor with difference between actual an previous value. I am tried to use temp sensor value, but it does not work.
Thanks