Rolladenmotor steuern

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

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

Re: Rolladenmotor steuern

Beitrag von udo1toni »

Genau, Pulsetime1 und Pulsetime2 sind die beiden zu setzenden Parameter.

Meine Items:

Code: Alles auswählen

String mqttSonoffT1lwt       "SOnOff T1 [%s]"        { mqtt="<[mosquitto:sonoff_t1/tele/LWT:state:default]" }
String mqttSonoffT1state     "SOnOff T1"             { mqtt="<[mosquitto:sonoff_t1/tele/STATE:state:default]" }
Rollershutter mqttSonoffT1   "Wohnzimmer Hof [%d%%]" { mqtt=">[mosquitto:sonoff_t1/cmnd/shutterposition1:command:*:default]", autoupdate="false" }
Rollershutter mqttSonoffT1ud "Wohnzimmer Hof [%d%%]" { mqtt=">[mosquitto:sonoff_t1/cmnd/shutteropen1:command:UP:null],>[mosquitto:sonoff_t1/cmnd/shutterclose1:command:DOWN:null],>[mosquitto:sonoff_t1/cmnd/shutterstop1:command:STOP:null],<[mosquitto:sonoff_t1/stat/SHUTTER1:state:default],<[mosquitto:sonoff_t1/tele/SENSOR:state:JSONPATH($.SHUTTER-1)]", autoupdate="false" }
Meine Sitemap:

Code: Alles auswählen

Default item=mqttSonoffT1ud
Selection item=mqttSonoffT1 mappings=[ 0="0%",25="25%",50="50%",75="75%",100="100%" ]
Default item=mqttSonoffT1state label="SOnOff T1 FS [JSONPATH($.Wifi.RSSI):%s%%]"
Default item=mqttSonoffT1state label="SOnOff T1 MAC [JSONPATH($.Wifi.APMac):%s]"
Default item=mqttSonoffT1state label="SOnOff T1 Uptime [JSONPATH($.Uptime):%s]"
Default item=mqttSonoffT1lwt   label="SOnOff T1 [%s]"
Wie man sehen kann nutze ich in der Sitemap dreimal dasselbe Item, aber mit unterschiedlichem Label. Die beiden ersten Widgets der Sitemap bieten zwei unterschiedliche Methoden, einmal einfaches UP/DOWN/STOP, die andere Variante 5 definierte Positionen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

mcdandrew
Beiträge: 163
Registriert: 13. Dez 2018 17:42

Re: Rolladenmotor steuern

Beitrag von mcdandrew »

Danke Dir für die Beispielkonfiguration...es klappt wunderbar.

Werde mich nun noch an einer Gruppe zur Steuerung aller Rollladen versuchen und eine Rule zum automatischen Hoch- bzw. Runterfahren.

mcdandrew
Beiträge: 163
Registriert: 13. Dez 2018 17:42

Re: Rolladenmotor steuern

Beitrag von mcdandrew »

Soweit funktioniert das alles super. Nun kommt allerdings eine Anmerkung / Wunsch der Chefin wo ich nicht weiter weiß.

In der Küche sollte der Rolladen bei Sonneruntergang nur auf ca. 60% fahren.
Am Morgen dann sollen alle Rolladen auf ca. 15% fahren, sie findet es schöner wenn man noch ein Stück der Rolladen sieht :lol:

So nun weiß ich nicht weiter...

Mein Rules sehen derzeit so aus.

Code: Alles auswählen

rule "Rollladen WZ runter"
when
	Channel 'astro:sun:home:set#event' triggered START 
then
	sendCommand(Dual_WZ_TF_links_ud,DOWN)
	sendCommand(Dual_WZ_TF_rechts_ud,DOWN)
	sendCommand(Dual_WZ_Fenster_1_ud,DOWN)
	sendCommand(Dual_WZ_Fenster_2_ud,DOWN)
	sendCommand(Dual_WZ_Fenster_3_ud,DOWN)
end
Habe nun versucht auf Grundlage der Zeit den Rolladen zu stoppen...das funktioniert soweit auch allerdings muss der Rolladen dann auch immer komplett oben sein.

Code: Alles auswählen

rule "Rollladen Kueche runter"
when
	  Channel 'astro:sun:home:set#event' triggered START
then
	sendCommand(Dual_Kueche_ud,DOWN)
	Thread::sleep(12000)
	sendCommand(Dual_Kueche_ud,STOP)
end
Kann ich in einer Rules auch mit Prozentangaben arbeiten so wie es in der Sitemap möglich ist?

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

Re: Rolladenmotor steuern

Beitrag von udo1toni »

Das ist doch der Witz am Tasmota-Fork von Stefan Bode, Du steuerst das Item, welches als command den Prozentwert entgegen nimmt. In meiner Konfiguration wäre das mqttSonoffT1. Die Ansteuerung sieht in der Rule dann so aus:

Code: Alles auswählen

mqttSonoffT1.sendCommand(60)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

mcdandrew
Beiträge: 163
Registriert: 13. Dez 2018 17:42

Re: Rolladenmotor steuern

Beitrag von mcdandrew »

Danke das funktioniert soweit habe nun allerdings noch das folgende Problem.

Ich habe direkt am Rolladen einen Sonoff Dual verbaut.
Zur manuellen Steuerung habe ich zusätzlich einen Sonoff T1 im entsprechenden Raum installiert.
Da ich derzeit an den Fenstern noch keine Unterputzdosen habe, wurden die T1 bis zur nächsten Renovierung in die Wanddosen der Heizkreisverteiler installiert (waren sowieso abgeklemmt).
Bei der manuellen Betätigung am T1 wird am Raspberry eine rules ausgelöst welche den Sonoff Dual ansteuert.
Folgendes Problem dabei:

Angenommen der Rolladen steht am Tage bei 0% und wird per Rules (Astrobinding SunRise) am Abend auf 75% geschlossen (Signal an Dual gesendet). Den Status des Rolladen hat der T1 dann nicht und ist immernoch der Annahme, dass der Rolladen bei 0% steht. Am kommenden Morgen lässt sich der Rolladen vom T1 dann somit nicht hochfahren.
Ich hoffe ich konnte es verständlich erklären :-)

Ich suche nun eine Möglichkeit, dass sich Sonoff T1 und Dual gegenseitig abgleichen...gibt es da eine Möglichkeit. Dass der Dual seinen Status an den T1 sendet?

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

Re: Rolladenmotor steuern

Beitrag von udo1toni »

Ich denke, Du solltest den T1 nicht im Rollershutter Modus verwenden, solange dort nicht die Rollershutter angeschlossen sind.

Letztlich brauchst Du nur einen Steuerimpuls zum Starten des Motors in eine bestimmte Richtung (ON Kanal 1 oder ON Kanal 2, OFF von einem der beiden Kanäle).
Du konfigurierst also den T1 als normalen Schalter. Den Basic Duo konfigurierst Du als Rollershutter mit Zeiten und dem ganzen Rest.
Wenn Du am T1 einen Kanal ON oder OFF schaltest, leitest Du das als Befehl an den Rollershutter weiter. Wenn der Rollershutter den Motor stoppt, schickt er ein OFF als Status, das verwendest Du, um beide Channel auf OFF zu schalten.

Wenn später im Zuge der Renovierung die T1 auch die Schaltfunktion übernehmen sollen, musst Du sie natürlich umkonfigurieren, aber das ist ja auch nisch schwieriger als die Kabel umzuklemmen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

mcdandrew
Beiträge: 163
Registriert: 13. Dez 2018 17:42

Re: Rolladenmotor steuern

Beitrag von mcdandrew »

Okay logisch...das wäre natürlich die einfachste Lösung :-)

Also folgende Befehle eingeben

Code: Alles auswählen

SETOPTION80 0
SETOPTION14 1 (zur Verhinderung der gleichzeitigen Aktivierung beider Kanäle)
SETOPTION81 0
Pulsetime1 130 (30 Sekunden + (100) damit der Schalter sich danach wieder abschaltet)
Pulsetime2 130

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

Re: Rolladenmotor steuern

Beitrag von udo1toni »

Ich würde die Pulsetime weg lassen und das stattdessen mit Rule erledigen. Gegeben sind pro Rollershutter drei Items, zwei für den Taster, eines für den Aktor. alle funktionieren in beide Richtungen, d.h. sie haben ein CommandTopic und ein StateTopic.

Kommt ein Schaltbefehl vom Taster rein:

Code: Alles auswählen

rule "T1 nach Aktor"
when
    Item T1Ch1 received command or
    Item T1Ch2 received command
then
    if(receivedCommand == OFF)
        A1.sendCommand(STOP)
    else if(triggeringItem.name == "T1Ch1")
                A1.sendCommand(UP)
    else if(triggeringItem.name == "T1Ch2")
                A1.sendCommand(DOWN)
end
Wenn der Aktor den Rollladen stoppt, geht es in die andere Richtung:

Code: Alles auswählen

rule "Aktor nach T1"
when
    Item A1 received command
then
    if(receivedCommand == STOP) {
        T1Ch1.sendCommand(OFF)
        T1Ch2.sendCommand(OFF)
    }
end
So, oder so ähnlich ;)
Auf diese Weise sollte es eine Rückmeldung am T1 geben, dass der Aktor abgeschaltet hat. Was knifflig werden könnte, ist die Tatsache, dass ein Rollershutter Item nur NULL oder 0-100 als Status liefert. Vielleicht musst Du also noch ein weitere Items anlegen, welche dann den ON/OFF-Status der beiden Schaltkanäle vorhalten. Die müsstest Du dann als Trigger für die zweite Rule verwenden, falls received command nicht funktioniert, dann müsstest Du nämlich auf changed oder received update ausweichen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

mcdandrew
Beiträge: 163
Registriert: 13. Dez 2018 17:42

Re: Rolladenmotor steuern

Beitrag von mcdandrew »

Danke für den Hinweis...im Grunde verstehe ich den Quellcode. Doch leider unterstützen meine T1 T
aster das received Command nicht.
Im Grund funktioniert es ja mit dem Pulsetime Befehl, obwohl deine Umsetzung natürlich schicker wäre. :-)

Nun zu einem weiteren Problem.

Sporadisch kommt es vor, dass einzelne Rollladen nicht herunterfahren oder hochfahren. Obwohl in jeder Ettage mittlerweile ein AP steht, vermute Empfangsprobleme zum WLAN in der Zwischenzeit wo Openhab den Befehl sendet. Ich habe nun die Idee eine Minute nach der Ausführung mit einer Rule den Status der einzelnen Rollladen zu prüfen und bei Bedarf noch einmal den Befehl zu senden.

....oder gibt es eventuelle eine andere Möglichkeit?

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

Re: Rolladenmotor steuern

Beitrag von udo1toni »

mcdandrew hat geschrieben: 7. Feb 2019 17:39 Danke für den Hinweis...im Grunde verstehe ich den Quellcode. Doch leider unterstützen meine T1 Taster das received Command nicht.
Das verstehe ich jetzt nicht so ganz. Ich habe selbst T1 im Einsatz, ich kann Dir versichern, dass die wunderbar bidirektional funktionieren. Aber solange Du sie nicht als Rollladenaktoren verwendest, dürfen sie natürlich nicht als Rolladenaktoren konfiguriert sein, sie müssen stattdessen im normalen Schaltbetrieb konfiguriert sein.
mcdandrew hat geschrieben: 7. Feb 2019 17:39 Im Grund funktioniert es ja mit dem Pulsetime Befehl, obwohl deine Umsetzung natürlich schicker wäre. :-)
Es ist schlicht falsch :)
mcdandrew hat geschrieben: 7. Feb 2019 17:39 Nun zu einem weiteren Problem.

Sporadisch kommt es vor, dass einzelne Rollladen nicht herunterfahren oder hochfahren. Obwohl in jeder Ettage mittlerweile ein AP steht, vermute Empfangsprobleme zum WLAN in der Zwischenzeit wo Openhab den Befehl sendet.
Es kann ohne weiteres sein, dass Du damit eine Überversorgung hast und die WLAN AP sich gegenseitig eher behindern. Wie sind die AP konfiguriert? Welcher Typ AP?
mcdandrew hat geschrieben: 7. Feb 2019 17:39 Ich habe nun die Idee eine Minute nach der Ausführung mit einer Rule den Status der einzelnen Rollladen zu prüfen und bei Bedarf noch einmal den Befehl zu senden.

....oder gibt es eventuelle eine andere Möglichkeit?
Nein, das wäre auch erst mal die Variante, die mir einfiele.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten