Home Assistant - WLANThermo nano

murmelbahn

New member
Geil, danke dafür. Hab heute mein WLANThermo bekommen und werde das auch ins HASS holen. Ich poste dann auch mal ein paar Screenshots. Danke für den Github code.
 

murmelbahn

New member
Ich habe jetzt noch ein paar Scripts eingebaut um Garprozesse für Gerichte zu bauen:
1589615889729.png

Bei Pulled Pork gehe ich davon aus, dass ich vier Stück auf zwei Grills zubereite, da hab ich dann beim ausführen noch einen Hinweis damit die Thermometer richtig gesteckt werden:

1589615966431.png

Das Ausführen der Skripts setzt auch ein paar booleans die ich dann im nächsten Schritt für die notifications benutzen will.
 

don_

Member
Würdest du die scripts teilen? Interessiert mich sehr wie du das gelöst hast!
Ich hab das Mini und das Nano bis jetzt nur mit bedingten cards eingebunden, damit nur aktive Kanäle in der UI angezeigt werden
 

dermichahc

New member
Ich habe Martins Code mal erweitert um alle 6 Kanäle des Nano, Benachrichtigungen und die Pitmaster-Steuerung. Alles eingedeutscht im Webif.

Sensor

Code:
- platform: mqtt
  name: "WLANThermo"
  # change topic to your modelname!
  state_topic: "WLanThermo/WlanThermo/status/data"
  value_template: "{{ value_json.system.soc }}"
  # change topic to your modelname!
  json_attributes_topic: "WLanThermo/WlanThermo/status/data"
  json_attributes_template: "{{ value_json | tojson }}"
  device_class: battery
  unit_of_measurement: "%"
  expire_after: 60

- platform: template
  sensors:
    wlanthermo_pitmaster_all:
      value_template: "{{ state_attr('sensor.wlanthermo', 'pitmaster') }}"
      entity_id: sensor.wlanthermo
    wlanthermo_pitmaster_value:
      friendly_name: "Drehzahl"
      # set to zero if wlanthermo is turned off or channel not plugged in
      value_template: >
          {% if not is_state('sensor.wlanthermo', 'unknown') %}
          {% set value = state_attr('sensor.wlanthermo', 'pitmaster')['pm'][0]['value'] %}
          {% if value >= 0 and value <= 100 %}
          {{ value }}
          {% else %}
          0
          {% endif %}
          {% else %}
          0
          {% endif %}
      unit_of_measurement: "%"
      entity_id: sensor.wlanthermo
    wlanthermo_pitmaster_channel:
      friendly_name: "Kanal"
      # set to zero if wlanthermo is turned off or channel not plugged in
      value_template: >
          {% if not is_state('sensor.wlanthermo', 'unknown') %}
          {% set channel = state_attr('sensor.wlanthermo', 'pitmaster')['pm'][0]['channel'] %}
          {% if channel >= 1 and channel <= 6 %}
          {{ channel }}
          {% else %}
          0
          {% endif %}
          {% else %}
          0
          {% endif %}
      unit_of_measurement: ""
      entity_id: sensor.wlanthermo
    wlanthermo_pitmaster_mode:
      friendly_name: "Modus"
      # set to zero if wlanthermo is turned off or channel not plugged in
      value_template: >
          {% if not is_state('sensor.wlanthermo', 'unknown') %}
          {% set typ = state_attr('sensor.wlanthermo', 'pitmaster')['pm'][0]['typ'] %}
          {{ typ }}
          {% else %}
          0
          {% endif %}
      unit_of_measurement: ""
      entity_id: sensor.wlanthermo
# Template sensor per channel
- platform: template
  sensors:
    # Channel 1
    wlanthermo_channel_1_all:
      value_template: "{{ state_attr('sensor.wlanthermo', 'channel')[0] }}"
      entity_id: sensor.wlanthermo
    wlanthermo_channel_1:
      friendly_name: "Kanal 1"
      # set to zero if wlanthermo is turned off or channel not plugged in
      value_template: >
          {% if not is_state('sensor.wlanthermo', 'unknown') %}
          {% set temp = state_attr('sensor.wlanthermo', 'channel')[0]['temp'] %}
          {% if temp >= -30 and temp <= 300 %}
          {{ temp }}
          {% else %}
          0
          {% endif %}
          {% else %}
          0
          {% endif %}
      unit_of_measurement: "°C"
      device_class: temperature
      entity_id: sensor.wlanthermo

    # Channel 2
    wlanthermo_channel_2_all:
      value_template: "{{ state_attr('sensor.wlanthermo', 'channel')[1] }}"
      entity_id: sensor.wlanthermo
    wlanthermo_channel_2:
      friendly_name: "Kanal 2"
      # set to zero if wlanthermo is turned off or channel not plugged in
      value_template: >
          {% if not is_state('sensor.wlanthermo', 'unknown') %}
          {% set temp = state_attr('sensor.wlanthermo', 'channel')[1]['temp'] %}
          {% if temp >= -30 and temp <= 300 %}
          {{ temp }}
          {% else %}
          0
          {% endif %}
          {% else %}
          0
          {% endif %}
      unit_of_measurement: "°C"
      device_class: temperature
      entity_id: sensor.wlanthermo

        # Channel 3
    wlanthermo_channel_3_all:
      value_template: "{{ state_attr('sensor.wlanthermo', 'channel')[2] }}"
      entity_id: sensor.wlanthermo
    wlanthermo_channel_3:
      friendly_name: "Kanal 3"
      # set to zero if wlanthermo is turned off or channel not plugged in
      value_template: >
          {% if not is_state('sensor.wlanthermo', 'unknown') %}
          {% set temp = state_attr('sensor.wlanthermo', 'channel')[2]['temp'] %}
          {% if temp >= -30 and temp <= 300 %}
          {{ temp }}
          {% else %}
          0
          {% endif %}
          {% else %}
          0
          {% endif %}
      unit_of_measurement: "°C"
      device_class: temperature
      entity_id: sensor.wlanthermo

        # Channel 4
    wlanthermo_channel_4_all:
      value_template: "{{ state_attr('sensor.wlanthermo', 'channel')[3] }}"
      entity_id: sensor.wlanthermo
    wlanthermo_channel_4:
      friendly_name: "Kanal 4"
      # set to zero if wlanthermo is turned off or channel not plugged in
      value_template: >
          {% if not is_state('sensor.wlanthermo', 'unknown') %}
          {% set temp = state_attr('sensor.wlanthermo', 'channel')[3]['temp'] %}
          {% if temp >= -30 and temp <= 300 %}
          {{ temp }}
          {% else %}
          0
          {% endif %}
          {% else %}
          0
          {% endif %}
      unit_of_measurement: "°C"
      device_class: temperature
      entity_id: sensor.wlanthermo

        # Channel 5
    wlanthermo_channel_5_all:
      value_template: "{{ state_attr('sensor.wlanthermo', 'channel')[4] }}"
      entity_id: sensor.wlanthermo
    wlanthermo_channel_5:
      friendly_name: "Kanal 5"
      # set to zero if wlanthermo is turned off or channel not plugged in
      value_template: >
          {% if not is_state('sensor.wlanthermo', 'unknown') %}
          {% set temp = state_attr('sensor.wlanthermo', 'channel')[4]['temp'] %}
          {% if temp >= -30 and temp <= 300 %}
          {{ temp }}
          {% else %}
          0
          {% endif %}
          {% else %}
          0
          {% endif %}
      unit_of_measurement: "°C"
      device_class: temperature
      entity_id: sensor.wlanthermo

        # Channel 6
    wlanthermo_channel_6_all:
      value_template: "{{ state_attr('sensor.wlanthermo', 'channel')[5] }}"
      entity_id: sensor.wlanthermo
    wlanthermo_channel_6:
      friendly_name: "Kanal 6"
      # set to zero if wlanthermo is turned off or channel not plugged in
      value_template: >
          {% if not is_state('sensor.wlanthermo', 'unknown') %}
          {% set temp = state_attr('sensor.wlanthermo', 'channel')[5]['temp'] %}
          {% if temp >= -30 and temp <= 300 %}
          {{ temp }}
          {% else %}
          0
          {% endif %}
          {% else %}
          0
          {% endif %}
      unit_of_measurement: "°C"
      device_class: temperature
      entity_id: sensor.wlanthermo
 

dermichahc

New member
Input Number

Code:
wlanthermo_channel_1_min:
  name: Kanal 1 min
  min: 0
  max: 250
  step: 1
  unit_of_measurement: °C
  icon: mdi:thermometer-low
wlanthermo_channel_1_max:
  name: Kanal 1 max
  min: 0
  max: 250
  step: 1
  unit_of_measurement: °C
  icon: mdi:thermometer-high
wlanthermo_channel_2_min:
  name: Kanal 2 min
  min: 0
  max: 250
  step: 1
  unit_of_measurement: °C
  icon: mdi:thermometer-low
wlanthermo_channel_2_max:
  name: Kanal 2 max
  min: 0
  max: 250
  step: 1
  unit_of_measurement: °C
  icon: mdi:thermometer-high
wlanthermo_channel_3_min:
  name: Kanal 3 min
  min: 0
  max: 250
  step: 1
  unit_of_measurement: °C
  icon: mdi:thermometer-low
wlanthermo_channel_3_max:
  name: Kanal 3 max
  min: 0
  max: 250
  step: 1
  unit_of_measurement: °C
  icon: mdi:thermometer-high
wlanthermo_channel_4_min:
  name: Kanal 4 min
  min: 0
  max: 250
  step: 1
  unit_of_measurement: °C
  icon: mdi:thermometer-low
wlanthermo_channel_4_max:
  name: Kanal 4 max
  min: 0
  max: 250
  step: 1
  unit_of_measurement: °C
  icon: mdi:thermometer-high
wlanthermo_channel_5_min:
  name: Kanal 5 min
  min: 0
  max: 250
  step: 1
  unit_of_measurement: °C
  icon: mdi:thermometer-low
wlanthermo_channel_5_max:
  name: Kanal 5 max
  min: 0
  max: 250
  step: 1
  unit_of_measurement: °C
  icon: mdi:thermometer-high
wlanthermo_channel_6_min:
  name: Kanal 6 min
  min: 0
  max: 250
  step: 1
  unit_of_measurement: °C
  icon: mdi:thermometer-low
wlanthermo_channel_6_max:
  name: Kanal 6 max
  min: 0
  max: 250
  step: 1
  unit_of_measurement: °C
  icon: mdi:thermometer-high
wlanthermo_pitmaster_temp:
  name: Solltemperatur
  min: 0
  max: 250
  step: 1
  unit_of_measurement: °C
  icon: mdi:thermometer
 

dermichahc

New member
Input Select

Code:
wlanthermo_pitmaster_mode:
  name: Betriebsmodus
  options:
    - 'Aus'
    - 'Automatisch'
  icon: mdi:fan
wlanthermo_pitmaster_channel:
  name: Kanal
  options:
    - '1'
    - '2'
    - '3'
    - '4'
    - '5'
    - '6'
  icon: mdi:pound
wlanthermo_channel_1_alarm:
  name: Benachrichtigung
  options:
    - 'Aus'
    - 'An'
  icon: mdi:thermometer-alert
wlanthermo_channel_2_alarm:
  name: Benachrichtigung
  options:
    - 'Aus'
    - 'An'
  icon: mdi:thermometer-alert
wlanthermo_channel_3_alarm:
  name: Benachrichtigung
  options:
    - 'Aus'
    - 'An'
  icon: mdi:thermometer-alert
wlanthermo_channel_4_alarm:
  name: Benachrichtigung
  options:
    - 'Aus'
    - 'An'
  icon: mdi:thermometer-alert
wlanthermo_channel_5_alarm:
  name: Benachrichtigung
  options:
    - 'Aus'
    - 'An'
  icon: mdi:thermometer-alert
wlanthermo_channel_6_alarm:
  name: Benachrichtigung
  options:
    - 'Aus'
    - 'An'
  icon: mdi:thermometer-alert
 

dermichahc

New member
Automation

Code:
# First automation: set Home Assistant sensor value from MQTT messages, so we
# update if someone changes the values on web interface
- id: '1565774399160'
  alias: WLANThermo update channels min/max from MQTT
  trigger:
  - entity_id: sensor.wlanthermo
    platform: state
  condition: []
  action:
  - data_template:
      entity_id: input_number.wlanthermo_channel_1_min
      value: '{{ state_attr(''sensor.wlanthermo'', ''channel'').0.min }}'
    service: input_number.set_value
  - data_template:
      entity_id: input_number.wlanthermo_channel_1_max
      value: '{{ state_attr(''sensor.wlanthermo'', ''channel'').0.max }}'
    service: input_number.set_value
  - data_template:
      entity_id: input_number.wlanthermo_channel_2_min
      value: '{{ state_attr(''sensor.wlanthermo'', ''channel'').1.min }}'
    service: input_number.set_value
  - data_template:
      entity_id: input_number.wlanthermo_channel_2_max
      value: '{{ state_attr(''sensor.wlanthermo'', ''channel'').1.max }}'
    service: input_number.set_value
  - data_template:
      entity_id: input_number.wlanthermo_channel_3_min
      value: '{{ state_attr(''sensor.wlanthermo'', ''channel'').2.min }}'
    service: input_number.set_value
  - data_template:
      entity_id: input_number.wlanthermo_channel_3_max
      value: '{{ state_attr(''sensor.wlanthermo'', ''channel'').2.max }}'
    service: input_number.set_value
  - data_template:
      entity_id: input_number.wlanthermo_channel_4_min
      value: '{{ state_attr(''sensor.wlanthermo'', ''channel'').3.min }}'
    service: input_number.set_value
  - data_template:
      entity_id: input_number.wlanthermo_channel_4_max
      value: '{{ state_attr(''sensor.wlanthermo'', ''channel'').3.max }}'
    service: input_number.set_value
  - data_template:
      entity_id: input_number.wlanthermo_channel_5_min
      value: '{{ state_attr(''sensor.wlanthermo'', ''channel'').4.min }}'
    service: input_number.set_value
  - data_template:
      entity_id: input_number.wlanthermo_channel_5_max
      value: '{{ state_attr(''sensor.wlanthermo'', ''channel'').4.max }}'
    service: input_number.set_value
  - data_template:
      entity_id: input_number.wlanthermo_channel_6_min
      value: '{{ state_attr(''sensor.wlanthermo'', ''channel'').5.min }}'
    service: input_number.set_value
  - data_template:
      entity_id: input_number.wlanthermo_channel_6_max
      value: '{{ state_attr(''sensor.wlanthermo'', ''channel'').5.max }}'
    service: input_number.set_value
  - data_template:
      entity_id: input_number.wlanthermo_pitmaster_temp
      value: '{{ state_attr(''sensor.wlanthermo'', ''pitmaster'').pm.0.set }}'
    service: input_number.set_value
  - data_template:
      entity_id: input_select.wlanthermo_pitmaster_mode
      option: '{{ state_attr(''sensor.wlanthermo'', ''pitmaster'').pm.0.typ | replace(''off'',''Aus'') | replace(''auto'',''Automatisch'') }}'
    service: input_select.select_option
  - data_template:
      entity_id: input_select.wlanthermo_pitmaster_channel
      option: '{{ state_attr(''sensor.wlanthermo'', ''pitmaster'').pm.0.channel }}'
    service: input_select.select_option
  - data_template:
      entity_id: input_select.wlanthermo_channel_1_alarm
      option: '{{ state_attr(''sensor.wlanthermo'', ''channel'').0.alarm | replace(''0'',''Aus'') | replace(''1'',''An'') }}'
    service: input_select.select_option
  - data_template:
      entity_id: input_select.wlanthermo_channel_2_alarm
      option: '{{ state_attr(''sensor.wlanthermo'', ''channel'').1.alarm | replace(''0'',''Aus'') | replace(''1'',''An'') }}'
    service: input_select.select_option
  - data_template:
      entity_id: input_select.wlanthermo_channel_3_alarm
      option: '{{ state_attr(''sensor.wlanthermo'', ''channel'').2.alarm | replace(''0'',''Aus'') | replace(''1'',''An'') }}'
    service: input_select.select_option
  - data_template:
      entity_id: input_select.wlanthermo_channel_4_alarm
      option: '{{ state_attr(''sensor.wlanthermo'', ''channel'').3.alarm | replace(''0'',''Aus'') | replace(''1'',''An'') }}'
    service: input_select.select_option
  - data_template:
      entity_id: input_select.wlanthermo_channel_5_alarm
      option: '{{ state_attr(''sensor.wlanthermo'', ''channel'').4.alarm | replace(''0'',''Aus'') | replace(''1'',''An'') }}'
    service: input_select.select_option
  - data_template:
      entity_id: input_select.wlanthermo_channel_6_alarm
      option: '{{ state_attr(''sensor.wlanthermo'', ''channel'').5.alarm | replace(''0'',''Aus'') | replace(''1'',''An'') }}'
    service: input_select.select_option

- id: '1565867288673'
  alias: WLANThermo set channel 1 min
  trigger:
  - entity_id: input_number.wlanthermo_channel_1_min
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/channels
      retain: true
      payload: '{{ ''{"number":1,"min":''+states(''input_number.wlanthermo_channel_1_min'')+''}''
        }}'

- id: '1565867288674'
  alias: WLANThermo set channel 1 max
  trigger:
  - entity_id: input_number.wlanthermo_channel_1_max
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/channels
      retain: true
      payload: '{{ ''{"number":1,"max":''+states(''input_number.wlanthermo_channel_1_max'')+''}''
        }}'

- id: '1565867288675'
  alias: WLANThermo set channel 2 min
  trigger:
  - entity_id: input_number.wlanthermo_channel_2_min
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/channels
      retain: true
      payload: '{{ ''{"number":2,"min":''+states(''input_number.wlanthermo_channel_2_min'')+''}''
        }}'

- id: '1565867288676'
  alias: WLANThermo set channel 2 max
  trigger:
  - entity_id: input_number.wlanthermo_channel_2_max
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/channels
      retain: true
      payload: '{{ ''{"number":2,"max":''+states(''input_number.wlanthermo_channel_2_max'')+''}''
        }}'

- id: '1565867288677'
  alias: WLANThermo set channel 3 min
  trigger:
  - entity_id: input_number.wlanthermo_channel_3_min
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/channels
      retain: true
      payload: '{{ ''{"number":3,"min":''+states(''input_number.wlanthermo_channel_3_min'')+''}''
        }}'

- id: '1565867288678'
  alias: WLANThermo set channel 3 max
  trigger:
  - entity_id: input_number.wlanthermo_channel_3_max
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/channels
      retain: true
      payload: '{{ ''{"number":3,"max":''+states(''input_number.wlanthermo_channel_3_max'')+''}''
        }}'

- id: '1565867288679'
  alias: WLANThermo set channel 4 min
  trigger:
  - entity_id: input_number.wlanthermo_channel_4_min
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/channels
      retain: true
      payload: '{{ ''{"number":4,"min":''+states(''input_number.wlanthermo_channel_4_min'')+''}''
        }}'

- id: '1565867288680'
  alias: WLANThermo set channel 4 max
  trigger:
  - entity_id: input_number.wlanthermo_channel_4_max
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/channels
      retain: true
      payload: '{{ ''{"number":4,"max":''+states(''input_number.wlanthermo_channel_4_max'')+''}''
        }}'

- id: '1565867288681'
  alias: WLANThermo set channel 5 min
  trigger:
  - entity_id: input_number.wlanthermo_channel_5_min
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/channels
      retain: true
      payload: '{{ ''{"number":5,"min":''+states(''input_number.wlanthermo_channel_5_min'')+''}''
        }}'

- id: '1565867288682'
  alias: WLANThermo set channel 5 max
  trigger:
  - entity_id: input_number.wlanthermo_channel_5_max
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/channels
      retain: true
      payload: '{{ ''{"number":5,"max":''+states(''input_number.wlanthermo_channel_5_max'')+''}''
        }}'

- id: '1565867288683'
  alias: WLANThermo set channel 6 min
  trigger:
  - entity_id: input_number.wlanthermo_channel_6_min
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/channels
      retain: true
      payload: '{{ ''{"number":6,"min":''+states(''input_number.wlanthermo_channel_6_min'')+''}''
        }}'

- id: '1565867288684'
  alias: WLANThermo set channel 6 max
  trigger:
  - entity_id: input_number.wlanthermo_channel_6_max
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/channels
      retain: true
      payload: '{{ ''{"number":6,"max":''+states(''input_number.wlanthermo_channel_6_max'')+''}''
        }}'

- id: '1565867288685'
  alias: WLANThermo set pitmaster temp
  trigger:
  - entity_id: input_number.wlanthermo_pitmaster_temp
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/pitmaster
      retain: true
      payload: '{{ ''[{"id":0,"channel":''+states(''input_select.wlanthermo_pitmaster_channel'')+'',"pid":2,"value":0,"set":''+states(''input_number.wlanthermo_pitmaster_temp'')+'',"typ":''+states(''input_select.wlanthermo_pitmaster_mode'') | replace(''Aus'',''off'') | replace(''Automatisch'',''auto'')+''}]''}}'

- id: '1565867288686'
  alias: WLANThermo set pitmaster channel
  trigger:
  - entity_id: input_select.wlanthermo_pitmaster_channel
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/pitmaster
      retain: true
      payload: '{{ ''[{"id":0,"channel":''+states(''input_select.wlanthermo_pitmaster_channel'')+'',"pid":2,"value":0,"set":''+states(''input_number.wlanthermo_pitmaster_temp'')+'',"typ":''+states(''input_select.wlanthermo_pitmaster_mode'') | replace(''Aus'',''off'') | replace(''Automatisch'',''auto'')+''}]''}}'

- id: '1565867288687'
  alias: WLANThermo set pitmaster mode
  trigger:
  - entity_id: input_select.wlanthermo_pitmaster_mode
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/pitmaster
      retain: true
      payload: '{{ ''[{"id":0,"channel":''+states(''input_select.wlanthermo_pitmaster_channel'')+'',"pid":2,"value":0,"set":''+states(''input_number.wlanthermo_pitmaster_temp'')+'',"typ":''+states(''input_select.wlanthermo_pitmaster_mode'') | replace(''Aus'',''off'') | replace(''Automatisch'',''auto'')+''}]''}}'

- id: '1565867288688'
  alias: WLANThermo set channel 1 alarm
  trigger:
  - entity_id: input_select.wlanthermo_channel_1_alarm
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/channels
      retain: true
      payload: '{{ ''{"number":1,"alarm":''+states(''input_select.wlanthermo_channel_1_alarm'') | replace(''Aus'',''0'') | replace(''An'',''1'')+''}''}}'

- id: '1565867288689'
  alias: WLANThermo set channel 2 alarm
  trigger:
  - entity_id: input_select.wlanthermo_channel_2_alarm
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/channels
      retain: true
      payload: '{{ ''{"number":2,"alarm":''+states(''input_select.wlanthermo_channel_2_alarm'') | replace(''Aus'',''0'') | replace(''An'',''1'')+''}''}}'

- id: '1565867288690'
  alias: WLANThermo set channel 3 alarm
  trigger:
  - entity_id: input_select.wlanthermo_channel_3_alarm
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/channels
      retain: true
      payload: '{{ ''{"number":3,"alarm":''+states(''input_select.wlanthermo_channel_3_alarm'') | replace(''Aus'',''0'') | replace(''An'',''1'')+''}''}}'

- id: '1565867288691'
  alias: WLANThermo set channel 4 alarm
  trigger:
  - entity_id: input_select.wlanthermo_channel_4_alarm
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/channels
      retain: true
      payload: '{{ ''{"number":4,"alarm":''+states(''input_select.wlanthermo_channel_4_alarm'') | replace(''Aus'',''0'') | replace(''An'',''1'')+''}''}}'

- id: '1565867288692'
  alias: WLANThermo set channel 5 alarm
  trigger:
  - entity_id: input_select.wlanthermo_channel_5_alarm
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/channels
      retain: true
      payload: '{{ ''{"number":5,"alarm":''+states(''input_select.wlanthermo_channel_5_alarm'') | replace(''Aus'',''0'') | replace(''An'',''1'')+''}''}}'

- id: '1565867288693'
  alias: WLANThermo set channel 6 alarm
  trigger:
  - entity_id: input_select.wlanthermo_channel_6_alarm
    platform: state
  condition: []
  action:
  - service: mqtt.publish
    data_template:
      topic: WLanThermo/WlanThermo/set/channels
      retain: true
      payload: '{{ ''{"number":6,"alarm":''+states(''input_select.wlanthermo_channel_6_alarm'') | replace(''Aus'',''0'') | replace(''An'',''1'')+''}''}}'
 

dermichahc

New member
Lovelace Config

Code:
    icon: 'mdi:grill-outline'
    title: WLANThermo
    badges: []
    cards:
      - entities:
          - entity: sensor.wlanthermo_channel_1
          - entity: sensor.wlanthermo_channel_2
          - entity: sensor.wlanthermo_channel_3
          - entity: sensor.wlanthermo_channel_4
          - entity: sensor.wlanthermo_channel_5
          - entity: sensor.wlanthermo_channel_6
        hours_to_show: 24
        refresh_interval: 15
        title: Temperaturverlauf
        type: history-graph
      - card:
          cards:
            - entity: sensor.wlanthermo_channel_1
              max: 400
              min: 0
              severity:
                green: 0
                red: 0
                yellow: 0
              theme: Backend-selected
              type: gauge
              unit: °C
            - entities:
                - input_number.wlanthermo_channel_1_min
                - input_number.wlanthermo_channel_1_max
                - input_select.wlanthermo_channel_1_alarm
              type: entities
          type: vertical-stack
        conditions:
          - entity: sensor.wlanthermo_channel_1
            state_not: '0'
        type: conditional
      - card:
          cards:
            - entity: sensor.wlanthermo_channel_2
              max: 400
              min: 0
              severity:
                green: 0
                red: 0
                yellow: 0
              theme: Backend-selected
              type: gauge
              unit: °C
            - entities:
                - input_number.wlanthermo_channel_2_min
                - input_number.wlanthermo_channel_2_max
                - input_select.wlanthermo_channel_2_alarm
              type: entities
          type: vertical-stack
        conditions:
          - entity: sensor.wlanthermo_channel_2
            state_not: '0'
        type: conditional
      - card:
          cards:
            - entity: sensor.wlanthermo_channel_3
              max: 400
              min: 0
              severity:
                green: 0
                red: 0
                yellow: 0
              theme: Backend-selected
              type: gauge
              unit: °C
            - entities:
                - input_number.wlanthermo_channel_3_min
                - input_number.wlanthermo_channel_3_max
                - input_select.wlanthermo_channel_3_alarm
              type: entities
          type: vertical-stack
        conditions:
          - entity: sensor.wlanthermo_channel_3
            state_not: '0'
        type: conditional
      - card:
          cards:
            - entity: sensor.wlanthermo_channel_4
              max: 400
              min: 0
              severity:
                green: 0
                red: 0
                yellow: 0
              theme: Backend-selected
              type: gauge
              unit: °C
            - entities:
                - input_number.wlanthermo_channel_4_min
                - input_number.wlanthermo_channel_4_max
                - input_select.wlanthermo_channel_4_alarm
              type: entities
          type: vertical-stack
        conditions:
          - entity: sensor.wlanthermo_channel_4
            state_not: '0'
        type: conditional
      - card:
          cards:
            - entity: sensor.wlanthermo_channel_5
              max: 400
              min: 0
              severity:
                green: 0
                red: 0
                yellow: 0
              theme: Backend-selected
              type: gauge
              unit: °C
            - entities:
                - input_number.wlanthermo_channel_5_min
                - input_number.wlanthermo_channel_5_max
                - input_select.wlanthermo_channel_5_alarm
              type: entities
          type: vertical-stack
        conditions:
          - entity: sensor.wlanthermo_channel_5
            state_not: '0'
        type: conditional
      - card:
          cards:
            - entity: sensor.wlanthermo_channel_6
              max: 400
              min: 0
              severity:
                green: 0
                red: 0
                yellow: 0
              theme: Backend-selected
              type: gauge
              unit: °C
            - entities:
                - input_number.wlanthermo_channel_6_min
                - input_number.wlanthermo_channel_6_max
                - input_select.wlanthermo_channel_6_alarm
              type: entities
          type: vertical-stack
        conditions:
          - entity: sensor.wlanthermo_channel_6
            state_not: '0'
        type: conditional
      - cards:
          - entity: sensor.wlanthermo_pitmaster_value
            max: 100
            min: 0
            name: Pitmaster
            severity:
              green: 25
              red: 75
              yellow: 50
            type: gauge
          - entities:
              - entity: input_number.wlanthermo_pitmaster_temp
              - entity: input_select.wlanthermo_pitmaster_channel
              - entity: input_select.wlanthermo_pitmaster_mode
            show_header_toggle: false
            type: entities
        type: vertical-stack
 

dermichahc

New member
Leider kann man im History Graph die Kanäle nicht dynamisch ein- und ausblenden. Beim Klick auf den Kanal wird er ein- oder ausgeblendet.
 
Oben Unten