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

Re: shelly 2 openhab Einbindung per MQTT

Beitrag von winni »

Unbenannt.PNG
ja, ist er
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 »

@giss69
Kannst Du mir nochmal genauer erklären wie Du es in der 2.4er Version hinbekommen hast? Hast Du nur eine Map für incomming erstellt? Welche commands liefert openHab bei Dir? Ich bekomme es in der 2.5 er Version einfach nicht hin. Bei der 2.4er sendet openHab zumindest die Befehle 0 und 100, die ich in MQTT.fx sehen kann. Leider weiß ich aber nicht, wie ich die Map einbinden kann, damit mein shelly die commands open, close und stop bekommt.

giss69
Beiträge: 14
Registriert: 1. Jan 2019 20:36

Re: shelly 2 openhab Einbindung per MQTT

Beitrag von giss69 »

@winni
ich habe es nicht über paper eingerichtet, sondern mit thing, item, map, rules file

things

Code: Alles auswählen

// Fenster
Thing topic shellies "Fenster" @ "WZ"{
Channels:
Type rollershutter : shellyswitch25-745919 "Fenster 3" [ stateTopic="shellies/shellyswitch25-745919/roller/0" , commandTopic="shellies/shellyswitch25-745919/roller/0/command" , transformationPattern="MAP:shelly.map"]
// Type number : temperature "Temperatur" [ stateTopic="shellies/shellyswitch25-745919/temperature" ]
Type rollershutter : shellyswitch25-744E5F "Fenster 2" [ stateTopic="shellies/shellyswitch25-744E5F/roller/0" , commandTopic="shellies/shellyswitch25-744E5F/roller/0/command" , transformationPattern="MAP:shelly.map"]
Type rollershutter : shellyswitch25-745897 "Fenster 1" [ stateTopic="shellies/shellyswitch25-745897/roller/0" , commandTopic="shellies/shellyswitch25-745897/roller/0/command" , transformationPattern="MAP:shelly.map"]


}
item

Code: Alles auswählen

Rollershutter Fenster_3 "Fenster 3" [ "Switchable" ] {channel="mqtt:topic:abhome:shellies:shellyswitch25-745919"}
Rollershutter Fenster_2 "Fenster 2" [ "Switchable" ] {channel="mqtt:topic:abhome:shellies:shellyswitch25-744E5F"}
Rollershutter Fenster_1 "Fenster 1" [ "Switchable" ] {channel="mqtt:topic:abhome:shellies:shellyswitch25-745897"}
map

Code: Alles auswählen

UP=up
DOWN=down
STOP=stop
0=close
100=open
open=0
close=100
=stop
rules

Code: Alles auswählen

rule "Fenster 3"
when
Item Fenster_3 received command
then
val mqttActions = getActions("mqtt","mqtt:broker:abhome")

if(Fenster_3.state.toString == "100") {
mqttActions.publishMQTT("shellies/shellyswitch25-745919/roller/0/command","close")
}
else if (Fenster_3.state.toString == "0") {
mqttActions.publishMQTT("shellies/shellyswitch25-745919/roller/0/command","open")
}
if (receivedCommand == STOP){
mqttActions.publishMQTT("shellies/shellyswitch25-745919/roller/0/command","stop")
}
end

rule "Fenster 2"
when
Item Fenster_2 received command
then
val mqttActions = getActions("mqtt","mqtt:broker:abhome")

if(Fenster_2.state.toString == "100") {
mqttActions.publishMQTT("shellies/shellyswitch25-744E5F/roller/0/command","close")
}
else if (Fenster_2.state.toString == "0") {
mqttActions.publishMQTT("shellies/shellyswitch25-744E5F/roller/0/command","open")
}
if (receivedCommand == STOP){
mqttActions.publishMQTT("shellies/shellyswitch25-744E5F/roller/0/command","stop")
}
end

rule "Fenster 1"
when
Item Fenster_1 received command
then
val mqttActions = getActions("mqtt","mqtt:broker:abhome")

if(Fenster_1.state.toString == "100") {
mqttActions.publishMQTT("shellies/shellyswitch25-745897/roller/0/command","close")
}
else if (Fenster_1.state.toString == "0") {
mqttActions.publishMQTT("shellies/shellyswitch25-745897/roller/0/command","open")
}
if (receivedCommand == STOP){
mqttActions.publishMQTT("shellies/shellyswitch25-745897/roller/0/command","stop")
}
end

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

Re: shelly 2 openhab Einbindung per MQTT

Beitrag von winni »

Vielen Dank! Werde ich die Tage mal ausprobieren!

Benutzeravatar
PeterA
Beiträge: 1052
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: shelly 2 openhab Einbindung per MQTT

Beitrag von PeterA »

Hallo zusammen,
habe nun endlich auch meine 2.5er Shellys erhalten.
Kann ich diese auch auf eine bestimmte Position fahren ?
Zb. Close auf 70% ?
Das benötigte ich für meine Verschattung.

Vielen Grüße
Peter
- OpenHab 2.4
#PWRUP

Benutzeravatar
PeterA
Beiträge: 1052
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: shelly 2 openhab Einbindung per MQTT

Beitrag von PeterA »

Also so wie ich das sehe funktioniert das einfach noch nicht:

https://community.openhab.org/t/bindin ... ong/61091

In dem Thread ist ein interessanter Hinweis auf die Verwendung von drei einzelnen Items um den Rolladen zu Steuern.
- OpenHab 2.4
#PWRUP

giss69
Beiträge: 14
Registriert: 1. Jan 2019 20:36

Re: shelly 2 openhab Einbindung per MQTT

Beitrag von giss69 »

Peter Aschinger hat geschrieben: 24. Apr 2019 23:07 Hallo zusammen,
habe nun endlich auch meine 2.5er Shellys erhalten.
Kann ich diese auch auf eine bestimmte Position fahren ?
Zb. Close auf 70% ?
Das benötigte ich für meine Verschattung.

Vielen Grüße
Peter
dies kann man mit Alexa und routine realisieren.

tiptick
Beiträge: 1
Registriert: 27. Apr 2019 20:36

Re: shelly 2 openhab Einbindung per MQTT

Beitrag von tiptick »

giss69 hat geschrieben: 26. Apr 2019 12:55
Peter Aschinger hat geschrieben: 24. Apr 2019 23:07 Hallo zusammen,
habe nun endlich auch meine 2.5er Shellys erhalten.
Kann ich diese auch auf eine bestimmte Position fahren ?
Zb. Close auf 70% ?
Das benötigte ich für meine Verschattung.

Vielen Grüße
Peter
dies kann man mit Alexa und routine realisieren.
oder mit:

Thing:

Code: Alles auswählen

Bridge mqtt..........

Type number : Shelly_d "ShellyDimmer" [ commandTopic="shellies/shellyswitch-32B0C4/roller/0/command/pos", stateTopic="shellies/shellyswitch-32B0C4/roller/0/pos" ,min=0, max=100, step=2]


und dann in der Sitemap:

Code: Alles auswählen

Switch icon=blinds item=Shelly_d mappings=[0="close",30="sun",100="open"] 

Benutzeravatar
PeterA
Beiträge: 1052
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: shelly 2 openhab Einbindung per MQTT

Beitrag von PeterA »

giss69 hat geschrieben: 24. Apr 2019 18:02 @winni
ich habe es nicht über paper eingerichtet, sondern mit thing, item, map, rules file

things

Code: Alles auswählen

// Fenster
Thing topic shellies "Fenster" @ "WZ"{
Channels:
Type rollershutter : shellyswitch25-745919 "Fenster 3" [ stateTopic="shellies/shellyswitch25-745919/roller/0" , commandTopic="shellies/shellyswitch25-745919/roller/0/command" , transformationPattern="MAP:shelly.map"]
// Type number : temperature "Temperatur" [ stateTopic="shellies/shellyswitch25-745919/temperature" ]
Type rollershutter : shellyswitch25-744E5F "Fenster 2" [ stateTopic="shellies/shellyswitch25-744E5F/roller/0" , commandTopic="shellies/shellyswitch25-744E5F/roller/0/command" , transformationPattern="MAP:shelly.map"]
Type rollershutter : shellyswitch25-745897 "Fenster 1" [ stateTopic="shellies/shellyswitch25-745897/roller/0" , commandTopic="shellies/shellyswitch25-745897/roller/0/command" , transformationPattern="MAP:shelly.map"]


}
item

Code: Alles auswählen

Rollershutter Fenster_3 "Fenster 3" [ "Switchable" ] {channel="mqtt:topic:abhome:shellies:shellyswitch25-745919"}
Rollershutter Fenster_2 "Fenster 2" [ "Switchable" ] {channel="mqtt:topic:abhome:shellies:shellyswitch25-744E5F"}
Rollershutter Fenster_1 "Fenster 1" [ "Switchable" ] {channel="mqtt:topic:abhome:shellies:shellyswitch25-745897"}
map

Code: Alles auswählen

UP=up
DOWN=down
STOP=stop
0=close
100=open
open=0
close=100
=stop
rules

Code: Alles auswählen

rule "Fenster 3"
when
Item Fenster_3 received command
then
val mqttActions = getActions("mqtt","mqtt:broker:abhome")

if(Fenster_3.state.toString == "100") {
mqttActions.publishMQTT("shellies/shellyswitch25-745919/roller/0/command","close")
}
else if (Fenster_3.state.toString == "0") {
mqttActions.publishMQTT("shellies/shellyswitch25-745919/roller/0/command","open")
}
if (receivedCommand == STOP){
mqttActions.publishMQTT("shellies/shellyswitch25-745919/roller/0/command","stop")
}
end

rule "Fenster 2"
when
Item Fenster_2 received command
then
val mqttActions = getActions("mqtt","mqtt:broker:abhome")

if(Fenster_2.state.toString == "100") {
mqttActions.publishMQTT("shellies/shellyswitch25-744E5F/roller/0/command","close")
}
else if (Fenster_2.state.toString == "0") {
mqttActions.publishMQTT("shellies/shellyswitch25-744E5F/roller/0/command","open")
}
if (receivedCommand == STOP){
mqttActions.publishMQTT("shellies/shellyswitch25-744E5F/roller/0/command","stop")
}
end

rule "Fenster 1"
when
Item Fenster_1 received command
then
val mqttActions = getActions("mqtt","mqtt:broker:abhome")

if(Fenster_1.state.toString == "100") {
mqttActions.publishMQTT("shellies/shellyswitch25-745897/roller/0/command","close")
}
else if (Fenster_1.state.toString == "0") {
mqttActions.publishMQTT("shellies/shellyswitch25-745897/roller/0/command","open")
}
if (receivedCommand == STOP){
mqttActions.publishMQTT("shellies/shellyswitch25-745897/roller/0/command","stop")
}
end
Hallo gissi69,

deinen Ansatz will ich nun auch versuchen.
Zunächst aber nur mit einem Shelly2.5.
Könnest Du bitte noch den betreffenden Code aus deiner Sitemap zeigen ?

Vielen lieben Dank.

Gruß Peter
- OpenHab 2.4
#PWRUP

Benutzeravatar
PeterA
Beiträge: 1052
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: shelly 2 openhab Einbindung per MQTT

Beitrag von PeterA »

Hallo gissi69,

habe nun mit deinen Codesnippets es soweit hinbekommen das ich über die UI den Shelly schalten kann! HOORAY
Aber im Log kommt immer noch, wenn der Shelly Stopt:

Code: Alles auswählen

2019-04-29 21:26:07.526 [WARN ] [rm.AbstractFileTransformationService] - Could not transform 'stop' with the file 'shelly.map' : Target value not found in map for 'stop'

Hier mein Thing Config weil ich es über things als txt nicht hinbekommen habe:
Bildschirmfoto 2019-04-29 um 21.31.03.png
Und noch etwas ist mir aufgefallen:
Wenn ich in der UI das X für Stop betätige und der Shelly nicht "open" oder "close" fährt "zucken" die Relais.
Im Mqtt.fx kann ich sehen das da sehr kurz open stop open stop gesendet wird.
Woran kann das liegen ?
- OpenHab 2.4
#PWRUP

Antworten