Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt

Geflasht oder ungeflasht ...

Moderator: seppy

AndRe5575
Beiträge: 67
Registriert: 8. Jun 2020 20:16

Re: Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt

Beitrag von AndRe5575 »

Danke für den Tipp,

habe den switch einfach minimal abgeändert und habe dadurch die Taste Stop dabei:

Code: Alles auswählen

	Switch    item=yourShelly    mappings=[0="Hoch",STOP="Stop",100="Runter"]	
Habe meine mqtt Datei noch angepasst, so dass auch vor dem Schalter die aktuelle Position steht.
Nun muss ich nur noch die Wandlung von 0-100 auf 100-0 einbinden, damit die Icons auch richtig angezeigt werden (Edit: erledigt :-) )

AndRe5575
Beiträge: 67
Registriert: 8. Jun 2020 20:16

Re: Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt

Beitrag von AndRe5575 »

So mit einem Shelly funzt das ganze auch wie gewünscht. Nun habe ich das Problem den zweiten Shelly einzubinden.
Die Steuerung des ersten Shelly funktioniert, beim zweiten Steuer ich allerdings immer beide.

MQTT:

Code: Alles auswählen

Bridge mqtt:broker:embedded-mqtt-broker "MQTT Bridge" [host="10.10.1.2", port="1883", secure=false, username="", password=""]

{
    Thing topic Shelly2_5_4711 "Rollo Wohnzimmer" 
    {
        Channels:
        Type rollershutter  : Position  "Rollo Wohnzimmer Prozent"      [stateTopic="shellies/shellyswitch25-4711/roller/0/pos", transformationPattern="JS:shelly_convert_pos.js" , commandTopic="shellies/shellyswitch25-4711/roller/0/command/pos", transformationPatternOut="JS:shelly_convert_pos.js" ]
        Type rollershutter  : Control   "Rollo Wohnzimmer Schalter"     [stateTopic="shellies/shellyswitch25-4711/roller/0/pos", transformationPattern="JS:shelly_convert_pos.js" , commandTopic="shellies/shellyswitch25-4711/roller/0/command", transformationPatternOut="MAP:shelly.map"]
        Type number         : Watts     "Rollo Wohnzimmer Watt"         [stateTopic="shellies/shellyswitch25-4711/roller/0/power"]
	Type number         : Energy    "Rollo Wohnzimmer Total"        [stateTopic="shellies/shellyswitch25-4711/roller/0/energy", transformationPattern="JS:shelly_convertkwh.js" ]
        Type number         : Temp      "Rollo Wohnzimmer Temperatur"   [stateTopic="shellies/shellyswitch25-4711/temperature"]
    }

    Thing topic Shelly2_5_4902 "Rollo Schlafzimmer" 
    {
        Channels:
        Type rollershutter  : Position  "Rollo Schlafzimmer Prozent"      [stateTopic="shellies/shellyswitch25-4902/roller/0/pos", transformationPattern="JS:shelly_convert_pos.js" , commandTopic="shellies/shellyswitch25-4902/roller/0/command/pos", transformationPatternOut="JS:shelly_convert_pos.js" ]
        Type rollershutter  : Control   "Rollo Schlafzimmer Schalter"     [stateTopic="shellies/shellyswitch25-4902/roller/0/pos", transformationPattern="JS:shelly_convert_pos.js" , commandTopic="shellies/shellyswitch25-4902/roller/0/command", transformationPatternOut="MAP:shelly.map"]
        Type number         : Watts     "Rollo Schlafzimmer Watt"         [stateTopic="shellies/shellyswitch25-4902/roller/0/power"]
	Type number         : Energy    "Rollo Schlafzimmer Total"        [stateTopic="shellies/shellyswitch25-4902/roller/0/energy", transformationPattern="JS:shelly_convertkwh.js" ]
        Type number         : Temp      "Rollo Schlafzimmer Temperatur"   [stateTopic="shellies/shellyswitch25-4902/temperature"]
    }
}
Items:

Code: Alles auswählen

Rollershutter   Rollo_Wohnzimmer_Shutter            "Rollo Wohnzimmer"                  {channel="mqtt:topic:embedded-mqtt-broker:Shelly2_5_4711:Position"}
Rollershutter   Rollo_Wohnzimmer_Switch             "Rollo Wohnzimmer"                  {channel="mqtt:topic:embedded-mqtt-broker:Shelly2_5_4711:Control"}
Number          Rollo_Wohnzimmer_MeterCurrentWatts  "Rollo Wohnzimmer Watt"             {channel="mqtt:topic:embedded-mqtt-broker:Shelly2_5_4711:Watts"}
Number          Rollo_Wohnzimmer_MeterTotalKWH      "Rollo Wohnzimmer Total energy"     {channel="mqtt:topic:embedded-mqtt-broker:Shelly2_5_4711:Energy"}
Number          Rollo_Wohnzimmer_Temperatur         "Rollo Wohnzimmer Temperatur"       {channel="mqtt:topic:embedded-mqtt-broker:Shelly2_5_4711:Temp"}

Rollershutter   Rollo_Schlafzimmer_Shutter            "Rollo Schlafzimmer"                  {channel="mqtt:topic:embedded-mqtt-broker:Shelly2_5_4902:Position"}
Rollershutter   Rollo_Schlafzimmer_Switch             "Rollo Schlafzimmer"                  {channel="mqtt:topic:embedded-mqtt-broker:Shelly2_5_4902:Control"}
Number          Rollo_Schlafzimmer_MeterCurrentWatts  "Rollo Schlafzimmer Watt"             {channel="mqtt:topic:embedded-mqtt-broker:Shelly2_5_4902:Watts"}
Number          Rollo_Schlafzimmer_MeterTotalKWH      "Rollo Schlafzimmer Total energy"     {channel="mqtt:topic:embedded-mqtt-broker:Shelly2_5_4902:Energy"}
Number          Rollo_Schlafzimmer_Temperatur         "Rollo Schlafzimmer Temperatur"       {channel="mqtt:topic:embedded-mqtt-broker:Shelly2_5_4902:Temp"}
Sitemap:

Code: Alles auswählen

sitemap demo label="My home automation" {

    Frame   label="Zimmer: Wohnzimmer"
    {
        Slider      item=Rollo_Wohnzimmer_Shutter           label="Position"               icon="rollershutter"
        Switch      item=Rollo_Wohnzimmer_Switch            label="Schalter"               icon="rollershutter"    mappings=[0="Hoch",STOP="Stop",100="Runter"]
        Selection   item=Rollo_Wohnzimmer_Shutter           label="Feste Position"         icon="rollershutter"    mappings=["0"="0 - Auf","20"="20","40"="40","60"="60","80"="80","100"="100 - Zu"]
        Default     item=Rollo_Wohnzimmer_Temperatur        label="Temperatur  [%.1f °C]"  icon="temperature"
        Default     item=Rollo_Wohnzimmer_MeterCurrentWatts label="akt Verbrauch [%.1f W]" icon="energy"
        Text        item=Rollo_Wohnzimmer_MeterTotalKWH     label="Zähler [%.1f kWh]"      icon="energy" 
    }
    Frame   label="Zimmer: Schlafzimmer"
    {
        Slider      item=Rollo_Schlafzimmer_Shutter           label="Position"               icon="rollershutter"
        Switch      item=Rollo_Schlafzimmer_Switch            label="Schalter"               icon="rollershutter"    mappings=[0="Hoch",STOP="Stop",100="Runter"]
        Selection   item=Rollo_Schlafzimmer_Shutter           label="Feste Position"         icon="rollershutter"    mappings=["0"="0 - Auf","20"="20","40"="40","60"="60","80"="80","100"="100 - Zu"]
        Default     item=Rollo_Schlafzimmer_Temperatur        label="Temperatur  [%.1f °C]"  icon="temperature"
        Default     item=Rollo_Schlafzimmer_MeterCurrentWatts label="akt. Verbrauch [%.1f W]"icon="energy"
        Text        item=Rollo_Schlafzimmer_MeterTotalKWH     label="Zähler [%.1f kWh]"      icon="energy" 
    } 

}
Wo habe ich hier meinen Denkfehler?

AndRe5575
Beiträge: 67
Registriert: 8. Jun 2020 20:16

Re: Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt

Beitrag von AndRe5575 »

Ich glaube ich habe den Fehler gefunden und bräuchte nur einen kurzen Tipp.

Ich habe bei mir alle Items und Things in Zimmer1 bis Zimmer 3 umbenannt um den Fehler zu finden. Ich wollte mir einfach alles einmal bei MQTT.fx ansehen. Nachdem ich alles eingespielt habe funzte alles sofort. Ich habe die Kommandos der einzelnen Zimmer auch einzeln gesehen, kein Zimmer hat zwei Kommandos abgesetzt.

Bei einem hatte ich jedoch einen kleinen Schreibfehler drinnen (MQTT Kommando hatte in CommandTopic den Namen Zimer3 statt Zimmer3), dies wurde aber auch so bei MQTT.fx geloggt also passte ja alles. Ich habe es dann dennoch kurzerhand in VS Code abgeändert und wollte es erneut testen und siehe da es kam immer noch Zimer3 statt des korrigierten Zimmer3. Nach einem Reboot des OpenHab Services wurde dann richtig Zimmer3 angezeigt.

Hieraus ergibt sich meine Frage:
Muss ich jedesmal den Service neu starten, wenn ich ein Thing abändere? Habe es danach noch 2 mal mit dem ändern versucht und wieder erfolgte die Änderung erst nach dem Neustart des Dienstes. Ein neues Thing hingegen wurde sofort erkannt.

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

Re: Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt

Beitrag von PeterA »

Kurz und Knapp: Ja
- OpenHab 2.4
#PWRUP

AndRe5575
Beiträge: 67
Registriert: 8. Jun 2020 20:16

Re: Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt

Beitrag von AndRe5575 »

Geht das auch über das Paper-UI oder geht das nur über ein Exec-Binding?

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

Re: Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt

Beitrag von PeterA »

Du kannst ein Binding auch über die Karaf Konsole neu Starten...
Und diesen Befehl kannst Du natürlich über das Exec-Binding absetzen.

So etwas ähnliches habe ich mit mir dem Logging gebaut.

viewtopic.php?f=15&t=3073

Gruß Peter
- OpenHab 2.4
#PWRUP

AndRe5575
Beiträge: 67
Registriert: 8. Jun 2020 20:16

Re: Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt

Beitrag von AndRe5575 »

OK Danke, mit dem Thema habe ich mich auch noch nicht beschäftigt. Kommt, wenn ich die Shutter soweit laufen habe, wie ich es gerne haben wollte. Hierzu wollte ich nun eine Gruppe einrichten um über einen Switch alle Shutter zusammen hoch- bzw runter zufahren.

Hierfür habe ich eine Gruppe in der Items Datei erstellt:

Code: Alles auswählen

Group:Rollershutter gSHELLY_All_Up
Group:Rollershutter gSHELLY_Controll_All
Und diese dann allen Shuttern zugeordnet.

Code: Alles auswählen

Rollershutter   Rollo_Schlafzimmer_Shutter	"Rollo Schlafzimmer"	(gSHELLY_All_Up)	{channel="mqtt:topic:embedded-mqtt-broker:Shelly2_5_4902:Position"}
Dann noch die Sitemap erstellt:

Code: Alles auswählen

        Slider item=gSHELLY_All_Up                      label="Alle Rollos"         icon="rollershutter"
        Switch item=gSHELLY_Controll_All                label="Schlafzimmer"     icon="rollershutter"    mappings=[0="Hoch",STOP="Stop",100="Runter"]
Leider geht dieses so ja nicht. Der Schalter schaltet zwischen den Werten 0.0 und 100.0. Richtig wäre ja entweder zwischen 0 und 100 oder open und close. Gibt es eine Gruppendefinition wo ich einen Slider bzw die drei Tasten (Hoch/Stop/Runter) für alle Rollos verwenden kann?

Edit: Kaum macht man es richtig geht es auch :-)

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

Re: Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt

Beitrag von udo1toni »

Also, das mit der Gruppe sollte so funktionieren.

Wen Du .things Dateien bearbeitest, bekommt openHAB davon leider nicht zuverlässig was mit, bzw. die betroffenen Addons bekommen davon nichts mit und lesen in der Folge die Änderungen nicht ein.

Für Items sollte das aber nicht gelten.

Wenn das Group Item als Rollershutter definiert ist, gibt es die Kommandos 0 - 100 sowie UP, DOWN und STOP. Die letzten drei werden von den drei Buttons gesendet, die die UI automatisch zeichnet, wenn man das Switch Widget mit einem Rollershutter Item koppelt, da sollte es weder Slider noch mappings brauchen.
Wenn man einen Slider verwenden möchte, muss man sich darüber im Klaren sein, dass openHAB evtl. Beim Ziehen des Sliders sehr viele Befehle sendet, oder aber vielleicht auch gar keinen. Der Slider ist leider beim ersten Klick nicht sehr zuverlässig (nur meine persönliche Erfahrung). Beim zweiten Klick auf einen Wert sollte es funktionieren, aber da der Slider keine Absolutpositionen hat (nicht mal 0 und 100...) ist der Slider meine Meinung nicht gut für Rollläden geeignet.
Ich nutze deshalb gewöhnlich das Switch Widget mit mapping oder in Fällen, wo es mehr als vier Sollstelldungen gibt eben das Selection Widget. Als Kommando sollte jedenfalls keine Zahl mit Nachkommastelle gesendet werden, das ist nur bei Number Items der Fall.


Gesendet von iPad mit Tapatalk
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

AndRe5575
Beiträge: 67
Registriert: 8. Jun 2020 20:16

Re: Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt

Beitrag von AndRe5575 »

!!! Vielen Dank Euch für die Antworten und die ganzen hilfreichen Tipps !!!

Leider gibt es ja hier keine Danke Buttons, deswegen mal auf diesen Weg.

Ich glaube ich werde die Slider auch wieder rauswerfen und auf das selection Widget wechseln.

Gibt es eigentlich einen Weg eine Vorauswahl zu treffen und nur diese zu steuern? Habe eine Gruppe die alle Shellys beinhaltet, ab und an will ich aber nicht alle fahren sondern nur einen gewissen Teil (und dieser kann variieren). Natürlich könnte man alles über unterschiedliche Gruppen realisieren, aber da ergibt sich am Ende eine hohe Anzahl an Gruppen und das sorgt dafür, dass das ganze sehr unübersichtlich wird.

Ich vermute aber das wäre in einem eigenen anderen Topic besser aufgehoben, da es ja nur bedingt in dieses Unterforum passt.

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

Re: Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt

Beitrag von udo1toni »

Nein, direkt geht das nicht. Du kannst das natürlich indirekt nachbilden, aber was ist dadurch gewonnen? Das einzige wäre, dass die eigentliche Fahrt dann synchron stattfindet.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten