openHAB2 und MQTT 2.4
-
- Beiträge: 277
- Registriert: 15. Apr 2018 17:09
Re: openHAB2 und MQTT 2.4
Also ich habe es jetzt mit einem normalen Sonoffs am laufen, ich finde es sehr kompliziert da ich kaum mit der PaperUI arbeite. Teilweise hatte ich zwei Broker und jede Menge Fehlerlogs. Ich habe für mich entschieden zunächst wieder den Weg wie Udo ihn beschrieben hat zu gehen und einfach Mqtt 2.4 zu deinstallieren und im Legacy-Modus Mqtt1 Binding zu nutzen. Des weiteren bin ich derzeit zu faul 40 Sonoffs neu zu definieren. Ein weiteres Problem habe ich mit den Sonoff-Bridges die Funksteckdosen, gerade jetzt in der Weihnachtszeit steuern. Ich müsste erst wieder ergründen wie diese (FunkCode) eingebunden werden kann. Das ist mir ehrlich gesagt im Moment zu stressig. Dennoch möchte ich mich rechtherzlich bedanken für Deine Mühe und Geduld und den Weg den Du mir gezeigt hast. Ich denke im nächsten Jahr werde ich mich mal dran setzen und alles überarbeiten.
In diesem Sinne nochmals Danke und ein ruhiges und friedvolles Weihnachtsfest und kommt gut ins neue Jahr
Liebe Grüsse
Micha
In diesem Sinne nochmals Danke und ein ruhiges und friedvolles Weihnachtsfest und kommt gut ins neue Jahr
Liebe Grüsse
Micha
- netZr0t
- Beiträge: 56
- Registriert: 9. Jan 2018 10:22
Re: openHAB2 und MQTT 2.4
.. ich bin gerade dabei .. habe ja nur 15 Stueck
- udo1toni
- Beiträge: 14038
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: openHAB2 und MQTT 2.4
Um hier noch etwas Licht ins Dunkel zu bringen:
Die Idee von Things ist, die Hardware-Ebene noch weiter zu abstrahieren. Das Things-Modell erlaubt es, Geräte automatisch zu entdecken und zu konfigurieren.
MQTT2 ist brandneu, das Binding ist erst vor wenigen Monaten überhaupt in die Nightly Snapshots gehoben worden, es gibt also naturgemäß noch ein paar Dinge, die optimiert werden müssen.
Homie-Geräte verwenden wohl mqtt zur Kommunikation und nutzen eine bestimmte Form. Diese ist im openHAB MQTT2 Binding integriert, so dass es für homie Geräte Autodiscovery bieten kann. Mangels Hardware habe ich keine Ahnung, wie gut das funktioniert
Was die verschiedenen Bestandteile der Definition betrifft:
Danach folgt in eckigen Klammern die Konfiguration für diese Bridge, danach in geschweiften Klammern alles, was zu dieser Bridge gehört.
Die Zuordnung einer Bridge zu einer Unterseite auf Paper UI contorl ist meist sinnlos, weil die Bridge ohnehin nicht angezeigt wird. Da man aber nicht weiß, was die Entwickler so in Zukunft tun werden, ist es auch kein Fehler, diese Option zu nutzen
Die gleiche Zuordnung erfolgt nun auf Thing-Ebene. Sobald man einen Channel mit einem Item verlinkt, wird das Thing (mit allen verlinkten Channels) auf der Control-Unterseite auftauchen, beim Thing ist das @ "MQTT" also höchst sinnvoll, wenn man Paper UI control verwenden möchte.
Ich habe mich noch nicht eingehend mit dem mqtt2 Binding auseinandergesetzt, dazu muss ich erstmal etwas Zeit haben aber der Weg ist ja von netZr0t schon ganz gut skizziert worden.
Die OH2-Bindings verlagern den hardware-abhängigen Konfigurationsteil in die Things-Dateien, dort kommt also rein, was unter OH1 in der openhab.cfg oder mit OH1-Bindings unter OH2 in einzelnen <binding>.cfg stand, zum anderen der Teil der Items-Definition, der die Anbindung an die Hardware darstellt.
Vorteil gegenüber der alten Form ist vor allem, dass dieser Teil der Konfiguration nun komplett über Browser erledigt werden kann - Links zwischen Channel und Item lassen sich ebenfalls komplett über Paper UI vornehmen, auch wenn nach wie vor bestimmte Eigenschaften nur über *.items Dateien voll konfiguriert werden können, aber die Entwicklung geht ja weiter.
Trotzdem hat man die Möglichkeit, die Things komplett manuell mittels *.things Dateien anzulegen, was insbesondere bei der Migration zwischen verschiedenen Systemen vorteilhaft sein kann.
Die Idee von Things ist, die Hardware-Ebene noch weiter zu abstrahieren. Das Things-Modell erlaubt es, Geräte automatisch zu entdecken und zu konfigurieren.
MQTT2 ist brandneu, das Binding ist erst vor wenigen Monaten überhaupt in die Nightly Snapshots gehoben worden, es gibt also naturgemäß noch ein paar Dinge, die optimiert werden müssen.
Homie-Geräte verwenden wohl mqtt zur Kommunikation und nutzen eine bestimmte Form. Diese ist im openHAB MQTT2 Binding integriert, so dass es für homie Geräte Autodiscovery bieten kann. Mangels Hardware habe ich keine Ahnung, wie gut das funktioniert
Was die verschiedenen Bestandteile der Definition betrifft:
Code: Alles auswählen
Bridge mqtt:broker:MosquittoMqttBroker "Mosquitto MQTT Broker" @ "MQTT"
^ ^ ^ ^ ^ Zeige diese Bridge auf der Unterseite "MQTT" in Paper UI Control
^ ^ ^ ^ Label der Bridge
^ ^ ^ Name der Bridge
^ ^ Art der Bridge
^ Binding
Die Zuordnung einer Bridge zu einer Unterseite auf Paper UI contorl ist meist sinnlos, weil die Bridge ohnehin nicht angezeigt wird. Da man aber nicht weiß, was die Entwickler so in Zukunft tun werden, ist es auch kein Fehler, diese Option zu nutzen
Die gleiche Zuordnung erfolgt nun auf Thing-Ebene. Sobald man einen Channel mit einem Item verlinkt, wird das Thing (mit allen verlinkten Channels) auf der Control-Unterseite auftauchen, beim Thing ist das @ "MQTT" also höchst sinnvoll, wenn man Paper UI control verwenden möchte.
Ich habe mich noch nicht eingehend mit dem mqtt2 Binding auseinandergesetzt, dazu muss ich erstmal etwas Zeit haben aber der Weg ist ja von netZr0t schon ganz gut skizziert worden.
Die OH2-Bindings verlagern den hardware-abhängigen Konfigurationsteil in die Things-Dateien, dort kommt also rein, was unter OH1 in der openhab.cfg oder mit OH1-Bindings unter OH2 in einzelnen <binding>.cfg stand, zum anderen der Teil der Items-Definition, der die Anbindung an die Hardware darstellt.
Vorteil gegenüber der alten Form ist vor allem, dass dieser Teil der Konfiguration nun komplett über Browser erledigt werden kann - Links zwischen Channel und Item lassen sich ebenfalls komplett über Paper UI vornehmen, auch wenn nach wie vor bestimmte Eigenschaften nur über *.items Dateien voll konfiguriert werden können, aber die Entwicklung geht ja weiter.
Trotzdem hat man die Möglichkeit, die Things komplett manuell mittels *.things Dateien anzulegen, was insbesondere bei der Migration zwischen verschiedenen Systemen vorteilhaft sein kann.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet
-
- Beiträge: 6
- Registriert: 28. Okt 2018 12:11
Re: openHAB2 und MQTT 2.4
Hallo.
Danke der Hilfe hier und in anderen Foren habe ich jetzt den 4CH am laufen.
Also fast, was noch nicht geht ist, dass wenn ich den Sonoff über die Weboberfläche schaltet, sich auch der Schalter auf der Sitemap ändert.
Der Status wird aktualisiert.
Fragen:
1) Weiß jemand warum das so ist?
2) Kann man den Sitemap sagen, das sie alle x Sekunden den Status vom Sonoff holt?
things
items
sitemap
Danke der Hilfe hier und in anderen Foren habe ich jetzt den 4CH am laufen.
Also fast, was noch nicht geht ist, dass wenn ich den Sonoff über die Weboberfläche schaltet, sich auch der Schalter auf der Sitemap ändert.
Der Status wird aktualisiert.
Fragen:
1) Weiß jemand warum das so ist?
2) Kann man den Sitemap sagen, das sie alle x Sekunden den Status vom Sonoff holt?
things
Code: Alles auswählen
Bridge mqtt:broker:opusMQTT [ host="192.168.124.125", secure=false, username="xxx", password="xxxx" ]
{
Thing topic Sonoff_4CH_Pro_001 "Sonoff_4CH_Pro_001" {
Channels:
Type switch : PowerSwitch1 [ stateTopic="tasmota/stat/Sonoff_4CH_Pro_001/POWER1", commandTopic="tasmota/cmnd/Sonoff_4CH_Pro_001/POWER1", on="ON", off="OFF" ]
Type switch : PowerSwitch2 [ stateTopic="tasmota/stat/Sonoff_4CH_Pro_001/POWER2", commandTopic="tasmota/cmnd/Sonoff_4CH_Pro_001/POWER2", on="ON", off="OFF" ]
Type switch : PowerSwitch3 [ stateTopic="tasmota/stat/Sonoff_4CH_Pro_001/POWER3", commandTopic="tasmota/cmnd/Sonoff_4CH_Pro_001/POWER3", on="ON", off="OFF" ]
Type switch : PowerSwitch4 [ stateTopic="tasmota/stat/Sonoff_4CH_Pro_001/POWER4", commandTopic="tasmota/cmnd/Sonoff_4CH_Pro_001/POWER4", on="ON", off="OFF" ]
}
Code: Alles auswählen
Switch Sonoff_4CH_Pro_001_1CH "Sonoff_4CH_Pro_001_1CH" { channel="mqtt:topic:opusMQTT:Sonoff_4CH_Pro_001:PowerSwitch1" }
Switch Sonoff_4CH_Pro_001_2CH "Sonoff_4CH_Pro_001_2CH" { channel="mqtt:topic:opusMQTT:Sonoff_4CH_Pro_001:PowerSwitch2" }
Switch Sonoff_4CH_Pro_001_3CH "Sonoff_4CH_Pro_001_3CH" { channel="mqtt:topic:opusMQTT:Sonoff_4CH_Pro_001:PowerSwitch3" }
Switch Sonoff_4CH_Pro_001_4CH "Sonoff_4CH_Pro_001_4CH" { channel="mqtt:topic:opusMQTT:Sonoff_4CH_Pro_001:PowerSwitch4" }
Code: Alles auswählen
sitemap sonoff label="Sonoff" {
Frame label="Sonoff Steckdosen" {
Switch item=Sonoff_4CH_Pro_001_1CH
Switch item=Sonoff_4CH_Pro_001_2CH
Switch item=Sonoff_4CH_Pro_001_3CH
Switch item=Sonoff_4CH_Pro_001_4CH
}
}
- peter-pan
- Beiträge: 2578
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: openHAB2 und MQTT 2.4
Hallo hd578 hast du es schon mal mit [%s] im Label von .items bzw. .sitemap probiert ? Ich hab da was interessantes von udo1toni in einem anderen Post gelesen.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.2 openhabian
-
- Beiträge: 6
- Registriert: 28. Okt 2018 12:11
Re: openHAB2 und MQTT 2.4
Hey,
meinst Du das so?
meinst Du das so?
Code: Alles auswählen
Switch Sonoff_4CH_Pro_001_4CH "Sonoff_4CH_Pro_001_4CH [%s]" { channel="mqtt:topic:opusMQTT:Sonoff_4CH_Pro_001:PowerSwitch4" }
- peter-pan
- Beiträge: 2578
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: openHAB2 und MQTT 2.4
Ja, genau.
Edit: Hast du auch ein passendes Icon definiert ?
Edit: Hast du auch ein passendes Icon definiert ?
Zuletzt geändert von peter-pan am 22. Dez 2018 14:25, insgesamt 1-mal geändert.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.2 openhabian
-
- Beiträge: 6
- Registriert: 28. Okt 2018 12:11
Re: openHAB2 und MQTT 2.4
Das ändert nichts.
Was soll das denn aus amchen oder ändern?
Was soll das denn aus amchen oder ändern?
- peter-pan
- Beiträge: 2578
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: openHAB2 und MQTT 2.4
Bei mir sieht das in der .items Datei so aus:
ich muss allerdings dazu sagen, daß ich noch mqtt-1.xx benutze.
Das sieht dann so in der Basic UI aus:
Code: Alles auswählen
Switch Sonoff_Basic_03 "Schreibtischlampe Büro [MAP(de.map):%s]" <tablelamp> (EG_Buro,gLight,gSonoff) { mqtt=">[peter:cmnd/basic_03/power:command:*:default],
<[peter:stat/basic_03/POWER:state:default]" }
Das sieht dann so in der Basic UI aus:
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.2 openhabian
-
- Beiträge: 277
- Registriert: 15. Apr 2018 17:09
Re: openHAB2 und MQTT 2.4
Hallo zusammen,
Also ich benutze auch noch die Mqtt 1 Version,
so sieht mein Item aus:.
Damit bekomme ich die Rückmeldung und sehe den Status.
Mit dem MQTT2 werde ich mich erst nächstes Jahr beschäftigen.
Es fällt mir auf das Du nicht die einzelnen Kanäle POWER1, oder POWER2 etc in deinem Befehlen hast.
mfg
Micha
und frohe Weihnachten
Also ich benutze auch noch die Mqtt 1 Version,
so sieht mein Item aus:
Code: Alles auswählen
Switch Gartenhaus "Gartenhaus" <switch> ["Switchable"] {mqtt=">[OH2mqtt:cmnd/Aussen_Terrasse/POWER1:command:*:default], <[OH2mqtt:stat/Aussen_Terrasse/POWER1:state:default]"}
Damit bekomme ich die Rückmeldung und sehe den Status.
Mit dem MQTT2 werde ich mich erst nächstes Jahr beschäftigen.
Es fällt mir auf das Du nicht die einzelnen Kanäle POWER1, oder POWER2 etc in deinem Befehlen hast.
mfg
Micha
und frohe Weihnachten