Seite 1 von 1
Stauts5 abfragen per openHAB 3
Verfasst: 4. Sep 2021 22:12
von Pander
Moin,
wie im Titel erwähnt würde ich gerne per openHAB den STATUS5 per MQTT automatisch abfragen, ich habe ein paar Bsp gefunden die per Rule funktionieren sollen aber das waren nur ältere Bsp.
Kennt jemand vlt eine Möglichkeit wie ich den Status abfragen kann ohne ihn durch z.B. einen Switch auszulösen?
MfG
Re: Stauts5 abfragen per openHAB 3
Verfasst: 4. Sep 2021 23:38
von int5749
Hi,
Dn Status wovon? Für etwas Hilfe bräuchten wir noch einiges mehr an Angaben.
Wie ist Dein System?
Läuft matt bereits?
Welcher Broker?
Was möchtest Du abfragen??
Bisher ist es etwas dürftig

Re: Stauts5 abfragen per openHAB 3
Verfasst: 5. Sep 2021 01:04
von udo1toni
Meinst Du den Status 5 von Tasmota?
Du musst halt den Befehl
Status 5 an Tasmota senden. Im Gegenzug antwortet Tasmota dann mit dem Topic
STATUS5.
Du brauchst also lediglich ein generic mqtt Thing, in dem es einen String Channel mit dem stateTopic
stat/name_des_geräts/STATUS5 gibt.
Um den Befehl senden zu können, ist es das Einfachste, einen weiteren Channel anzulegen, der das commandTopic
cmnd/name_des_geräts/status trägt und einfach das Payload 5 sendet. Die beiden Channel verknüpfst Du mit zwei Items. Über das eine Item kannst Du nun per Rule zyklisch die 5 an das passende Topic senden, üder das andere Item bekommst Du die Antwort.
Du könntest sogar nur ein Item (und nur einen Channel) verwenden. Du solltest dann allerdings autoupdate=false in den Metadaten setzen, damit ein sendCommand("5") nicht den Status überschreibt.
Das sieht dann so aus:
Code: Alles auswählen
UID: mqtt:topic:f7215002c2:mqttTest
label: MQTT Thing for Teset
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:mosquitto
channels:
- id: test_status5
channelTypeUID: mqtt:string
label: Status 5
description: ""
configuration:
commandTopic: cmnd/sonoff_1/STATUS
stateTopic: stat/sonoff_1/STATUS5
Und wenn Du nun diesen Channel mit einem String Item verknüpfst, kannst Du den Befehl 5 über das String Item absetzen und der Status wird umgehend zurückgemeldet.
Wenn Du nur an einem bestimmten Teil von Status5 interessiert bist, kannst Du natürlich auch JSONPATH verwenden, um nur das eine Detail anzuzeigen.
Re: Stauts5 abfragen per openHAB 3
Verfasst: 5. Sep 2021 07:54
von Pander
int5749 hat geschrieben: ↑4. Sep 2021 23:38
Hi,
Dn Status wovon? Für etwas Hilfe bräuchten wir noch einiges mehr an Angaben.
Wie ist Dein System?
Läuft matt bereits?
Welcher Broker?
Was möchtest Du abfragen??
Bisher ist es etwas dürftig
Tut mir leid war auf die schnelle vorn schlafen gehen und hab mal eben qiuck und dirty das Thema erstellt
Es läuft ein Raspberry Pi 4 mit openhab 3.
Mqtt läuft bereits über den Pi selbst, mit openhab Binding. Verbindung und schalten funktioniert soweit auch.
Um genau zu sein möchte ich die IP Adresse von meinem Tasmota Gerät abfragen die sich im "Status 5" versteckt.
udo1toni hat geschrieben: ↑5. Sep 2021 01:04
Meinst Du den Status 5 von Tasmota?
Du musst halt den Befehl
Status 5 an Tasmota senden. Im Gegenzug antwortet Tasmota dann mit dem Topic
STATUS5.
Du brauchst also lediglich ein generic mqtt Thing, in dem es einen String Channel mit dem stateTopic
stat/name_des_geräts/STATUS5 gibt.
Um den Befehl senden zu können, ist es das Einfachste, einen weiteren Channel anzulegen, der das commandTopic
cmnd/name_des_geräts/status trägt und einfach das Payload 5 sendet. Die beiden Channel verknüpfst Du mit zwei Items. Über das eine Item kannst Du nun per Rule zyklisch die 5 an das passende Topic senden, üder das andere Item bekommst Du die Antwort.
Du könntest sogar nur ein Item (und nur einen Channel) verwenden. Du solltest dann allerdings autoupdate=false in den Metadaten setzen, damit ein sendCommand("5") nicht den Status überschreibt.
Das sieht dann so aus:
Code: Alles auswählen
UID: mqtt:topic:f7215002c2:mqttTest
label: MQTT Thing for Teset
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:mosquitto
channels:
- id: test_status5
channelTypeUID: mqtt:string
label: Status 5
description: ""
configuration:
commandTopic: cmnd/sonoff_1/STATUS
stateTopic: stat/sonoff_1/STATUS5
Und wenn Du nun diesen Channel mit einem String Item verknüpfst, kannst Du den Befehl 5 über das String Item absetzen und der Status wird umgehend zurückgemeldet.
Wenn Du nur an einem bestimmten Teil von Status5 interessiert bist, kannst Du natürlich auch JSONPATH verwenden, um nur das eine Detail anzuzeigen.
Ich bekommen leider nur "Null" wieder. Ich glaube ich habe beim item irgendwas falsch. Habe bei dem metadaten "Auto-update = false" und "Command option option=5". Ich finde auch den "payload" im channel nicht wo ich den eintragen muss.
Code: Alles auswählen
UID: mqtt:topic:HomePi:677d654e2a
label: licht
thingTypeUID: mqtt:topic
configuration:
payloadNotAvailable: Offline
availabilityTopic: tele/licht/LWT
payloadAvailable: Online
bridgeUID: mqtt:broker:HomePi
channels:
- id: test_status5
channelTypeUID: mqtt:string
label: Status 5
description: null
configuration:
commandTopic: cmnd/licht/STATUS
stateTopic: stat/licht/STATUS 5
Re: Stauts5 abfragen per openHAB 3
Verfasst: 5. Sep 2021 09:59
von Pander
OK, ich weiss zwar nicht wieso aber jetzt geht's.
Jetzt muss ich nur mal gucken wie ich den string zerlege
Re: Stauts5 abfragen per openHAB 3
Verfasst: 5. Sep 2021 10:04
von udo1toni
Keine Command Option. Du musst die 5 Als Kommando schicken, aus einer Rule heraus.
MeinItem.sendCommand(„5“) (Achtung, Anführungszeichen hier verkehrt, da iPad)
Ich hab das gestern bei mir extra ausprobiert, um sicherzugehen, dass ich keinen Quatsch erzähle, ich kann Dir also versichern, dass das wie beschrieben funktioniert.
Eine andere Sache ist natürlich, warum Du überhaupt die IP-Adresse herausfinden willst (und vor allem: warum zyklisch?).
Ich gehe mal stark davon aus, dass Deine Geräte ihre IP-Adresse per DHCP beziehen (sonst wüsstest Du die Adresse ja…)
Um einem Gerät dauerhaft die gleiche IP zu verschaffen, trägt man das Gerät mit seiner MAC im DHCP-Server ein.
Der DHCP-Server läuft gewöhnlich auf dem Router. Je nach Modell kann die Option, fixe Leases zuzuweisen etwas versteckt sein, aber so gut wie alle Geräte unterstützen das von Haus aus.
Gesendet von iPad mit Tapatalk
Re: Stauts5 abfragen per openHAB 3
Verfasst: 5. Sep 2021 11:27
von Pander
Hab's jetzt hinbekommen
Mit der IP Adresse ist reine Spielerei, aber es hilft mir die Materie besser kennenzulernen.
Mit node-red war es ein bisschen einfacher, aber blynk hat mir einen Strich durch die Rechnung gemacht.
Aber vielen Dank für die schnelle Antwort

Re: Stauts5 abfragen per openHAB 3
Verfasst: 5. Sep 2021 11:28
von udo1toni
Immer gerne
Gesendet von iPad mit Tapatalk