Shelly Steuerung über OH3 mittels MQTT (gelöst)
Verfasst: 2. Mai 2021 00:08
Hallo zusammen,
zur Zeit verwende ich OpenHab 3 um meine Shellys (2.5) zu steuern.
mqtt.things:
mqtt.items:
Sitemap:
Der Teil funktioniert soweit auch Einwandfrei. Nun würde ich gerne den Autotimer per Switch Ein und Aus schalten können. Leider ist dieses weder mit dem Binding noch mittels MQTT möglich (zumindest habe ich keinen Weg gefunden)
Also wollte ich es mittels http Binding versuchen:
http.things
Und folgende Zeile meiner Items Datei hinzugefügt:
und folgende Zeile meiner Sitemap:
Bisher leider ohne Erfolg. Ich sehe meinen offensichtlichen Fehler leider nicht.
Des Weiteren versuche ich mittels eines langen Tastendrucks alle meine Rolladen hoch bzw. runter zu fahren.
Dafür habe ich hier auch eine offenes Thema im Forum. Auch bei dem Thema komme ich nicht weiter.
(LongPress und DoublePress würde ich auch gerne für verschieden Szenarien bzgl. der Beleuchtung nutzen, wenn die Timer einmal laufen sollte die andere Anwendung ja kein Thema sein. Ggf. weiß auch jemand zu dem Thema:viewtopic.php?f=15&t=5396 einen Rat).
zur Zeit verwende ich OpenHab 3 um meine Shellys (2.5) zu steuern.
mqtt.things:
Code: Alles auswählen
Bridge mqtt:broker:embedded-mqtt-broker "MQTT Bridge" [host="172.16.0.12", port="1883", secure=false, username="****", password="****"]
{
Thing topic Rollo "Rollo Wohnzimmer"
{
Channels:
Type rollershutter : Position "Rollo Prozent" [stateTopic="shellies/shellyswitch25-/roller/0/pos", transformationPattern="JS:shelly_convert_pos.js" , commandTopic="shellies/shellyswitch25/roller/0/command/pos", transformationPatternOut="JS:shelly_convert_pos.js" ]
Type rollershutter : Control "Rollo Schalter" [stateTopic="shellies/shellyswitch25/roller/0/pos", transformationPattern="JS:shelly_convert_pos.js" , commandTopic="shellies/shellyswitch25/roller/0/command", transformationPatternOut="MAP:shelly.map"]
Type number : Watts "Rollo Watt" [stateTopic="shellies/shellyswitch25/roller/0/power"]
Type number : Energy "Rollo Total" [stateTopic="shellies/shellyswitch25/roller/0/energy", transformationPattern="JS:shelly_convertkwh.js" ]
Type number : Temp "Rollo Temperatur" [stateTopic="shellies/shellyswitch25/temperature"]
Type contact : Cmd_Up "Rollo Schalter" [stateTopic="shellies/shellyswitch25/input/1"]
Type contact : Cmd_Down "Rollo Schalter" [stateTopic="shellies/shellyswitch25/input/0"]
}
}
Code: Alles auswählen
Group:Rollershutter All_Up
Group:Rollershutter Controll_All
Group:Number:SUM total_kWh
Group:Contact:OR (OPEN,CLOSED) CMD_up
Group:Contact:OR (OPEN,CLOSED) CMD_down
Rollershutter Rollo_Shutter "Rollo" (All_Up) {channel="mqtt:topic:embedded-mqtt-broker:Rollo:Position"}
Rollershutter Rollo_Switch "Rollo" (Controll_All) {channel="mqtt:topic:embedded-mqtt-broker:Rollo:Control"}
Number Rollo_MeterCurrentWatts "Rollo Watt" {channel="mqtt:topic:embedded-mqtt-broker:Rollo:Watts"}
Number Rollo_total_kWh "Rollo Total energy" (total_kWh) {channel="mqtt:topic:embedded-mqtt-broker:Rollo:Energy"}
Number Rollo_Temperatur "Rollo Temperatur" {channel="mqtt:topic:embedded-mqtt-broker:Rollo:Temp"}
Contact Rollo_CMD_up "Rollo Taste Hoch" (CMD_up) {channel="mqtt:topic:embedded-mqtt-broker:Rollo:Cmd_Up"}
Contact Rollo_CMD_down "Rollo Taste Runter" (CMD_down) {channel="mqtt:topic:embedded-mqtt-broker:Rollo:Cmd_Down"}
Code: Alles auswählen
sitemap demo label="My home automation" {
Frame label="Wohnzimmer"
{
Slider item=Rollo_Shutter label="Position" icon="rollershutter"
Switch item=Rollo_Switch label="Schalter" icon="rollershutter" mappings=[0="Hoch",STOP="Stop",100="Runter"]
Selection item=Rollo_Shutter label="Feste Position" icon="rollershutter" mappings=["0"="0 - Auf","20"="20","40"="40","60"="60","80"="80","100"="100 - Zu"]
Default item=Rollo_Temperatur label="Temperatur [%.1f °C]" icon="temperature"
Default item=Rollo_MeterCurrentWatts label="akt Verbrauch [%.1f W]" icon="energy"
Text item=Rollo_MeterTotalKWH label="Zähler [%.1f kWh]" icon="energy"
}
}
Also wollte ich es mittels http Binding versuchen:
http.things
Code: Alles auswählen
Thing http:url:Rollo_Timer "Zeitsteuerung Wohnzimmer" [baseURL="http://172.16.0.14", refresh=30]{
Channels:
Type Switch : Scheduler [ stateExtension="/settings/roller/", stateTransformation="getValue:$.schedule", commandExtension="/settings/roller/0?schedule=false", onValue="true", offValue="false"]
}
Code: Alles auswählen
Switch Rollo_Timer_Off "Rollo Timer Aus" {channel="http:url:Rollo_Timer:Scheduler"}
Code: Alles auswählen
Switch item=Rollo_Timer_Off label="Schalter" icon="switch"
Des Weiteren versuche ich mittels eines langen Tastendrucks alle meine Rolladen hoch bzw. runter zu fahren.
Dafür habe ich hier auch eine offenes Thema im Forum. Auch bei dem Thema komme ich nicht weiter.
(LongPress und DoublePress würde ich auch gerne für verschieden Szenarien bzgl. der Beleuchtung nutzen, wenn die Timer einmal laufen sollte die andere Anwendung ja kein Thema sein. Ggf. weiß auch jemand zu dem Thema:viewtopic.php?f=15&t=5396 einen Rat).