[73_AutoShuttersControl.pm] Neues Modul zum automatisierten steuern von Rolläden

Begonnen von CoolTux, 30 Oktober 2018, 17:29:46

Vorheriges Thema - Nächstes Thema

dancatt

Hallo zusammen,

ich versuche mich gerade auch an diesem Modul. Hätte nun auch ein paar Fragen:

1. In meiner Konfiguration habe ich aktuell einen globalen Schalter (z.B. shutter=[auto,off]) der mir sagt ob die Rollläden automatisch hoch- oder runtergefahren werden (shutter=auto), oder ob sie permanent unten bleiben sollen (shutter=off). Wenn man z.B. mal länger abwesend ist, dann wird dieser Schalter auf "off" gestellt und die Rollläden sind immer unten bis der Schalter wieder auf "auto" gestellt wird. Bzw fahren nach dem runterfahren nicht mehr hoch.
Nun zu der Frage: Gibt es die Möglichkeit im ASC in einem Attribut sowas abzufragen? Ein Attribut im RollladenDevice welches ein Reading eines beliebigen Devices abfragen kann? Rückgabe true/false oder so.
Beispiel: attr RollladenDevice ASC_IRGENDWAS shutter==off

2. Gibt es keine Möglichkeit das Modul zu disablen?

3. Laut cref werden die Attribtute ASC_Time_Down_Early, ASC_Time_Down_Late, ASC_Time_Up_Early und ASC_Time_Up_Late nicht verwendet wenn ASC_Down=astro. Ist das korrekt? Wenn ja, dann fehlt mir hier die Möglichkeit eine Zeit anzugeben vor welcher Uhrzeit und nach welcher Uhrzeit die Rollläden nicht gefahren werden.

Hoffe ich konnte mich verständlich ausdrücken.

Vielen Dank.
Gruß Daniel
Cubietruck: FHEM-Server 6.0

Homematic: HM-USB-CFG2, HM-CFG-LAN, HM-LC-SW1-FM, HM-LC-Sw1-Pl-DN-R1, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-SEC-SC-2, HM-SEC-SD, HM-PB-6-WM55

CoolTux

Zitat von: dancatt am 27 Februar 2019, 14:34:52
Hallo zusammen,

ich versuche mich gerade auch an diesem Modul. Hätte nun auch ein paar Fragen:

1. In meiner Konfiguration habe ich aktuell einen globalen Schalter (z.B. shutter=[auto,off]) der mir sagt ob die Rollläden automatisch hoch- oder runtergefahren werden (shutter=auto), oder ob sie permanent unten bleiben sollen (shutter=off). Wenn man z.B. mal länger abwesend ist, dann wird dieser Schalter auf "off" gestellt und die Rollläden sind immer unten bis der Schalter wieder auf "auto" gestellt wird. Bzw fahren nach dem runterfahren nicht mehr hoch.
Nun zu der Frage: Gibt es die Möglichkeit im ASC in einem Attribut sowas abzufragen? Ein Attribut im RollladenDevice welches ein Reading eines beliebigen Devices abfragen kann? Rückgabe true/false oder so.
Beispiel: attr RollladenDevice ASC_IRGENDWAS shutter==off

Nein soetwas gibt es nicht. Es ist aber in Arbeit das alle Rollläden bei einem absent automatisch nach so und so viel minuten runter fahren.


Zitat von: dancatt am 27 Februar 2019, 14:34:52
2. Gibt es keine Möglichkeit das Modul zu disablen?

Indirekt Ja. Wenn man das Attribut ASC in den Rollläden auf 0 stellt. Dann werden diese Rollos aus der Steuerung von ASC raus genommen. Das Modul selbst arbeitet aber weiterhin.


Zitat von: dancatt am 27 Februar 2019, 14:34:52
3. Laut cref werden die Attribtute ASC_Time_Down_Early, ASC_Time_Down_Late, ASC_Time_Up_Early und ASC_Time_Up_Late nicht verwendet wenn ASC_Down=astro. Ist das korrekt? Wenn ja, dann fehlt mir hier die Möglichkeit eine Zeit anzugeben vor welcher Uhrzeit und nach welcher Uhrzeit die Rollläden nicht gefahren werden.

Nein. Down_Late, Down_Early,Up_Late und Up_Early sind immer wichtig und sollten entsprechend gesetzt werden. Egal ob Time,Astro oder Brightness. Bei Time wird nicht alles benötigt, sondern nur die _Early.
Misst das wollte ich mal besser schreiben.



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

dancatt

Vielen Dank für die schnelle Antwort.
Könnte man 1. und 2. als neue Anforderung beantragen?  :-)

Vielen dank.
Cubietruck: FHEM-Server 6.0

Homematic: HM-USB-CFG2, HM-CFG-LAN, HM-LC-SW1-FM, HM-LC-Sw1-Pl-DN-R1, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-SEC-SC-2, HM-SEC-SD, HM-PB-6-WM55

Beta-User

Zitat von: CoolTux am 27 Februar 2019, 14:53:07
Indirekt Ja. Wenn man das Attribut ASC in den Rollläden auf 0 stellt. Dann werden diese Rollos aus der Steuerung von ASC raus genommen. Das Modul selbst arbeitet aber weiterhin.
Ähm, mal wieder eine doofe Frage, auch wenn ich dieses "feature" bisher nicht vermisst hatte: Sollte man das globale disable nicht auf die todo nehmen?
Ohne jetzt tiefe code-Analyse bei anderen Modulen betrieben zu haben aus dem Kopf: Das ist ein Attribut, und die notifyfn prüft am Anfang, ob disable gesetzt ist und steigt ggf. direkt aus.
Wenn das so umzusetzen wäre, sollten wir es einbauen. Soll ich schauen, ob ich irgendwo ein Beispiel finde?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

CoolTux

Zitat von: Beta-User am 27 Februar 2019, 15:02:34
Ähm, mal wieder eine doofe Frage, auch wenn ich dieses "feature" bisher nicht vermisst hatte: Sollte man das globale disable nicht auf die todo nehmen?
Ohne jetzt tiefe code-Analyse bei anderen Modulen betrieben zu haben aus dem Kopf: Das ist ein Attribut, und die notifyfn prüft am Anfang, ob disable gesetzt ist und steigt ggf. direkt aus.
Wenn das so umzusetzen wäre, sollten wir es einbauen. Soll ich schauen, ob ich irgendwo ein Beispiel finde?

Ist lieb aber brauchst nicht schauen. Im Code ist das sogar schon vorhanden, nur hat sich da noch nichts weiter ergeben zur Nutzung  ;D
Ich setzte es mal auf die Todo.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Da fällt mir gerade ein, ich werde das aber nicht über das Attribut machen, oder nicht ausschließlich, sondern auch übe set. So wie beim Notify oder at
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Beta-User

notify hatte ich bereits geschaut. Da scheint es ein Attribut zu sein.

Ein set gefällt mir aber auch besser ;) . Rote Fragzeichen mag ich nämlich für sowas nicht so sehr...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

CoolTux

Ja sorry, vergessen genau zu sein. Als set heißt es inactive active. Ist aber das selbe in grün. Ist ja nur dafür das die interne FHEM Funktion IsDisable das ganze entsprechend auswerten kann.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

dancatt

Zitat
1. In meiner Konfiguration habe ich aktuell einen globalen Schalter (z.B. shutter=[auto,off]) der mir sagt ob die Rollläden automatisch hoch- oder runtergefahren werden (shutter=auto), oder ob sie permanent unten bleiben sollen (shutter=off). Wenn man z.B. mal länger abwesend ist, dann wird dieser Schalter auf "off" gestellt und die Rollläden sind immer unten bis der Schalter wieder auf "auto" gestellt wird. Bzw fahren nach dem runterfahren nicht mehr hoch.
Nun zu der Frage: Gibt es die Möglichkeit im ASC in einem Attribut sowas abzufragen? Ein Attribut im RollladenDevice welches ein Reading eines beliebigen Devices abfragen kann? Rückgabe true/false oder so.
Beispiel: attr RollladenDevice ASC_IRGENDWAS shutter==off

Bekomme ich das auch?   ;)
Ein regulärer Ausdruck als Wert wäre super. Mit Zugriff auf ein beliebiges Device inkl. der Readings, ...
Cubietruck: FHEM-Server 6.0

Homematic: HM-USB-CFG2, HM-CFG-LAN, HM-LC-SW1-FM, HM-LC-Sw1-Pl-DN-R1, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-SEC-SC-2, HM-SEC-SD, HM-PB-6-WM55

Prof. Dr. Peter Henning

#1704
Ich habe folgende Fehlermeldungen:
ERROR: empty name in readingsBeginUpdate
2019.02.27 17:03:37 1: stacktrace:
2019.02.27 17:03:37 1:     main::readingsBeginUpdate           called by /opt/fhem/FHEM/73_AutoShuttersControl.pm (1593)
2019.02.27 17:03:37 1:     AutoShuttersControl::CreateSunRiseSetShuttersTimer called by /opt/fhem/FHEM/73_AutoShuttersControl.pm (1688)
2019.02.27 17:03:37 1:     AutoShuttersControl::RenewSunRiseSetShuttersTimer called by /opt/fhem/FHEM/73_AutoShuttersControl.pm (486)
2019.02.27 17:03:37 1:     AutoShuttersControl::Set            called by fhem.pl (3688)
2019.02.27 17:03:37 1:     main::CallFn                        called by fhem.pl (1886)
2019.02.27 17:03:37 1:     main::DoSet                         called by fhem.pl (1918)
2019.02.27 17:03:37 1:     main::CommandSet                    called by fhem.pl (1233)
2019.02.27 17:03:37 1:     main::AnalyzeCommand                called by /opt/fhem/FHEM/01_FHEMWEB.pm (2638)
2019.02.27 17:03:37 1:     main::FW_fC                         called by /opt/fhem/FHEM/01_FHEMWEB.pm (937)
2019.02.27 17:03:37 1:     main::FW_answerCall                 called by /opt/fhem/FHEM/01_FHEMWEB.pm (565)
2019.02.27 17:03:37 1:     main::FW_Read                       called by fhem.pl (3693)
2019.02.27 17:03:37 1:     main::CallFn                        called by fhem.pl (742)
2019.02.27 17:03:37 1: PERL WARNING: Use of uninitialized value $name in concatenation (.) or string at fhem.pl line 4716.
2019.02.27 17:03:37 1: readingsUpdate(,ASC_Time_DriveDown,27.02.2019 - 17:59) missed to call readingsBeginUpdate first.
2019.02.27 17:03:37 1: stacktrace:
2019.02.27 17:03:37 1:     main::readingsBulkUpdate            called by /opt/fhem/FHEM/73_AutoShuttersControl.pm (1594)
2019.02.27 17:03:37 1:     AutoShuttersControl::CreateSunRiseSetShuttersTimer called by /opt/fhem/FHEM/73_AutoShuttersControl.pm (1688)
2019.02.27 17:03:37 1:     AutoShuttersControl::RenewSunRiseSetShuttersTimer called by /opt/fhem/FHEM/73_AutoShuttersControl.pm (486)
2019.02.27 17:03:37 1:     AutoShuttersControl::Set            called by fhem.pl (3688)
2019.02.27 17:03:37 1:     main::CallFn                        called by fhem.pl (1886)
2019.02.27 17:03:37 1:     main::DoSet                         called by fhem.pl (1918)
2019.02.27 17:03:37 1:     main::CommandSet                    called by fhem.pl (1233)
2019.02.27 17:03:37 1:     main::AnalyzeCommand                called by /opt/fhem/FHEM/01_FHEMWEB.pm (2638)
2019.02.27 17:03:37 1:     main::FW_fC                         called by /opt/fhem/FHEM/01_FHEMWEB.pm (937)
2019.02.27 17:03:37 1:     main::FW_answerCall                 called by /opt/fhem/FHEM/01_FHEMWEB.pm (565)
2019.02.27 17:03:37 1:     main::FW_Read                       called by fhem.pl (3693)
2019.02.27 17:03:37 1:     main::CallFn                        called by fhem.pl (742)
2019.02.27 17:03:37 1: readingsUpdate(,ASC_Time_DriveUp,28.02.2019 - 07:19) missed to call readingsBeginUpdate first.
2019.02.27 17:03:37 1: stacktrace:
2019.02.27 17:03:37 1:     main::readingsBulkUpdate            called by /opt/fhem/FHEM/73_AutoShuttersControl.pm (1606)
2019.02.27 17:03:37 1:     AutoShuttersControl::CreateSunRiseSetShuttersTimer called by /opt/fhem/FHEM/73_AutoShuttersControl.pm (1688)
2019.02.27 17:03:37 1:     AutoShuttersControl::RenewSunRiseSetShuttersTimer called by /opt/fhem/FHEM/73_AutoShuttersControl.pm (486)
2019.02.27 17:03:37 1:     AutoShuttersControl::Set            called by fhem.pl (3688)
2019.02.27 17:03:37 1:     main::CallFn                        called by fhem.pl (1886)
2019.02.27 17:03:37 1:     main::DoSet                         called by fhem.pl (1918)
2019.02.27 17:03:37 1:     main::CommandSet                    called by fhem.pl (1233)
2019.02.27 17:03:37 1:     main::AnalyzeCommand                called by /opt/fhem/FHEM/01_FHEMWEB.pm (2638)
2019.02.27 17:03:37 1:     main::FW_fC                         called by /opt/fhem/FHEM/01_FHEMWEB.pm (937)
2019.02.27 17:03:37 1:     main::FW_answerCall                 called by /opt/fhem/FHEM/01_FHEMWEB.pm (565)
2019.02.27 17:03:37 1:     main::FW_Read                       called by fhem.pl (3693)
2019.02.27 17:03:37 1:     main::CallFn                        called by fhem.pl (742)
2019.02.27 17:03:37 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4471.


und

019.02.27 17:59:19 1: ERROR: empty name in readingsBeginUpdate
2019.02.27 17:59:19 1: stacktrace:
2019.02.27 17:59:19 1:     main::readingsBeginUpdate           called by /opt/fhem/FHEM/73_AutoShuttersControl.pm (1593)
2019.02.27 17:59:19 1:     AutoShuttersControl::CreateSunRiseSetShuttersTimer called by /opt/fhem/FHEM/73_AutoShuttersControl.pm (1793)
2019.02.27 17:59:19 1:     AutoShuttersControl::SunSetShuttersAfterTimerFn called by fhem.pl (3236)
2019.02.27 17:59:19 1:     main::HandleTimeout                 called by fhem.pl (665)
2019.02.27 17:59:19 1: readingsUpdate(,ASC_Time_DriveDown,28.02.2019 - 17:59) missed to call readingsBeginUpdate first.
2019.02.27 17:59:19 1: stacktrace:
2019.02.27 17:59:19 1:     main::readingsBulkUpdate            called by /opt/fhem/FHEM/73_AutoShuttersControl.pm (1594)
2019.02.27 17:59:19 1:     AutoShuttersControl::CreateSunRiseSetShuttersTimer called by /opt/fhem/FHEM/73_AutoShuttersControl.pm (1793)
2019.02.27 17:59:19 1:     AutoShuttersControl::SunSetShuttersAfterTimerFn called by fhem.pl (3236)
2019.02.27 17:59:19 1:     main::HandleTimeout                 called by fhem.pl (665)
2019.02.27 17:59:19 1: readingsUpdate(,ASC_Time_DriveUp,28.02.2019 - 07:19) missed to call readingsBeginUpdate first.
2019.02.27 17:59:19 1: stacktrace:
2019.02.27 17:59:19 1:     main::readingsBulkUpdate            called by /opt/fhem/FHEM/73_AutoShuttersControl.pm (1606)
2019.02.27 17:59:19 1:     AutoShuttersControl::CreateSunRiseSetShuttersTimer called by /opt/fhem/FHEM/73_AutoShuttersControl.pm (1793)
2019.02.27 17:59:19 1:     AutoShuttersControl::SunSetShuttersAfterTimerFn called by fhem.pl (3236)
2019.02.27 17:59:19 1:     main::HandleTimeout                 called by fhem.pl (665)


die auf ein fehlendes readingsBeginUpdate hindeuten.

Noch'n Fehler:  In Zeile

    SunAlt = evaluation = Sonnenhöhe
und drumherum sollte es wohl elevation statt evaluation heißen? Oder ist das wirklich ein peinlicher Fehler im Twilight-Modul?

LG

pah

CoolTux

Hallo pah,

Kann es sein das Du ein Modul reload gemacht hast? Das funktioniert bei diesem Modul nicht. Es muss immer ein FHEM Neustart gemacht werden.

Das mit den Evaluation schau ich mir an.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

mobiljoe123

Zitat von: CoolTux am 27 Februar 2019, 13:28:52
Und nun kann ich mir auch denken warum das automatische entfernen nicht geklappt hat.
Richtig. Das wars.
Hab das Modul ASC-Device nochmal gelöscht. Nun sind auch alle Attr beim Rollladen automatisch verschwunden.

... alles neu eingerichtet. Mal sehen was das Update morgen bringt.
Auf jedenfall schon mal ein großes Dankeschön!
Raspi 2; HM; MAX!; RFXtrx

CoolTux

Zitat von: dancatt am 27 Februar 2019, 14:58:33
Vielen Dank für die schnelle Antwort.
Könnte man 1. und 2. als neue Anforderung beantragen?  :-)

Vielen dank.

Wie gesagt 2. gibt es schon und 1. ist in Arbeit  :)
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

dancatt

Zitat
Wie gesagt 2. gibt es schon und 1. ist in Arbeit  :)
Wobei mir bei 2. ein Attribut disable mit den Werten 0 und 1 lieber wäre da dann auch das Modul nicht mehr arbeitet.
Cubietruck: FHEM-Server 6.0

Homematic: HM-USB-CFG2, HM-CFG-LAN, HM-LC-SW1-FM, HM-LC-Sw1-Pl-DN-R1, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-SEC-SC-2, HM-SEC-SD, HM-PB-6-WM55

CoolTux


Das wird kommen.
Aber nur für mich mal gefragt. Was verstehst Du unter
Zitat von: dancatt am 27 Februar 2019, 20:19:55
Wobei mir bei 2. ein Attribut disable mit den Werten 0 und 1 lieber wäre da dann auch das Modul nicht mehr arbeitet.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net