Seite 5 von 6
Re: Funksteckdose mit Raspi über MQTT schalten
Verfasst: 30. Sep 2020 18:39
von Jojo
Servus Peter,
ich arbeite auch Leiber mit MQTTfx das hängt sich bloß immer auf, deswegen habe ich auf das andere gewechselt ( gefällt mir gar nicht )
Dein "gewünschtes" topic gibt meine Console aus:
home/data/Terasse/SENSOR = {"Time":"2020-09-30T13:56:55","DS18B20":{"Id":"0114326941CD","Temperature":15.9},"TempUnit":"C"}
oder ?
Bildschirmfoto 2020-09-30 um 18.36.59.png
Bildschirmfoto 2020-09-30 um 18.36.29.png
Bildschirmfoto 2020-09-30 um 18.36.15.png
Re: Funksteckdose mit Raspi über MQTT schalten
Verfasst: 30. Sep 2020 18:58
von Jojo
Bildschirmfoto 2020-09-30 um 18.37.55.png
Bildschirmfoto 2020-09-30 um 18.57.59.png
Re: Funksteckdose mit Raspi über MQTT schalten
Verfasst: 30. Sep 2020 19:38
von peter-pan
So, da haben wir den Übeltäter gefunden. Du hast dir den %prefix% " im Fulltopic zerschossen". Das ist bei Tasmota der Platzhalter für die Kommandos (cmnd, stat und tele). Ich hab dir mal den
entsprechenden Link ergänzt. Du kannst dein Fulltopic erweitern, aber %prefix% und %topic% müssen als Platzerhalter bestehen bleiben. Beispiele stehen aber in der Doku.
Grossbuchstaben im Topic sehe ich eher kritisch
Ich denke mal bei den Telemetrie-Daten ist das nicht so schlimm, aber wenn du selber Kommandos (cmnd, stat) benötigst, kannst du mit deinem Fulltopic nichts mehr anfangen.
mqtt1.jpg
Wenn du noch Infos oder Hilfe für das Thing/Items brauchst, einfach kurz posten.
Re: Funksteckdose mit Raspi über MQTT schalten
Verfasst: 30. Sep 2020 19:54
von udo1toni
Was Du da tust, ist nicht erlaubt! (Na ja, es ist natürlich nicht verboten, nur funktioniert es dann halt nicht korrekt...)
Das Prefix
muss mit angegeben werden, ansonsten kommt es zu doppelt genutzten Topics.
Du kannst die HA-Emulation in Tasmota aktivieren (SetOption19 1), um das Device automatisch über Auto Discovery in openHAB einbinden zu können.
Aber auch dann solltest Du am Topic nicht rumpfuschen (sorry für die harte Formulierung)
Das FullTopic sollte entweder
%topic%/%prefix%/ oder
%prefix%/%topic%/ lauten. Alternativ kannst Du
%topic% inklusive einem Slash weg lassen und das Topic statisch eintragen, also z.B.
home/data/Kellerabgang/%prefix%/
Das Topic es abgetrennt, weil man so alle Geräte gruppiert mit einem alternative Topic als Gruppe ansprechen kann, z.B. um die WLAN Einstellungen aller Devices auf einen Schlag umzukonfigurieren (z.B. automatisierter zyklischer Change des Passworts...)
Das Prefix sorgt dafür, dass es unterschiedliche Zweige für Befehle, Statusrückmeldungen und zyklische Meldungen gibt.
EDIT: zu langsam

Re: Funksteckdose mit Raspi über MQTT schalten
Verfasst: 30. Sep 2020 21:11
von Jojo
Lieber Udo,
zu langsam ??? NEIN !!!
Peter UND Udo
erstmal DANKE !!!!
Re: Funksteckdose mit Raspi über MQTT schalten
Verfasst: 1. Okt 2020 14:49
von Jojo
sodala,
so wie ich das sehe funkt das Ding seine Daten:
Bildschirmfoto 2020-10-01 um 14.46.25.png
Im Broker kommt aber nichts an
Bildschirmfoto 2020-10-01 um 14.49.31.png
Was kann ich tun ???
Re: Funksteckdose mit Raspi über MQTT schalten
Verfasst: 1. Okt 2020 16:04
von peter-pan
....ja jetzt kannst du deine Things und items anlegen und in die Sitemap einbauen.
Das Thing könnte etwa so aussehen:
mqtt.things
Code: Alles auswählen
Thing topic esp_irgendwas "ESP8266 01 blabla" @ "Kellerabgang blabla" {
Channels:
Type switch : reachable "Dein ESP Reachable" [ stateTopic="tele/Kellerabgang/LWT", transformationPattern="MAP:reachable.map" ] // on="Online",off="Offline"
Type number : temp "Dein ESP Temp. DHT22" [ stateTopic="tele/Kellerabgang/SENSOR", transformationPattern="JSONPATH:$.AM2301.Temperature"]
Type number : hum "Dein ESP Hum. DHT22" [ stateTopic="tele/Kellerabgang/SENSOR", transformationPattern="JSONPATH:$.AM2301.Humidity"]
Type number : dew "Dein ESP Tau. DHT22" [ stateTopic="tele/Kellerabgang/SENSOR", transformationPattern="JSONPATH:$.AM2301.DewPoint"]
Type string : version "Dein ESP Fw Version" [ stateTopic="stat/Kellerabgang/STATUS2", transformationPattern="JSONPATH:$.StatusFWR.Version"]
Type string : hardware "Dein ESP Chip Set" [ stateTopic="stat/Kellerabgang/STATUS2", transformationPattern="JSONPATH:$.StatusFWR.Hardware"]
Type string : ipaddress "Dein ESP IP Address" [ stateTopic="stat/Kellerabgang/STATUS5", transformationPattern="JSONPATH:$.StatusNET.IPAddress"]
Type string : ssid "Dein ESP WiFi" [ stateTopic="tele/Kellerabgang/STATE", transformationPattern="JSONPATH:$.Wifi.SSId"]
}
und die Items-Datei vielleicht so:
mqtt.items:
Code: Alles auswählen
Switch esp_wasduwillst_01_Unreach "ESP Kellerabgang LWT-Ereichbarkeit [%s]" <siren1> (gAmica,gLWTesp,gLWT) { channel="mqtt:topic:dejavue:esp_irgendwas:reachable"}
Number esp_wasduwillst_01_hum "ESP Kellerabgang DHT22 Luftfeuchtigkeit[%.1f %%]" <humidity> (gAmica,EG_Buro) { channel="mqtt:topic:dejavue:esp_irgendwas:hum"}
Number esp_wasduwillst_01_temp "ESP Kellerabgang DHT22 Temperatur[%.1f °C]" <temperature> (gAmica,EG_Buro,gRtIstI) { channel="mqtt:topic:dejavue:esp_irgendwas:temp"}
Number esp_wasduwillst_01_dew "ESP Kellerabgang DHT22 Taupunkt[%.1f °C]" <temperature> (gAmica,EG_Buro,gRtIstI) { channel="mqtt:topic:dejavue:esp_irgendwas:dew"}
String esp_wasduwillst_01_Hardware "ESP Kellerabgang Hardware [%s]" <sonoff_pow> (gAmica,gSonoffs,gHard) { channel="mqtt:topic:dejavue:esp_irgendwas:hardware" }
String esp_wasduwillst_01_IPAddress "ESP Kellerabgang IP-Address [%s]" <sonoff_pow> (gAmica,gSonoffs,gHard) { channel="mqtt:topic:dejavue:esp_irgendwas:ipaddress" }
String esp_wasduwillst_01_SSID "ESP Kellerabgang Wlan [%s]" <chart> (gAmica) { channel="mqtt:topic:dejavue:esp_irgendwas:ssid" }
Ich bin jetzt davon ausgegangen, das Bridge und Things in der gleichen Datei sind und das dein Broker "dejavue" heisst.
Du musst halt die Namen an deine Bedürfnisse anpassen. Das mit der Sitemap kriegst du sicherlich so hin.
Re: Funksteckdose mit Raspi über MQTT schalten
Verfasst: 1. Okt 2020 19:52
von Jojo
ich habe im MQTT nichts mit Sensor, das irritiert mich
muss ich wegen dem JSON Ding irgendwas machen ?
Im Openhab habe ich es installiert
Re: Funksteckdose mit Raspi über MQTT schalten
Verfasst: 1. Okt 2020 20:44
von udo1toni
Geht der ESP zwischendurch in Tiefschlaf?
Gesendet von meinem SM-G973F mit Tapatalk
Re: Funksteckdose mit Raspi über MQTT schalten
Verfasst: 1. Okt 2020 20:59
von peter-pan
Hast du die JSONPath-Transformation installiert ? Wenn nicht musst du das noch machen in der PaperUI unter Add-Ons/Transformations. Oder was meinst du mit MQTT ?
Aber schau dir mal genauer die Konsole der Web-UI zu deinem ESP an. Da findest du die Lösung. Allerdings wundert mich der Screenshot deines mqtt.fx ein bisschen. Da seh ich nur den letzten Willen (LWT) deiner Geräte.
Die Web-UI Zeile lautet bei mir:
Code: Alles auswählen
19:47:04 MQT: tele/amica_01/SENSOR = {"Time":"2020-10-01T19:47:04","AM2301":{"Temperature":23.3,"Humidity":49.2,"DewPoint":12.0},"SR04":{"Distance":120.000},"TempUnit":"C"}
Ich sehe gerade in deinem Screenshot, dass du keinen DHT22-Sensor sondern einen DS18B20 Sensor verwendest. Das musst du dann in deinen Thing-Channels anpassen:
Code: Alles auswählen
Type number : temp "Dein ESP Temp. DHT22" [ stateTopic="tele/Kellerabgang/SENSOR", transformationPattern="JSONPATH:$.DS18B20.Temperature"]
Type number : hum "Dein ESP Hum. DHT22" [ stateTopic="tele/Kellerabgang/SENSOR", transformationPattern="JSONPATH:$.DS18B20.Humidity"]
Type number : dew "Dein ESP Tau. DHT22" [ stateTopic="tele/Kellerabgang/SENSOR", transformationPattern="JSONPATH:$.DS18B20.DewPoint"]