shelly 2 openhab Einbindung per MQTT

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
winni
Beiträge: 62
Registriert: 30. Mär 2019 00:24

shelly 2 openhab Einbindung per MQTT

Beitrag von winni »

Hallo zusammen,

ich möchte mein shelly 2 als Rollershutter in openhab 2 via PaperUI einbinden und bekomme es nicht hin.

Folgendes habe ich gemacht:
- MQTT Binding installiert und eingerichtet
- MQTT Embedded Broker ist installiert
- Generic MQTT Thing erzeugt
- Bridge erstellt

Das Thing ist online
- Channel erstellt und wie folgt eingerichtet
Unbenannt 1.PNG
Jetzt sieht alles wie folgt aus
Unbenannt 2.PNG
Unbenannt 3.PNG


Hier meine .item:
Rollershutter Aktion "Tür" {channel="mqtt:topic:224835b7:Aktion"}

und hier meine .sitemap
sitemap rolladen label="Shelly2" {
Frame label="Wohnzimmer" {
Switch item=Aktion
}
}

Den shelly habe ich in den MQTT Modus geändert und MQTT.fix zeigt mir alle Kanäle.

Über eure Hilfe wäre ich sehr dankbar!
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

winni
Beiträge: 62
Registriert: 30. Mär 2019 00:24

Re: shelly 2 openhab Einbindung per MQTT

Beitrag von winni »

Guten Abend,

habe es mittlerweile durch eine rule hinbekommen, dass die Rollade hoch und runter fährt und bei stop anhält.

Vielleicht kann mir jemand helfen, die aktuelle Position in Prozent auszugeben, optimalerweise zu steuern.

Ich habe die Positionierung im shelly kalibriert und MQTT.fx gibt mir auch den folgenden Kanal:

shellies/shellyswitch-55C4EA/roller/0/pos

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

Re: shelly 2 openhab Einbindung per MQTT

Beitrag von udo1toni »

Du wirst das Topic als zusätzlichen Channel anlegen müssen. Diesen Channel verknüpfst Du zusätzlich mit Deinem vorhandenen Item.
Es muss noch ein zweites Topic für die Position geben, für die Rückmeldung. Evtl. steckt die Rückmeldung auch in einem JSON Objekt.

Wie sieht Deine Rule aus? Du solltest für die Bedienung des Rollladens eigentlich keine Rule benötigen, allenfalls, um den Laden automatisch zu steuern. Die Grundfunktion - AUF/AB/STOP - sollte aber direkt über Basic UI nutzbar sein, ganz ohne Rule.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

winni
Beiträge: 62
Registriert: 30. Mär 2019 00:24

Re: shelly 2 openhab Einbindung per MQTT

Beitrag von winni »

Vielen Dank für die Hilfe! Ich bin noch ziemlich unerfahren. Werde es gleich mal probieren. Ohne Rule hat openhab nur 0, 100 und stop gesendet, obwohl ich open, close und stop in der UI eingegeben habe. Leider habe ich jetzt auch festgestellt, dass sich die Rolladen nicht sauber über die App schalten lassen. Wenn ich stop drücke, hält die Rollade kurz an und fährt weiter. Manchmal funktioniert es dann wieder.

Meine Rule sieht wie folgt aus:
rule "ROllershutter"
when
Item Terassentuer_Gross received command
then
val mqttActions = getActions("mqtt","mqtt:systemBroker:embedded-mqtt-broker")

if(Terassentuer_Gross.state.toString == "100") {
mqttActions.publishMQTT("shellies/shellyswitch-55C4EA/roller/0/command","close")
}
else if (Terassentuer_Gross.state.toString == "0") {
mqttActions.publishMQTT("shellies/shellyswitch-55C4EA/roller/0/command","open")
}
if (receivedCommand == STOP){
mqttActions.publishMQTT("shellies/shellyswitch-55C4EA/roller/0/command","stop")
}
end

Kann ich mit dem Topic nur die Position sehen oder auch bestimmen?

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

Re: shelly 2 openhab Einbindung per MQTT

Beitrag von udo1toni »

Das stimmt so aber sicherlich nicht. das receivedCommand ist UP, DOWN, oder STOP (wenn man über die UI die entsprechenden Knöpfe drückt)
Wenn der Shelly hier open, close und stop erwartet, erklärt das die Schwierigkeit. Du musst eine Outgoing Value Transformation definieren, in diesem Fall am besten über MAP. Du musst also die MAP Transformation installieren, eine Datei /etc/openhab2/transform/shellyShutter.map anlegen (mit dem Inhalt):

Code: Alles auswählen

UP=open
DOWN=close
STOP=stop
und dann im Channel in Outgoing Value Transformation dies hier eintragen:

Code: Alles auswählen

MAP(shellyShutter.map)
Dann sollten die von openHAB verwendeten Steuercodes korrekt umgesetzt werden.

Dass der Status des Items sich auf 0 bzw. 100 ändert, hängt damit zusammen, dass openHAB hier etwas übereifrig agiert. Wenn Du die Rückmeldung der Position in stateTopic einträgst und das Item zusätzlich auf autoupdate="false" konfigurierst, sollte immer die korrekte (im Sinne von: so von Shelly gemeldet) Position angezeigt werden:

Code: Alles auswählen

Rollershutter Aktion "Tür" { channel="mqtt:topic:224835b7:Aktion", autoupdate="false" }
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

winni
Beiträge: 62
Registriert: 30. Mär 2019 00:24

Re: shelly 2 openhab Einbindung per MQTT

Beitrag von winni »

Vielen Dank für den Einsatz! Ich habe die Map erstellt und unter transform gespeichert. Sobald ich "MAP(shellyShutter.map)" in Outgoing Value Transformation eintrage, geht das Thing offline und sagt "OFFLINE - CONFIGURATION_ERROR".

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

Re: shelly 2 openhab Einbindung per MQTT

Beitrag von udo1toni »

Argh.

Auf welcher Version von openHAB bist Du? Es gab zu der Funktion einen Commit am 18 JAnuar, kann also sein, dass diese Funktion nur unter openHAB ab 2.5-M1 zur Verfügung steht.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

winni
Beiträge: 62
Registriert: 30. Mär 2019 00:24

Re: shelly 2 openhab Einbindung per MQTT

Beitrag von winni »

Guten Morgen,
das habe ich dann auch gemerkt und mir die Version 2.5-M1 installiert, MQTT Binding und Broker installiert, das Thing und die Map erstellt und wie beschrieben den Verweis auf die Map.
Unbenannt.JPG
Sobald ich die Einstellung im Channel abspeicher, geht das Thing offline.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

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

Re: shelly 2 openhab Einbindung per MQTT

Beitrag von udo1toni »

Und Du hast die Map Transformation auch installiert? Zu finden unter Paper UI -> Add-ons -> Transformations -> Map Transformation

Es könnte außerdem noch sein, dass ich mich in der Schreibweise geirrt habe :) Vielleicht muss der Eintrag so aussehen:

Code: Alles auswählen

MAP:shellyShutter.map
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

winni
Beiträge: 62
Registriert: 30. Mär 2019 00:24

Re: shelly 2 openhab Einbindung per MQTT

Beitrag von winni »

Jetzt bin ich wirklich langsam am verzweifeln. Nachdem ich jetzt die Version openhab-2.5.0.M1 installiert habe, bekomme ich es nicht mehr hin irgendwelche commands an den shelly zu senden.

Folgendes habe ich gemacht:
- openhab-2.5.0.M1 installiert
- embedded broker, mqtt broker und die map transformation installiert
- Map genau wie von Dir beschrieben erstellt
- Generic MQTT Thing angelegt und einen Channel wie folgt angelegt:
Unbenannt.PNG
- Jetzt habe ich in Visual Studio Code eine .items Datei erstellt, die wie folgt aussieht:

Rollershutter Terassentuer "Terassentuer" <rollershutter> {channel="mqtt:topic:dffa305d:Terassentuer", autoupdate="false" }

- eine .sitemap Datei erstellt:

sitemap rolladen label="Shelly2" {
Default item=Terassentuer label="Terassentuer"
}

Meine Basic UI sieht wie folgt aus:
Unbenannt1.PNG
Bei der 2.4 Version konnte ich im MQTT.fx den Channel "shellies/shellyswitch-55C4EA/roller/0/command" sehen. Jetzt zeigt er mir diesen nicht mehr an und der shelly lässt sich auch nicht mehr schalten.

Was mache ich falsch?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Antworten