Betatester für neues Modul AutoShuttersControl gesucht!

Begonnen von CoolTux, 01 September 2018, 12:10:35

Vorheriges Thema - Nächstes Thema

CoolTux

Hallo,
Der Bernd (Cluni) und ich schreiben seit 2 Monaten an einem neuen Modul.
Das Modul soll Rolläden automatisch nach bestimmten Kriterien steuern. Zum Beispiel Sonnenaufgang und Sonnenuntergang, oder Bewohnerstatus.
Ziel ist es das von Bernd geschriebene 99_myUtils Skript sauber in einem FHEM Modul zu implementieren.
Nun suchen wir für die ersten Funktionen Betatester.
Was solltet Ihr dazu haben? Rolläden, Fensterkontakte und Bewohnerstatus auf Basis von Residents/Roomates in englisch. Es können auch Dummys sein welche home,asleep,gotosleep und awoken setzen. Wichtig wäre noch ein Reading lastState. Aber sowas kann man schnell zaubern, ich helfe da gerne.
Was solltest Ihr nicht haben? Bernd sein Skript im Einsatz. Am besten Ihr habt einfach eigene Sachen mit DOIF oder at und Notify gemacht.
Wichtig ist auch das zum jetzigen Zeitpunkt nur Sonnenaufgang, Sonnenuntergang und Bewohnerstatus funktioniert. Ihr solltest also keinen hohen Anspruch haben.

Grüße
Leon


!!!ACHTUNG!!! Pre Beta - Für erfahrende User und/oder Entwickler gedachte Version!

Ihr benötigt ein aktuelles FHEM. Update ab dem 04.09.2018 Voraussetzung!

Na dann wollen wir einfach mal anfangen. Unten seht Ihr eine kleine Hilfe wie Ihr das Modul einrichten könnt. Bitte erschreckt nicht, das Modul verteilt sehr viele Attribute an die Rollädendevices auf Basis von userattr in den Rolläden. Die userattr Liste wird dabei erweiter, habt Ihr also schon was da drin stehen kommen die Modulattribute hinzu. Genau so verhält es sich beim löschen des Moduldevices. Dabei werden sämtliche Attribute aus den Rollädendevices gelöscht und die userattr liste geleert bis auf das was vorher schon drin stand.

Als erstes empfiehlt es sich im Device der Rolladensteuerung selbst die Attribute an zu passen. Danach muß jedes Rolladendevice durchgegangen werden und die Attribute überprüft und/oder gesetzt werden. Das Roommate Attribut wird da weg gelassen wo kein Bewohner im Raum schläft.

Fügt bitte jedem Rolladen der in die automatische Steuerung rein soll nach dem define von AutoShuttersControl das Attribut AutoShuttersControl 1 oder 2 ein.

Eine ausführliche Anleitung bekommt Ihr über die Commandref des Modules. Wenn Ihr also das Modul kopiert habt dann führt bitte folgendes aus

cd /opt/fhem/
/usr/bin/perl contrib/commandref_join.pl


Und hier noch ein Raw Import zum anlegen eines Dummy Roommates/Bewohner.

defmod rr_Maria dummy
attr rr_Mann readingList state
attr rr_Mann room Test
attr rr_Mann setList state:home,gotosleep,awoken,absent,asleep
attr rr_Mann userReadings lastState:(home|awoken|asleep|gotosleep|absent) { OldValue($name) }



Nun habt Ihr alles durchgelesen und könnt los legen.
Das Modul findet Ihr hier
Entpacken und das pm File nach FHEM kopieren Bsp.(/opt/fhem/FHEM/)
Eigentümer und Rechte nicht vergessen an zu passen Bsp.(chmod 755 73_AutoShuttersControl.pm)


Ich wünsche Euch ganz viel Spaß
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

Loredo

Ich würde es mir mal ansehen und Feedback geben.
Ich wollte meine eigenen Notifies auch überarbeiten, vielleicht erübrigt sich das ja.

Ich kenne das myutils Script nicht, ist da auch schon Steuerung anhand des Sonnenstandes (Elevationswinkel + Himmelsrichtung) mit drin?
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Prof. Dr. Peter Henning


CoolTux

Zitat von: Loredo am 01 September 2018, 12:18:54
Ich würde es mir mal ansehen und Feedback geben.
Ich wollte meine eigenen Notifies auch überarbeiten, vielleicht erübrigt sich das ja.

Ich kenne das myutils Script nicht, ist da auch schon Steuerung anhand des Sonnenstandes (Elevationswinkel + Himmelsrichtung) mit drin?

So weit war ich noch nicht. Wenn ich mich Recht entsinne ist der Azimut zur Bestimmung des Sonnenstandes in der myUtils enthalten. Für die Beschattung. Elevation ist nicht enthalten denke ich. Werde ich aber im Modul einbauen später um Winter und Sommer Sonnenstand zu unterscheiden.
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

Prof. Dr. Peter Henning

Warum nicht die Daten aus Astro nehmen ?

LG

pah

CoolTux

Zitat von: Prof. Dr. Peter Henning am 01 September 2018, 13:59:00
Warum nicht die Daten aus Astro nehmen ?

LG

pah

Das war eine Idee, oder Twilight. Die User können da selbst entscheiden und ein Device auswählen.
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

Loredo

Cool! Wie ich mich revanchiere, weiß ich schon, wird aber nicht verraten ;-)
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

CoolTux

Zitat von: Loredo am 01 September 2018, 14:37:07
Cool! Wie ich mich revanchiere, weiß ich schon, wird aber nicht verraten ;-)

Na mein lieber Julian da bin ich aber mal gespannt. Ist ja bald Weihnachten  ;D
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

Vorab ein riesiges DANKE, dass ihr beiden (bzw. drei, nehme ich an) das in Angriff genommen habt!

Wäre dabei, auch wenn anderes Vorrang hat; aber das script in Modulform stand eh' auf meiner ToDo...
Zitat...Bewohnerstatus auf Basis von Residents/Roomates in englisch. Es können auch Dummys sein welche home,asleep,gotosleep und awoken setzen. Wichtig wäre noch ein Reading lastState. Aber sowas kann man schnell zaubern, ich helfe da gerne.
... habe ich, aber bisher keine Bewohner, kannst den Zauberstab rausholen :) .

Freut mich sehr, dass es mit dem "Vermodulen" was wird!

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

DS_Starter

#9
Hi Leon und Bernd !,

dein euer Modul kommt gerade zur rechten Zeit.
Ich baue gerade an meinen Rolladen und wollte soeben beginnen ein eigenes Modul dafür zu schreiben.
Da setze ich mich gerne dazu  8)
Residents nutze ich nicht, müsste ich simulieren. Kein Problem wahrscheinlich. Sonnenaufgang/Untergang habe ich bis jetzt mit Sunset/Sunrise abgebildet. Hat für mich ausreichend funktioniert.
Für die Abschattungssteuerung habe ich für jedes Rollo frei konfigurierbare Sensoren sowie Angaben zu deren spezifischen Readings vorgesehen. Das können Helligkeitssensoren (z.B. HM-Sen-MDIR-O-2) sein, aber auch Werte der PV-Anlage. In jedem einzelnen Rollo konnten dann die Schwellenwerte angegeben werden die zum Anfahren der Abschattungsstellung führen. Eine Zeitkomponente komm auch noch hinzu um ein ständiges hoch/Runterfahren zu vermeiden.
Zu guter Letzt wäre noch zu erwähnen dass ein manuelles Betätigen am Rolloschalter dazu führt dass die Automatik abgeschaltet wird und erst beim Hochfahren auf 0% (ganz offen) die Automatik wieder aktiviert wird.

Bin gespannt wie das Modul aufgebaut sein wird.  :)

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Chris8888

Hallo Leon, Hallo Bernd,

tolle Nachrichten und jetzt schon vielen Dank für euer Engagement!
Da ich das Script von Bernd einsetzte - sehr erfolgreich! - kann ich ja leider nicht teilnehmen.

Aber ich werde fleißig mitlesen und bin gespannt auf das Modul!

Viele Grüße
Christian
FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

CoolTux

Wow, mit soviel Zuspruch hätte ich jetzt nicht gerechnet. Gerade von so einigen FHEM-Mitentwicklern.
Vielleicht findet sich der ein oder andere der Code beisteuert. Natürlich sind auch Ideen erwünscht oder besser sogar noch Schaltlogiken.
Aber immer eines nach dem anderen. Im Moment geht es um Grundfunktionen. Der Rest kommt dann.
Als letztes wollte ich Anfang nächsten Jahres die Beschattung machen, Sommer ist ja nun mal so gut wie vorbei.

Zitat von: Beta-User am 01 September 2018, 15:20:12
...... habe ich, aber bisher keine Bewohner, kannst den Zauberstab rausholen :) .

Gruß, Beta-User

Das ist doch kein Problem. Du legst Dummys an. Atttribut setList mit state:home,awoken,asleep,gotosleep,absent als Attribut readingList nimmst state.
Danach baust noch einen userReadings mit lastState.
So in etwa

Internals:
   CFGFN     
   NAME       rr_Maria
   NR         120
   STATE      home
   TYPE       dummy
   OLDREADINGS:
     2018-09-01 17:13:59   state           gotosleep
   READINGS:
     2018-09-01 17:14:04   lastState       gotosleep
     2018-09-01 17:14:04   state           home
Attributes:
   oldreadings state
   readingList state
   room       Test
   setList    state:home,gotosleep,awoken,absent,asleep
   userReadings lastState:(home|awoken|asleep|gotosleep|absent) { OldReadingsVal($name,'state','none') }




Zitat von: DS_Starter am 01 September 2018, 15:31:32
Hi Leon und Bernd !,

dein euer Modul kommt gerade zur rechten Zeit.
Ich baue gerade an meinen Rolladen und wollte soeben beginnen ein eigenes Modul dafür zu schreiben.
Da setze ich mich gerne dazu  8)
Residents nutze ich nicht, müsste ich simulieren. Kein Problem wahrscheinlich. Sonnenaufgang/Untergang habe ich bis jetzt mit Sunset/Sunrise abgebildet. Hat für mich ausreichend funktioniert.
Für die Abschattungssteuerung habe ich für jedes Rollo frei konfigurierbare Sensoren sowie Angaben zu deren spezifischen Readings vorgesehen. Das können Helligkeitssensoren (z.B. HM-Sen-MDIR-O-2) sein, aber auch Werte der PV-Anlage. In jedem einzelnen Rollo konnten dann die Schwellenwerte angegeben werden die zum Anfahren der Abschattungsstellung führen. Eine Zeitkomponente komm auch noch hinzu um ein ständiges hoch/Runterfahren zu vermeiden.
Zu guter Letzt wäre noch zu erwähnen dass ein manuelles Betätigen am Rolloschalter dazu führt dass die Automatik abgeschaltet wird und erst beim Hochfahren auf 0% (ganz offen) die Automatik wieder aktiviert wird.

Bin gespannt wie das Modul aufgebaut sein wird.  :)

LG,
Heiko


Hallo Heiko,
Sunset und Sunrise verwende ich auch, es gibt aber die Möglichkeit pro Rolladen zu sagen ob REAL,CIVIL oder was sunset und sunrise halt anbieten.
Wie gesagt die Abschattungslogik kommt als letztes.


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

FunkOdyssey

Ich begrüße eure Idee. Das fehlt uns echt und ist eigentlich ja auch recht elementar. Meine DOIF-Sammlung zu diesem Thema ist wahnsinnig komplex mit zig Abhängigkeiten. Ich wollte mir Bernds aktuelle Umsetzung sowieso schon immer anschauen. Jetzt warte ich aufs Modul.

Mein persönlich - aber leider sehr individueller - Wunsch:
Unterschiedliche Abschattung je nach Stärke der Sonneneinstrahlung bzw. sogar unter Berücksichtigung der Wettervorhersage. Warum soll ich eine Jalousie morgens hochfahren, wenn die Sonne sowieso gleich stark einstrahlt und die Außentemperaturen bereits > 30 Grad sind.

Dies wird sicherlich nicht oder nur sehr spät kommen. 😄

Prof. Dr. Peter Henning

Zitathome,asleep,gotosleep und awoken

Hm - die Logik verstehe ich nicht. "Aufwecken" ist immer etwas, das automatisch zeitgesteuert ablaufen sollte (oder manuell, wenn der Wecker ausgeschaltet war). Das Herunterfahren der Rollläden ist viel komplizierter. In meinem TimeHelper für YAAHM habe ich das wie folgt realisiert:

"wakeup" => Fährt Rollläden hoch.
"night"     => Fährt Rollläden herunter, aber nur wenn a.) nicht durch Roll.block manuell blockiert UND b.) nicht im Party-Modus
"sleep"    => Manueller Event, hat mit Rollläden nur dann etwas zu tun, wenn diese beim "night"-Event wegen des Party-Modus nicht heruntergefahren wurden.

Klar ist, dass der Party-Modus nicht während des Absence-Modus eingeschaltet werden kann.

LG

pah


Prof. Dr. Peter Henning

@FunkOdyssey: YAAHM ansehen.

Betreffend die Wettervorhersage: Die ist niemals so genau, dass man daraus das lokale Wetter ablesen kann. Da helfen nur echte Messwerte.


LG

pah