Jalousien Lamellen - aus zwei Switches ein Rollershutter machen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
frokzee
Beiträge: 3
Registriert: 23. Sep 2020 22:42
Answers: 0

Jalousien Lamellen - aus zwei Switches ein Rollershutter machen

Beitrag von frokzee »

Hallo liebe Community,

mir stellt sich die Frage, wie bzw ob man aus zwei Switches eine Steuerung ala Rollershutter umsetzen kann?

Hier das Beispiel. Die Jalousien (klein und gross) sind klassische Rollershutter. Die Lamellen sind Switches, die ich aber gerne wie einen Rollershutter darstellen möchte.

Lamellen.png

Things

Code: Alles auswählen

Thing shelly:shelly25-roller:D8BFC31F5G0B "Shelly EG Jalousie klein"                   @ "Shelly"      [deviceIp="192.168.1.60", userId="user", password="password"]
Thing shelly:shelly25-roller:105F5C213CE3 "Shelly EG Jalousie gross"                   @ "Shelly"      [deviceIp="192.168.1.61", userId="user", password="password"]

Items

Code: Alles auswählen

Rollershutter         Shelly25_EG_Jalousie_klein_Steuerung                         "Steuerung"                                       (gShelly_EG_Jalousie_klein)           {channel="shelly:shelly25-roller:D8BFC31F5G0B:roller#control"} 
Switch                Shelly25_EG_Jalousie_klein_Lamellen_Up                       "Lamellen hoch"                                   (gShelly_EG_Jalousie_klein)
Switch                Shelly25_EG_Jalousie_klein_Lamellen_Down                     "Lamellen runter"                                 (gShelly_EG_Jalousie_klein)

Rollershutter         Shelly25_EG_Jalousie_gross_Steuerung                         "Steuerung"                                       (gShelly_EG_Jalousie_gross)           {channel="shelly:shelly25-roller:105F5C213CE3:roller#control"}
Switch                Shelly25_EG_Jalousie_gross_Lamellen_Up                       "Lamellen hoch"                                   (gShelly_EG_Jalousie_gross)
Switch                Shelly25_EG_Jalousie_gross_Lamellen_Down                     "Lamellen runter"                                 (gShelly_EG_Jalousie_gross)

Sitemap

Code: Alles auswählen

Text label="Jalousien" icon="rollershutter" {
    Default item=Shelly25_EG_Jalousie_klein_Steuerung label="Jalousie klein [MAP(rollladen.map):%s]" // label="Jalousie klein [(%d)]"
    Default item=Shelly25_EG_Jalousie_gross_Steuerung label="Jalousie gross [MAP(rollladen.map):%s]"
    Switch item=Shelly25_EG_Jalousie_klein_Lamellen_Up icon="rollershutter" label="Lamellen Jalousie klein" mappings=[ON="Auf"]
    Switch item=Shelly25_EG_Jalousie_klein_Lamellen_Down icon="rollershutter" label="Lamellen Jalousie klein" mappings=[ON="Zu"]   
    Switch item=Shelly25_EG_Jalousie_gross_Lamellen_Up icon="rollershutter" label="Lamellen Jalousie gross" mappings=[ON="Auf"]
    Switch item=Shelly25_EG_Jalousie_gross_Lamellen_Down icon="rollershutter" label="Lamellen Jalousie gross" mappings=[ON="Zu"]
}

Rules

Code: Alles auswählen

rule "Lamellen Steuerung Jalousie gross hoch"
when
  Item Shelly25_EG_Jalousie_gross_Lamellen_Up received command
then
    Shelly25_EG_Jalousie_gross_Steuerung.sendCommand(UP)
    Thread::sleep(200) // Debounce for 0,2 seconds
    Shelly25_EG_Jalousie_gross_Steuerung.sendCommand(STOP)
end

rule "Lamellen Steuerung Jalousie gross runter"
when
  Item Shelly25_EG_Jalousie_gross_Lamellen_Down received command
then
    Shelly25_EG_Jalousie_gross_Steuerung.sendCommand(DOWN)
    Thread::sleep(200)
    Shelly25_EG_Jalousie_gross_Steuerung.sendCommand(STOP)
end

Danke euch schonmal für die Rückmeldungen!

VG,
-Matthias
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

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

Re: Jalousien Lamellen - aus zwei Switches ein Rollershutter machen

Beitrag von udo1toni »

Warum nutzt Du nicht das Default Widget mit Rollershutter Item? Du kannst die Rule genauso gut auf die Commands UP und DOWN triggern lassen, um den Aktor nach 0,2 Sekunden automatisch zu stoppen. Dann brauchst Du auch nur ein zusätzliches Item (und nur eine Rule für beide Richtungen)
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

frokzee
Beiträge: 3
Registriert: 23. Sep 2020 22:42
Answers: 0

Re: Jalousien Lamellen - aus zwei Switches ein Rollershutter machen

Beitrag von frokzee »

Hallo udo1toni, ich hatte gehofft, dass du dich meldest :-)

Kannst du mir bitte kurz auf die Sprünge helfen, wie ich das Default Widget nutzen kann? Ich habe bisher noch nicht mit Widgets gearbeitet.

Nebenbei ist mir gestern bei einem Update mein Container abgeraucht und das Neuaufsetzen mit der bestehenden Config funktioniert nicht mehr (Stichwort entrypoint: /entrypoint.sh). Habe in diesem Zusammenhang aber jetzt einen neuen Container aufgesetzt und von OH 2.5 auf 3.1 migriert. Muss mich jetzt erstmal in der neuen Oberfläche zurechtfinden.

Danke dir!

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

Re: Jalousien Lamellen - aus zwei Switches ein Rollershutter machen

Beitrag von udo1toni »

frokzee hat geschrieben: 10. Mär 2021 17:48 Kannst du mir bitte kurz auf die Sprünge helfen, wie ich das Default Widget nutzen kann? Ich habe bisher noch nicht mit Widgets gearbeitet.
Aber das tust Du doch eine Zeile drüber schon? Du musst lediglich statt der vier ungebundenen Switch Items zwei ungebundene Rollershutter Items nehmen. Die bindest Du in der Sitemap mit Default ein (Switch ginge aber auch, openHAB rendert dennoch den Rollershutter).

Aus den vier Rules machst Du dann auch noch zwei (hier die für die große Jalousie)

Code: Alles auswählen

rule "Lamellen Steuerung Jalousie gross"
when
  Item Shelly25_EG_Jalousie_gross_Lamellen received command
then
    if(receivedCommand == UP || receivedCommand == DOWN) {
        Shelly25_EG_Jalousie_gross_Steuerung.sendCommand(receivedCommand)
        Thread::sleep(200) // Debounce for 0,2 seconds
        Shelly25_EG_Jalousie_gross_Steuerung.sendCommand(STOP)
    }
end
Den Itemnamen habe ich einfach eingekürzt. ;) Die if-Anweisung dient lediglich dem Abfangen von "falschen" Kommandos, wie z.B. STOP oder einer Zahl.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

frokzee
Beiträge: 3
Registriert: 23. Sep 2020 22:42
Answers: 0

Re: Jalousien Lamellen - aus zwei Switches ein Rollershutter machen

Beitrag von frokzee »

Funktioniert! Ich sage vielen lieben Dank!

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

Re: Jalousien Lamellen - aus zwei Switches ein Rollershutter machen

Beitrag von udo1toni »

gerne :)
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Antworten