Stauts5 abfragen per openHAB 3
-
- Beiträge: 4
- Registriert: 4. Sep 2021 21:45
Stauts5 abfragen per openHAB 3
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
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
-
- Beiträge: 1161
- Registriert: 4. Nov 2019 22:08
Re: Stauts5 abfragen per openHAB 3
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
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
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3
- udo1toni
- Beiträge: 13859
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Stauts5 abfragen per openHAB 3
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: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.
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
Wenn Du nur an einem bestimmten Teil von Status5 interessiert bist, kannst Du natürlich auch JSONPATH verwenden, um nur das eine Detail anzuzeigen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 4
- Registriert: 4. Sep 2021 21:45
Re: Stauts5 abfragen per openHAB 3
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: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.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
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
-
- Beiträge: 4
- Registriert: 4. Sep 2021 21:45
Re: Stauts5 abfragen per openHAB 3
OK, ich weiss zwar nicht wieso aber jetzt geht's.
Jetzt muss ich nur mal gucken wie ich den string zerlege
Jetzt muss ich nur mal gucken wie ich den string zerlege
- udo1toni
- Beiträge: 13859
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Stauts5 abfragen per openHAB 3
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
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
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 4
- Registriert: 4. Sep 2021 21:45
Re: Stauts5 abfragen per openHAB 3
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
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
- udo1toni
- Beiträge: 13859
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Stauts5 abfragen per openHAB 3
Immer gerne
Gesendet von iPad mit Tapatalk
Gesendet von iPad mit Tapatalk
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet