openHAB2 und MQTT 2.4

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
madmike
Beiträge: 272
Registriert: 15. Apr 2018 17:09

Re: openHAB2 und MQTT 2.4

Beitrag von madmike »

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

Benutzeravatar
netZr0t
Beiträge: 56
Registriert: 9. Jan 2018 10:22

Re: openHAB2 und MQTT 2.4

Beitrag von netZr0t »

:-) .. ich bin gerade dabei .. habe ja nur 15 Stueck :-)

Benutzeravatar
udo1toni
Beiträge: 13858
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: openHAB2 und MQTT 2.4

Beitrag von udo1toni »

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:

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
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.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

hd578
Beiträge: 6
Registriert: 28. Okt 2018 12:11

Re: openHAB2 und MQTT 2.4

Beitrag von hd578 »

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

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" ]

}
items

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" }
sitemap

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
}
}

Benutzeravatar
peter-pan
Beiträge: 2564
Registriert: 28. Nov 2018 12:03
Answers: 25
Wohnort: Schwäbisch Gmünd

Re: openHAB2 und MQTT 2.4

Beitrag von peter-pan »

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.1 openhabian

hd578
Beiträge: 6
Registriert: 28. Okt 2018 12:11

Re: openHAB2 und MQTT 2.4

Beitrag von hd578 »

Hey,

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" }

Benutzeravatar
peter-pan
Beiträge: 2564
Registriert: 28. Nov 2018 12:03
Answers: 25
Wohnort: Schwäbisch Gmünd

Re: openHAB2 und MQTT 2.4

Beitrag von peter-pan »

Ja, genau.
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.1 openhabian

hd578
Beiträge: 6
Registriert: 28. Okt 2018 12:11

Re: openHAB2 und MQTT 2.4

Beitrag von hd578 »

Das ändert nichts.

Was soll das denn aus amchen oder ändern?

Benutzeravatar
peter-pan
Beiträge: 2564
Registriert: 28. Nov 2018 12:03
Answers: 25
Wohnort: Schwäbisch Gmünd

Re: openHAB2 und MQTT 2.4

Beitrag von peter-pan »

Bei mir sieht das in der .items Datei so 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]" }
ich muss allerdings dazu sagen, daß ich noch mqtt-1.xx benutze.

Das sieht dann so in der Basic UI aus:
basic_ui.png
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.1 openhabian

madmike
Beiträge: 272
Registriert: 15. Apr 2018 17:09

Re: openHAB2 und MQTT 2.4

Beitrag von madmike »

Hallo zusammen,
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

Antworten