• 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

HafenGrillR

New member
Vielleicht hilft das ja dem ein oder anderen hier weiter
Danke für Deine Mühe, das hat sofort geklappt. Der Code ist dann gleich in eine mqtt.yaml ausgegliedert worden, um die Übersicht zu behalten.:)
(Den Typo in der Device-Konfiguration habe ich dann noch selber geändert.;))

Ach ja, vielleicht bei der Gelegenheit noch mal kurz hier vorstellen. Ich bin Michael und über den GSV zum MINIV3 gekommen, der bisher aber nur über das Thermometer-Display genutzt wurde.
Im Februar habe ich dann mit HA angefangen, um mit einer Handvoll Shellys endlich mal wieder meine Lüftungssteuerung umzusetzen (hatte ich schon vor Jahren mal mit CONRAD-Connect gemacht) und den ganzen Hue-Zoo in eine Oberfläche einzubinden. Tuya Steckdosen und Miele-Waschmaschine sind dann schnell gefolgt.
Gestern habe ich mich dann mal an MQTT und das WLanThermo rangemacht. Als nächstes ist jetzt meine Bluetti Powerstation dran, die leider nur BT-fähig ist. In dem Zusammenhang kommt dann wohl auch mein erstes kleines ESP32-Projekt. :)
Viele Grüße
Michael
 

ulli

New member
Viel Erfolg und viel Spaß, du kannst ja gerne mal deine Umsetzung in Home Assistant weiter beschreiben.

Welche MQTT-Übertragungsrate ist denn zu empfehlen?
Gibt es irgendwelche Einschränkungen bzgl. Einbindung der Weboberfläche ins Homeassistant Dashboard?

Hintergrund: Mein Wlan-Thermo steigt bei längeren Grillaktionen gelegentlich aus, sendet nicht mehr über MQTT und ist nicht mehr über die Weboberfläche erreichbar, auf dem Display steht dann n.c.
Gibt sich dann nach etwas Zeit von alleine, ein Neustart hilft auch.

Ich frage mich dehalb, läuft irgend ein Buffer/Cache o.dgl. auf dem Wlanthermo voll weil z.B. das HomeAssistant vielleicht zuviele HTTP Anfragen sendet oder liegt es doch an einem instabilen/schwachen Wlan?
 
Zuletzt bearbeitet:

HafenGrillR

New member
Danke, wenn ich mein Dashboard in einer vorzeigbaren Form zusammengebaut habe (mit historischem Temperaturverläufen etc.) werde ich das hier mal posten. Ob ich die WLanThermo-Weboberfläche in HA einbinde weiß ich noch nicht. Das hängt wohl davon ab, ob ich auch sie Settings in HA hinbekomme.

Zu MQTT-Übertragungsraten kann ich nicht viel beitragen, aber man soll es nicht übertreiben (mit 60s habe ich erst einmal begonnen, da sich Temperaturen nicht so sprunghaft ändern).

Mein MINIV3 läuft bisher auch über mehrere Stunden ohne Abstürze (allerdings immer unter günstigen WLAN-Bedingungen). Wenn sich das jetzt mit MQTT ändert werde ich berichten. Zur Zeit ist das jedoch nicht zu erwarten, denn bisher nutze ich den Mosquitto-Broker nur als Topic Listener.

Btw weiß hier jemand, ob man in den MQTT-Einstellungen in HA einfach mit "MQTT neu konfigurieren" ein weiteres Topic hinzufügen kann oder wird dadurch die WLanThermo Konfiguration "überschrieben"?
 

ulli

New member
Auf dem Wlanthermo steht oben rechts oder links nc.
Ich kann das nächste Mal ein foto machen
 

m0uh

New member
Hallo!

Nachdem ich meinen MINIv3 schon länger in Home-Assistant integriert habe und sich das Ganze einigermaßen bewährt hat, wollte ich mein Setup auch mal hier teilen. Die .yaml Dateien für die Integration sind hier verfügbar: https://github.com/m0uH/homeassistant-wlanthermo

Neben den Sensoren sind auch die relevantesten Einstellungen integriert und lassen sich über Home-Assistant ändern.

Abhängig von den Push-Einstellungen des WLANThermo sendet Home-Assistant entsprechende Benachrichtigungen.

Zudem lässt sich ein Alarm aktivieren, welcher die verbleibende Zeit bis zum Erreichen der gesetzten Zieltemperatur (Maximum) abschätzt und 10 Minuten vorher anschlägt.

Viele Grüße!

Anbei ein Screenshot einer Grill-Session:

Screenshot_20220206_143819.png
 

seebaer1976

New member
Hallo!

Nachdem ich meinen MINIv3 schon länger in Home-Assistant integriert habe und sich das Ganze einigermaßen bewährt hat, wollte ich mein Setup auch mal hier teilen. Die .yaml Dateien für die Integration sind hier verfügbar: https://github.com/m0uH/homeassistant-wlanthermo

Neben den Sensoren sind auch die relevantesten Einstellungen integriert und lassen sich über Home-Assistant ändern.

Abhängig von den Push-Einstellungen des WLANThermo sendet Home-Assistant entsprechende Benachrichtigungen.

Zudem lässt sich ein Alarm aktivieren, welcher die verbleibende Zeit bis zum Erreichen der gesetzten Zieltemperatur (Maximum) abschätzt und 10 Minuten vorher anschlägt.

Viele Grüße!

Anbei ein Screenshot einer Grill-Session

hi m0uh,

erstmal tolle arbeit hast du gemacht. hat bestimmt ein paar tage gedauert.

wollte fragen welche ha version du laufen hast?
bekomme es bei mir nicht zum laufen, (Home Assistant 2023.4.2 Supervisor 2023.04.0 Operating System 9.5 Frontend 20230406.1 - latest)
kann es vielleicht sein das in ha was geändert wurde?

hab einen MiniV1.

hab alle änderungen vorgenommen, die du beschrieben hast.

hab alle entitäten in einem eigenem dashboard. sie werden aber alle als unbekannt oder nicht verfügbar angezeigt. wenn ich unter developer-tools/template z.b. {{ state_attr('sensor.wlanthermo', 'pitmaster').pm[0]['typ'] }} abfrage, bekomme ich das richtige ergebnis zurück.

wenn ich z.b. einen schalter betätige oder beim pitmaster was einstelle, kommt die meldung: "Fehler beim Aufrufen des Diensts switch/turn_on. Error rendering data template: TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'"

wenn ich beim pitmaster was einstelle, kommt die meldung: "Fehler beim Aufrufen des Diensts select/select_option. Error rendering data template: ValueError: 'unknown' is not in list"

veilleicht hast eine idee, bin mit meinem latein am ende.

frohe ostern
seebaer1976

hier noch mein mqtt topic/paypload

WLanThermo/MiniV1/status/data

{"device":{"device":"mini","serial":"2462abc38f84","cpu":"esp32","flash_size":16777216,"item":"m1j06o5210B","hw_version":"v1","sw_version":"v1.2.2","api_version":"1","language":"de"},"system":{"time":"1681112523","unit":"C","ap":"WLANTHERMO-AP","host":"MiniV1","language":"de","version":"v1.2.2","getupdate":"false","autoupd":true,"prerelease":true,"crashreport":true,"hwversion":"V1"},"hardware":["V1"],"api":{"version":"1"},"sensors":[{"type":0,"name":"1000K/Maverick","fixed":false},{"type":1,"name":"Fantast-Neu","fixed":false},{"type":2,"name":"Fantast","fixed":false},{"type":3,"name":"100K/iGrill2","fixed":false},{"type":4,"name":"ET-73","fixed":false},{"type":5,"name":"Perfektion","fixed":false},{"type":6,"name":"50K","fixed":false},{"type":7,"name":"Inkbird","fixed":false},{"type":8,"name":"100K6A1B","fixed":false},{"type":9,"name":"Weber_6743","fixed":false},{"type":10,"name":"Santos","fixed":false},{"type":11,"name":"5K3A1B","fixed":false},{"type":12,"name":"PT100","fixed":false},{"type":13,"name":"PT1000","fixed":false},{"type":14,"name":"ThermoWorks","fixed":false},{"type":15,"name":"Typ K","fixed":true},{"type":16,"name":"Bluetooth","fixed":true},{"type":17,"name":"Maverick","fixed":true},{"type":18,"name":"Connect","fixed":true}],"features":{"bluetooth":true,"pitmaster":true},"pid":[{"name":"SSR SousVide","id":0,"aktor":0,"Kp":104.00,"Ki":0.20,"Kd":0.00,"DCmmin":0.00,"DCmmax":100.00,"opl":0,"SPmin":0.00,"SPmax":0.00,"link":0,"tune":0,"jp":100},{"name":"TITAN 50x50","id":1,"aktor":1,"Kp":7.00,"Ki":0.01,"Kd":128.00,"DCmmin":25.00,"DCmmax":100.00,"opl":1,"SPmin":25.00,"SPmax":75.00,"link":0,"tune":0,"jp":80},{"name":"Servo MG995","id":2,"aktor":2,"Kp":104.00,"Ki":0.20,"Kd":0.00,"DCmmin":0.00,"DCmmax":100.00,"opl":0,"SPmin":25.00,"SPmax":75.00,"link":0,"tune":0,"jp":100},{"name":"Meiner","id":3,"aktor":1,"Kp":3.00,"Ki":0.05,"Kd":45.00,"DCmmin":25.00,"DCmmax":80.00,"opl":1,"SPmin":0.00,"SPmax":100.00,"link":0,"tune":0,"jp":100}],"aktor":["SSR","FAN","SERVO"],"display":{"updname":"NX3224T028-180","orientation":180},"iot":{"PMQhost":"192.168.50.2","PMQport":1883,"PMQuser":"d187","PMQpass":"rommel","PMQqos":0,"PMQon":true,"PMQint":10,"CLon":true,"CLtoken":"ba8ce6fb80d6cca8f3211c","CLint":30,"CLurl":"cloud.wlanthermo.de/index.html","CCLon":false,"CCLint":30,"CCLurl":""}}
{"system":{"time":"1681114753","unit":"C","rssi":-75,"online":2},"channel":[{"number":1,"name":"Garraum Gr","typ":0,"temp":999.00,"min":110.00,"max":130.00,"alarm":3,"color":"#FFFF00","fixed":false,"connected":false},{"number":2,"name":"Brisket","typ":0,"temp":999.00,"min":88.00,"max":88.00,"alarm":3,"color":"#22B14C","fixed":false,"connected":false},{"number":3,"name":"Kanal 3","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#EF562D","fixed":false,"connected":false},{"number":4,"name":"Kanal 4","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#FFFFFF","fixed":false,"connected":false},{"number":5,"name":"Kanal 5","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#A349A4","fixed":false,"connected":false},{"number":6,"name":"Kanal 6","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#804000","fixed":false,"connected":false},{"number":7,"name":"Kanal 7","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#5587A2","fixed":false,"connected":false},{"number":8,"name":"Kanal 8","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#5C7148","fixed":false,"connected":false},{"number":9,"name":"Garraum Kl","typ":17,"temp":999.00,"min":100.00,"max":120.00,"alarm":0,"color":"#FFC002","fixed":true,"connected":false},{"number":10,"name":"Kanal 10","typ":17,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#0FE6F1","fixed":true,"connected":false}],"pitmaster":{"type":["off","manual","auto"],"pm":[{"id":0,"channel":1,"pid":2,"value":0,"set":110.00,"typ":"auto","typ_last":"auto","set_color":"#ff0000","value_color":"#000000"}]}}
 

m0uh

New member
Hallo seebaer!

Ich nutze wie du die aktuellste HomeAssistant Version.

In deiner "data payload" stehen alle Sensoren als disconnected drin, in diesem Fall werden die Sensoren in HomeAssistant als unavailable markiert. Kannst du es mit einem verbundenen Temperaturfühler probieren?

Du solltest dann ein entsprechenden Sensor "sensor.wlanthermo_channel_x_all" mit der passenden Temperatur.

Viele Grüße
m0uH
 

seebaer1976

New member
hi,

danke für deine antwort.

der payload war mein fehler, hatte den wlanthermo voher runtergefahren.
und hatte auch vergessen zu schreiben das die temps angezeigt werden und der rest wie oben geschrieben.

  • temp min/max zeigt 0.0 und nicht die im wlanthermo hinterlegten und kann sie auch nicht ändern
  • alle color zeigen unbekannt
  • kanal name steht nur kanal name und nicht die im wlanthermo hinterlegten kann sie auch nicht ändern
  • alram/push schalter kommt beim einschalten: "Fehler beim Aufrufen des Diensts switch/turn_on. Error rendering data template: TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'" und beim ausschalten "Fehler beim Aufrufen des Diensts switch/turn_off. Error rendering data template: TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'"
  • und bei einstellen vom pitmaster kommt: "Fehler beim Aufrufen des Diensts select/select_option. Error rendering data template: ValueError: 'unknown' is not in list"
  • bei pitmnaster value kommt: "Fehler beim Aufrufen des Diensts number/set_value. Error rendering data template: ValueError: 'unknown' is not in list"
  • pit sollwert zeigt auch 0 an und nicht die im wlanthermo hinterlegten und kann sie auch nicht ändern

wofür sind die schalter gedacht, da passiert auch nichts:
WLANThermo set channel 1 name
WLANThermo set pitmaster
WLANThermo update channel 1 name from MQTT
WLANThermo Became Available

ich habe die temps auch erst bekommen wie ich bei mqtt:
value_template: "{{ value_json.system.soc }}" in
value_template: "{{ value_json.system.rssi }}"
mal geändert hab. da in ha log stand das es das nicht gibt


mfg
seebaer1976
 
Zuletzt bearbeitet:

m0uh

New member
Hi seebaer!

wofür sind die schalter gedacht, da passiert auch nichts:
WLANThermo set channel 1 name
WLANThermo set pitmaster
WLANThermo update channel 1 name from MQTT
WLANThermo Became Available

Diese Automatisierungen sind dafür zuständig die Änderungen im WLANThermo in Home-Assistant bzw in die andere Richtung zu übernehmen, so dass z.B. wenn der Channel Name im HA geändert wird, das auch auf dem WLANThermo übernommen wird.

Bezüglich der Fehler habe ich dir eine Nachricht geschickt.

Viele Grüße!
 

dermichahc

New member
@m0uh

Sieht echt toll aus!

Also folgendes ist mir aufgefallen. Die sensoren werden jetzt mit sensor.template_ angelegt. Die number sind z.B. number.1_none_minimum und die select werden garnicht angelegt. :(

Ich nutze die 2023.4.4, aber solche elementaren Änderungen sollten ja nicht in bugfix releases vorgenommen werden.

Hat jemand eine Idee?
 
Zuletzt bearbeitet:

m0uh

New member
Hi @dermichahc !

Die Min/Max Nummern sind hier definiert: https://github.com/m0uH/homeassista...ster/wlanthermo/wlanthermo_template.yaml#L589 und benötigen keine Automatisierungen zum synchronisieren zwischen MQTT und Home-Assistant.

Das Problem scheint, dass die Sensoren etwas unerwartete "entity_id"s bekommen. Diese kann man leider nicht mehr direkt vorgeben und wird aus dem "Namen" gebildet, welcher sicher derzeit unter anderem aus den Namen im WLANThermo zusammen setzt.

@seebaer1976 hatte denke ich das gleiche Problem, sobald wir sein Problem gelöst haben, können wir hier denke ich ein Update posten.

Viele Grüße!
 

Moritz82

New member
Moin, da die neue Grillsaison ja bereits begonnen hat (hat sie jemals geendet? :D ) wollte ich dieses Jahr auch meinen Mini in HA einbinden. Habe es eigentlich auch gemacht wie erklärt, nur ohne erfolg. Evtl kann @m0uh mir einmal helfen?
mqtt1.jpg
Ich hoffe das klappt mit dem Bild... Bei mir wird nach bisschen probieren ein Gerät mit einer Entität angezeigt, aber erst nachdem ich "device" hinzugefügt habe. Vorher war es 0.
YAML:
mqtt:
  sensor:
    - name: "WLANThermo"
      # change topic to your modelname!
      state_topic: &wt_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
      # neu hinzugefügt
      device:  &wt_device
        name: "WlanThermo"
        configuration_url: &wt_url "http://192.168.178.113/"
        hw_version: "V3"
        manufacturer: "WlanThermo"
        model: "Mini V3"
        identifiers: ["WlanThermo V3 Mini"]
     
    - name: "WLANThermo Settings"
      # change topic to your modelname!
      state_topic: "WLanThermo/WlanThermo/status/settings"
      value_template: "{{ value_json.system.host }}"
      json_attributes_topic: "WLanThermo/WlanThermo/status/settings"
      json_attributes_template: "{{ value_json | tojson }}"
      device: *wt_device

    # Wifi signal strength kopiert von dermichahc
    - name: "Signal strength"
      unique_id: "wlanthermo_signal_strength"
      state_topic: *wt_topic
      value_template: "{{ value_json.system.rssi }}"
      unit_of_measurement: "dBm"
      device_class: signal_strength
      json_attributes_topic: *wt_topic
      json_attributes_template: "{{ value_json | tojson }}"
      expire_after: 60
      device: *wt_device
      enabled_by_default: true
in meiner configuration.yaml steht:
Code:
homeassistant:
  # Include packages
  packages:
    wlanthermo: !include_dir_merge_named wlanthermo
    wlanthermo_push_notify: !include_dir_merge_named wlanthermo_push_notify
    wlanthermo_timer: !include_dir_merge_named wlanthermo_timer
was ja richtig sein sollte. Ich komme gerade nicht drauf wo mein Fehler ist. MQTT kann ich ja lesen, einstieg stimmt, Pfad auch...
Hoffe jemand hat einen heißen Tip.

Grüße

P.S. hab inzwischen alles noch mal neu gemacht und dabei auch meinen Thermo umbenannt. Wenn ich unter MQTT auf ein Topic höre kommt:
Code:
Nachricht 1 empfangen auf WLanThermo/MINIV3/status/data um 0:59:
{
    "system": {
        "time": "1684623585",
        "unit": "C",
        "rssi": -60,
        "online": 2
    },
    "channel": [
        {
            "number": 1,
            "name": "Kanal 1",
            "typ": 0,
            "temp": 14.2,
            "min": 0,
            "max": 95,
            "alarm": 1,
            "color": "#0C4C88",
            "fixed": false,
            "connected": false
        },
        {
            "number": 2,
            ..............
Trotzdem findet er kein Gerät, keine Entität und wenn ich teile des codes in Dashboard einfüge kommt:
Code:
Entity not avaible: sensor.wlanthermo_channel_1_all
Bin ratlos. :D
 
Zuletzt bearbeitet:

Moritz82

New member
Hallo zusammen,
nachdem das Thema relativ tot zu sein scheint, Habe ich mit viel testen und probieren meine eigene Lösung entwickelt. Da es ja bekanntlich geben und nehmen ist, stelle ich meine Integration, Dashboard und alles natürlich auch zur Verfügung:
WT Dashboard.PNG
Github Repo

Wünsche schöne Grillsaison!
 

reneklandt

New member
Hi Moritz82,

ich möchte mir auch gern Homeassist so einrichten wie es bei dir ausschaut, leider komme ich mit der Config nicht klar.. Zuerst benötige ich doch einen MQTT Broker, richtig? Weißt du zufällig, wie ich diesen einrichte?

Viele Grüße, René
 

Moritz82

New member
Richtig. Zuerst brauchst du den mosquito broker, den du erstmal einrichtest und ans laufen bekommen musst. Dafür gibt es aber genug Tutorials, z.b. https://smart-home-assistant.de/mqtt-server-installieren/ config ist aber falsch da, nimm diese:
YAML:
logins:
  - username: deinusername
    password: deineigenespasswort
require_certificate: false
certfile: fullchain.pem
keyfile: privkey.pem
customize:
  active: false
  folder: mosquitto
Die certfiles bekommst du über duckdns zum Beispiel. Achte dann darauf dass du HTTPS:// nutzen musst. (Evtl geht es aber auch ohne diese, habe ich nie getestet da ich eh DNS und HTTPS nutze.)

Wenn du den Broker am laufen hast, dann den Anleitungen hier und in dem repo was ich z.b. gemacht habe einfach integrieren. 😅
 

reneklandt

New member
Hi Moritz82,

ich habe den Broker installiert bekommen, allerdings als eigentständiger Docker Container und dieser ist auch funktional. Ich habe nach deinem Github Anleitung alles runtergeladen und so konfiguriert. Hier mein Ergebnis:
1692278348954.png



Leider Zeigt es die Daten nicht korrekt an... Was habe ich falsch gemacht? Es fehlt außerdem der Kanal 2. Derzeit ist der Kamado am laufen mit Pulled Pork in Butcher Papier mit einem Doppelfühler auf 5/7 bei 150°C und dem Pitmaster an.

Kannst du mir einen Tipp geben, das die Werte korrekt angezeigt werden?
 

Moritz82

New member
Oben steht schon ne Warnung dass eine Entität nicht verfügbar ist. Channel 1 all ist auch 999°, also bisschen warm. Schau bitte mal ob im MQTT wirklich alles an kommt und ob/wann die Automatisierungen getriggert wurden. Dass der Ch2 ausgeblendet ist, passiert wenn der "unavaible" ist. eigentlich sollte der da mit 0° stehen wie alle anderen auch. Muss mal sehen warum der anders ist als alle anderen.
 

Moritz82

New member
https://homeassistant:8123/developer-tools/state solltest du einen eintrag "automation.wlanthermo_update_channel_2_from_mqtt" finden. der Setzt die Werte. Du kannst auch in Entwicklerwerkzeuge/Template einzelne ausgeben lassen.
Code:
 {{ state_attr('sensor.bbq_thermo', 'channel')  }}
zum Beispiel. Alles was in template.yaml steht lässt sich ausgeben.
Einstellungen/Entitäten auch mal nach BBQ suchen und schauen ob da dann unter BBQ Thermo Werte stehen oder unbekannt.

Ich habe meinen Thermo nicht dran und kann daher gerade nicht einzeln alles durch gehen. Ich tippe aber drauf dass eine Automatisierung nicht triggert und daher die Werte nicht gesetzt werden, wenn im Topic alles richtig an kommt.
 
Oben Unten