• SHOP-INFO: Kurze Pause!

    Im Zeitraum vom Mo. 25.03.2024 bis Di. 02.04.2024 erfolgt kein Versand. Shop-Bestellungen, welche in diesem Zeitraum getätigt werden, werden voraussichtlich erst wieder ab Mi. 03.04.2024 bearbeitet und verschickt.

    Euer WLANThermo Team wünscht euch schöne Ostertage!

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.
 

don_

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.

probier mal das, das sollte auch mit history-grapf funktionieren, evtl hast du dann einen leeren, weißen kasten wenn keine daten reinkommen.
ich bin mir auch nicht sicher ob der status "unknown" oder "unavailable" ist wenns thermo aus ist

lg

YAML:
    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: '999.0'
          - entity: sensor.wlanthermo_channel_1
            state_not: 'unknown'
        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: '999.0'
          - entity: sensor.wlanthermo_channel_2
            state_not: 'unknown'
        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: '999.0'
          - entity: sensor.wlanthermo_channel_3
            state_not: 'unknown'
        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: '999.0'
          - entity: sensor.wlanthermo_channel_4
            state_not: 'unknown'
        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: '999.0'
          - entity: sensor.wlanthermo_channel_5
            state_not: 'unknown'
        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: '999.0'
          - entity: sensor.wlanthermo_channel_6
            state_not: 'unknown'
        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
 

spacy

New member
Hallo und danke für die Arbeit.
Leider bin ich zu Doof. Bin gerade erst von FHEM zu HA gewechselt und bekomme es nicht hin die Lovelace card einzurichten.
Kann mir da einer einen Tip geben.
Immer wenn ich das über Karte hinzufügen und dann auf Manuell einrichten gehe, den Code einfüge, bekomme ich type not set.

Kann mit da vielleicht jemand helfen?

DANKE
 

spacy

New member
Danke habe mein Fehler. gefunden. Habe das falsch eingefügt.
Jetzt versuche ich per mqtt den nano einzubinden. Aber noch klappt das einbinden nicht
 

don_

Member
Läuft der Broker?

Leg mal zum Testen mal nur einen Sensor an, pass das Topic an und sieh in den mqtt- addon logs nach ob Daten ankommen bzw. ob die entity Daten enthält
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
 

spacy

New member
Der Borker läuft und das NANO verbindet sich auch, aber woher bekomme ich den Topic?
[INFO] found starnano on local database
1614626986: New client connected from 10.149.6.68 as esp8266853a7b (p2, c1, k15, u'starnano').

Mehr konnte ich bisher nicht an info's finden
 

don_

Member
Les Dich mal hier ein

Das Topic für die sensordaten wäre
WLanThermo/"hostname"/status/data

„Hostnamen“ musst du gegen den Namen deiner Nano tauschen (ohne „“), de kannst du in der Weboberfläche der Nano ändern. In der Temperaturübersicht steht er auch links oben neben dem wlanthermo Logo (Standard sollte irgendwas sein wie NANO-abc123)
 

spacy

New member
ja habe irgentwie den Walt vor lauter Bäumen nicht gesehen.
Das habe ich und ich kann auch per MQTT abfragen starten. Nur automatsich wird nichts angelegt wenn ich unter Entitäten schaue
 
Oben Unten