| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- mqtt:
- sensor:
- # --- Mode (mapped int -> string) ---
- - name: "Pellet Stove Mode"
- state_topic: "pelletstove/state"
- value_template: >
- {% set m = value_json.mode | int %}
- {% set modes = {
- 0: 'OFF',
- 2: 'STANDBY',
- 4: 'PRIME',
- 5: 'PRIMING',
- 6: 'IGNITION',
- 8: 'WARMUP',
- 10: 'HIGH HEAT',
- 12: 'LOW HEAT',
- 14: 'COOLING',
- 20: 'ON',
- 21: 'ALARM',
- 22: 'ALARM COOLDOWN',
- 23: 'OFF COOLDOWN',
- 24: 'STANDBY COOLDOWN',
- 25: 'STBY COOLDOWN',
- 40: 'TEST'
- } %}
- {{ modes.get(m, 'UNKNOWN') }}
-
- # --- Temperatures ---
- - name: "Pellet Stove Flame Temp"
- state_topic: "pelletstove/state"
- value_template: "{{ value_json.tFlame }}"
- unit_of_measurement: "°C"
-
- - name: "Pellet Stove Flue Temp"
- state_topic: "pelletstove/state"
- value_template: "{{ value_json.tFlue }}"
- unit_of_measurement: "°C"
-
- - name: "Pellet Stove Feed Rate"
- state_topic: "pelletstove/state"
- value_template: "{{ value_json.feed }}"
- unit_of_measurement: "%"
- state_class: measurement
- template:
- - binary_sensor:
- - name: "Pellet Stove Steady-State Supervision Fault"
- unique_id: pellet_stove_steady_state_fault
- state: >
- {% set mode = states('sensor.pellet_stove_mode') %}
- {% set feed = states('sensor.pellet_stove_feed_rate') | float(0) %}
- {% set flame = states('sensor.pellet_stove_flame_temp') | float(0) %}
- {% set flue = states('sensor.pellet_stove_flue_temp') | float(0) %}
- {% set steady_modes = ['HIGH HEAT', 'LOW HEAT', 'ON'] %}
- {{
- mode in steady_modes and (
- (feed > 35 and flame < 200) or
- (flame < 200 and flue > 120)
- )
- }}
- delay_on: "00:01:30"
- device_class: problem
|