Terrassentür Rolladen mit doif gesteuert und dann selbst ausgesperrt

Begonnen von Decki, 23 Juni 2020, 13:24:39

Vorheriges Thema - Nächstes Thema

Decki

Hallo zusammen,
ich habe seit Jahren diese Rolladensteuerung der Terrasse mit doif. Funktionierte bis gestern einwandfrei.
Habe gestern nachmittag  fhem upgedated und war gestern abend ausgesperrt, obwohl die Tür nicht verriegelt sein kann und war.
Habe mehrere doif´s, die die Rolläden bei Sonne und Tageszeit herunterfahren. Funktioniert alles sehr gut.
Zusätzlich habe ich dieses doif, damit dieser Rolladen, egal zu welcher Zeit, nach oben fährt oder bleibt:

defmod ROlloHochTerr DOIF ([TerrTuer_verriegelt] eq "nein") (set RolloTerr oben) DOELSE
attr ROlloHochTerr checkReadingEvent 0
attr ROlloHochTerr do always
attr ROlloHochTerr repeatcmd 30
attr ROlloHochTerr repeatsame 15
attr ROlloHochTerr wait 0,60

setstate ROlloHochTerr cmd_1
setstate ROlloHochTerr 2020-06-23 07:42:58 Device TerrTuer_verriegelt
setstate ROlloHochTerr 2020-06-23 11:52:00 cmd 1
setstate ROlloHochTerr 2020-06-23 11:52:00 cmd_event ROlloHochTerr
setstate ROlloHochTerr 2020-06-23 11:52:00 cmd_nr 1
setstate ROlloHochTerr 2020-06-23 07:42:58 e_TerrTuer_verriegelt_STATE nein
setstate ROlloHochTerr 2018-07-24 19:32:46 mode enabled
setstate ROlloHochTerr 2020-06-23 11:52:00 state cmd_1
setstate ROlloHochTerr 2020-06-23 11:52:20 wait_timer no timer


Was stimmt da nicht mehr?

Gruß Andy

Raspi 2 im Schaltschrank, USB IR Lesekopf am EHz21, Gaszähler mit Reedkontakt, Jeelink,  16 FS20 Aktoren,  3 Ufos für LED, 11 FS20 Rolladenaktore, AMAD 4.0 mit Sprachausgabe, Esp12 mit EspEasy

frober

1. Wieso hast du in der Def. ein DOELSE wenn danach überhaupt kein ausführbaren Teil mehr kommt?

2. Wenn dein Rolladen über ein DOIF gesteuert wird (Tageszeiten etc.) dann solltest du auch in diesem die Abfrage der Tür integrieren.

3. Dein DOIF verhindert nicht das fahren des Rolladen!
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

amenomade

Nur bei Seite: ein leeres DOELSE ist in einem DOIF manchmal Pflicht, damit eine Statusänderung gezwungen wird.
Und das ist hier anscheinend der Fall, da er ein wait 60 auf dem DOELSE hat, aber den ersten Befehl mit repeat mehrmals ausführen will. Das leere DOELSE führt hier dazu, dass wenn die Bedingung nicht mehr wahr ist, die Wiederholung des Befehls nach 60 Sekunden unterbrochen wird.

Wobei hier muss man noch sagen: wenn ein DOIF nur eine Bedingung hat, ist das leere DOELSE implizit. Sollte aber nicht schaden, es explizit zu schreiben.

Mit 2. und 3. bin ich einverstanden. Da fehlen Informationen bzgl. Steuerung, um antworten zu können.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

rabehd

ZitatWenn dein Rolladen über ein DOIF gesteuert wird (Tageszeiten etc.) dann solltest du auch in diesem die Abfrage der Tür integrieren.
Würde ich auch so machen oder zumindest im DOIF "ROlloHochTerr" das DOIF für die Zeitsteuerung auf "disabled" setzen.
Auch funktionierende Lösungen kann man hinterfragen.

frober

Zitat von: amenomade am 23 Juni 2020, 18:48:05
Nur bei Seite: ein leeres DOELSE ist in einem DOIF manchmal Pflicht, damit eine Statusänderung gezwungen wird.
Und das ist hier anscheinend der Fall, da er ein wait 60 auf dem DOELSE hat, aber den ersten Befehl mit repeat mehrmals ausführen will. Das leere DOELSE führt hier dazu, dass wenn die Bedingung nicht mehr wahr ist, die Wiederholung des Befehls nach 60 Sekunden unterbrochen wird.

Danke, das wusste ich nicht. Muss aber dazu sagen, dass ich mittlerweile Versuche ohne DOIF auszukommen. :D
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Decki

Danke für eure Antworten,

aber nunbin ich noch mehr verwirrt. Ich habe das damals so zusammengesucht und gebaut, und es hat funktioniert.
Dass das in die anderen doifs eingebaut werden kann, ist mir schon klar, aber ich wollt ein eignes doif, das den Status Terrasentuer_verrigelt dauernd überwacht und den Rolladen nach oben fährt.
Habe es nun so geändert:
defmod ROlloHochTerr DOIF ([TerrTuer_verriegelt] eq "nein") (set RolloTerr oben)
attr ROlloHochTerr checkReadingEvent 0
attr ROlloHochTerr do always
attr ROlloHochTerr repeatcmd 30
attr ROlloHochTerr repeatsame 15
attr ROlloHochTerr wait 0,60

setstate ROlloHochTerr cmd_1
setstate ROlloHochTerr 2020-06-26 13:11:41 Device TerrTuer_verriegelt
setstate ROlloHochTerr 2020-06-26 13:15:37 cmd 1
setstate ROlloHochTerr 2020-06-26 13:15:37 cmd_event TerrTuer_verriegelt
setstate ROlloHochTerr 2020-06-26 13:15:37 cmd_nr 1
setstate ROlloHochTerr 2020-06-26 13:11:41 e_TerrTuer_verriegelt_STATE ja
setstate ROlloHochTerr 2020-06-23 15:24:48 mode enabled
setstate ROlloHochTerr 2020-06-26 13:15:37 state cmd_1
setstate ROlloHochTerr 2020-06-26 13:16:07 wait_timer no timer


Kann aber nicht sagen, ob das nun besser oder richtiger ist.
Der Terrassentürrolladen funktioniert aktuell.

Wäre ein watchdog besser?
Raspi 2 im Schaltschrank, USB IR Lesekopf am EHz21, Gaszähler mit Reedkontakt, Jeelink,  16 FS20 Aktoren,  3 Ufos für LED, 11 FS20 Rolladenaktore, AMAD 4.0 mit Sprachausgabe, Esp12 mit EspEasy

Gisbert

Hallo Andy,

nur so als Gedankenanstoss, wenn du etwas Kritisches steuern willst, dass immer funktionieren muss, dann benötigst du mehr als eine software-basierte Lösung.

Du kannst deinen Anwendungsfall noch so sorgfältig überlegt haben, irgendein Detail könntest du trotzdem übersehen haben. Was machst du, wenn dein Gateway oder dein Server gerade dann die Grätsche machst, wenn du dich kurz vorher ausgesperrt hast, und der gut gemeinte Plan einer Fernbedienung oder Tasters außen dann auch nicht funktioniert?

Ein Plan B muss dann immer noch funktionieren, das wäre zumindest meine Herangehensweise. Es gibt im Industriebereich Lösungen, wo es egal ist, ob eine CPU, Festplatte oder sonst etwas kaputt geht, die Steuerung ist auf Redundanz angelegt und funktioniert trotzdem weiter, der Aufwand ist dann entsprechend groß. Ein Plan B könnte dann auch einfach bedeuten, weniger zu automatisieren.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

frober

Zitat von: Decki am 26 Juni 2020, 15:37:41
... aber ich wollt ein eignes doif, das den Status Terrasentuer_verrigelt dauernd überwacht und den Rolladen nach oben fährt.

Das wird dir irgendwann wieder "um die Ohren fliegen".

Verhindere in deinen "Steuer"-DOIF das der Rolladen bei geöffneter Tür nicht herunter fährt.
Zusätzlich kannst du ja dieses DOIF beibehalten ( doppelte Sicherheit).

Jedoch hat auch Gisbert Recht...man braucht noch einen Plan B.
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...