Rollladensteuerung für HM/ROLLO inkl. Abschattung und Komfortfunktionen in Perl

Begonnen von Cluni, 06 Juli 2017, 11:14:28

Vorheriges Thema - Nächstes Thema

T1mo

danke dir

mein Rolladen habe ich extra umbenannt in Rollo_Terasse.
Dann muss ich ja nichts unbennen ?
{Auto_Rol_create_dummies_and_attributes('Rol','x')}

hatte ich schon gemacht

kjmEjfu

dann solltest du die "Rollladensteuerung" eigentlich als neues Dummy-Device finden können.

Ansonsten könnte natürlich auch ein Auszug aus dem Logfile eventuell weiterhelfen.
Migriere derzeit zu Home Assistant

T1mo

Ich werde später nochmal alles überprüfen , muss jetzt kurz weg.
Erstmal vielen Dank für die schnelle Hilfe

MarkusHiba

hallo T1mo

Zitat aus dem ersten Post.

ZitatDie Namen der Rollladen-Aktoren sind bei mir einheitlich im Format "Rol.[Raum]{.Position}". Die Position ist optional bei mehreren Fenstern mit Rollladen im Raum. Beispiele:

Rol.Bad    Rol.Gaestezimmer    Rol.WZ.Seitentuer    Rol.WZ.links

Zitat aus von Heute um 16:42:29.
Zitatmein Rolladen habe ich extra umbenannt in Rollo_Terasse.
Dann muss ich ja nichts unbennen ?

Der Rollladen muss Rol.Terasse heißen.


Jetzt zu der Doku

wäre es nicht sinnvoll ein Wiki Eintrag zu machen als aus PDF.

Grüsse

Markus
Mit freundlichen Grüßen

MarkusHiba

T1mo

ZitatDer Rollladen muss Rol.Terasse heißen.

Danke Markus

Dachte nur Rol..... am Anfang ist wichtig.
Werde ich später testen

T1mo


HoTi

Ich habe angefangen das Rollomodul für diese Steuerung zu erweitern, damit müssen die Sondereintragungen im Rollomodul nicht mehr gemacht werden.

Das Rollomodul kann normal eingerichtet werden dann den SET Befehl "Rollosteuerung" ja ausführen. Dann werden alle attr. automatisch gesetzt. (mit dem Standard von hier).

Ich lerne noch PERL also bin ich offen für Hilfe. Z.B. weiß ich nicht wie ich die Auflistung der SET Befehle sortiere.

Hilfe erwünscht!

Zu finden ist meine Spezialversion hier:

https://github.com/RettungsTim/fhem-rollo/tree/spezial



Viele Grüße aus  Oberbayern
Tim (RettungsTim)

CoolTux

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

Cluni

So, nach langer Zeit mal wieder ein Update.
Bitte lest den kompletten ersten Post nochmal durch (auch wenn ihr die Steuerung schon länger in betrieb habt!) und macht die notwendigen Anpassungen. Die Steuerung ist nun nicht mehr von einem einheitlichen Namen abhängig und ich habe ein paar Hilfsroutinen hinzugefügt. Hier alle Änderungen seit der letzten Version:

16.11.2017 ( v0.9.4.2 ):
               - Logging bei automatischen Öffnen bzw Schließen leicht angepasst. Mit mit dem Wert 1 auf dem Attribut Logfile_Oeffnen/Telegram_Oeffnen bzw
                Logfile_Schliessen/Telegram_Schliessen wird nun nur der Abschluss des kompletten Öffnens bzw Schließens gemeldet, nachdem der letzte Rollladen
                abgearbeitet wurde. Die Loglevel dieser Werte schieben sich also um eins nach hinten.
               - die Routine "Auto_Rol_create_dummies_and_attributes" wurde entfernt
               - neue Routine: Rollladensteuerung_create_update_global_dummy() - diese erzeugt den globalen Dummy "Rollladensteuerung" bzw. bringt die Attribute
                 auf den neusten Stand.  Ist ein Attribut bereits angelegt, so wird es nicht überschrieben (Ausnahme das Attribut "userattr")
               - neue Routine: Rollladensteuerung_update_device('[Name_des_Rollladen]) - diese bringt die User-Attribute auf den aktuellen Stand und belegt bestimmte
                 Attribute mit dem dafür vorgesehenen Default. Ist ein Attribut bereits angelegt, so wird es nicht überschrieben (Ausnahme das Attribut "userattr")
                Beispiel: Um den Rollladen mit dem Namen "ug_wz_Jal_rechts" (für z.b: Jalousie im Untergeschoß, Wohnzimmer, rechts) mit den Attributen zu versehen den Befehl
                "{Rollladensteuerung_update_device('ug_wz_Jal_rechts')}" in die Eingabezeile oben in fhem eingeben.
               - neue Routine: Rollladensteuerung_del_Timer_and_Dummies() - löscht alle momentan angelegten Rollladen-Timer, löscht das TimerErzeuger-at, löscht das Notify zur
                 Timer-Erzeugung bei Sytem-Start, überflüssige Dummies und gibt anschließend eine Liste der Rollläden aus, die durch eine aktivierte Rollladensteuerung gesteuert
                werden (nach einmaligem {Auto_Rol_group_at()} oben in der Befehlszeile)
               - neue Routine: Rollladensteuerung_update_group('[Gruppenname]', 'list_group'/'update_group')
                 Diese Routine erleichter das Setzen der Attribute der einzelnen Rollläden, wenn man einen einheitlichen Namenbeginn (wie bei früheren Versionen) hat. Bevor man
                diese Geräte automatisch updaten (bzw. initialisieren) lässt, kann man sich eine Liste der Geräte ausgeben lassen, die bei übergebenen Parameter 'update_group'
                bearbeitet würden. Hat man also (wie z.B. bei mir) einen einheitlichen Anfang der Namen (bei mir fangen die Namen mit "Rol." an - also z.B. "Rol.Bad"), dann kann
                man sich mit folgendem Befehl die Liste der Geräte anzeigen lassen:
                     {Rollladensteuerung_update_group('Rol\..*','list_group')}
                Sind nur alle gewünschten Geräte in dieser Liste, dann kann man mit folgendem Befehl diese Geräte updaten lassen:
                     {Rollladensteuerung_update_group('Rol\..*','update_group')}
                Mit diesem Befehl wird dann für jedes einzelene Gerät die Routine Rollladensteuerung_update_device('[Name_des_Rollladen]) aufgerufen und ausgeführt.
               - neue Routine: Rollladensteuerung_update_existing_group('list_group'/'update_group')
                 Diese Routine macht genau das selbe, wie die Routine "Rollladensteuerung_update_group". Sie ist aber erst nutzbar, wenn es bereits Geräte gibt, die das Attribut
                "Rollladensteuerung = ja" haben. Die Routine dient vorrangig zur Aktualisierung der User-Attribute bei neuen Versionen der Rollladensteuerung. Mit dem folgenden
                Befehl kann man sich die Liste der Rollladen ansehen, die bei Übergabe des Parameters 'update_group' aktualisiert würden:
                     {Rollladensteuerung_update_existing_group('list_group')}
                Und hier der eigentliche Befehl zur Aktualisierung:
                     {Rollladensteuerung_update_existing_group('update_group')}
13.10.2017 ( v0.9.3.22 ):
               - Ich habe die Steuerung umgebaut, so dass nun auf die Rollläden OHNE Namen (z.B. die Angabe von "Rol\..*") zugegriffen wird. Dazu habe ich ein neues Attribut "Rollladensteuerung"
                [nein/ja] in den Userattributen der einzelnen Rolladen hinzugefügt. Nur wenn dieses explizit auf ja gesetzt wird, wird der Rollladen auch bearbeitet.
               - Es gibt ein paar neue Userattribute (Automatik_Astro_Modus_morgens, Automatik_Astro_Modus_morgens_Horizont Automatik_Astro_Modus_abends, Automatik_Astro_Modus_abends_Horizont)
                beim Dummy, damit der Modus (REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON) für Sonnenauf- und -untergang eingestellt werden kann. Beim Modus "HORIZON" kann noch der Wert im jeweiligen
                Attribut eingestellt werden.
               - Behebung kleinerer Fehler...
10.10.2017 ( v0.9.3.21 ):
                   - zusätzliches Attribut "Rollladensteuerung:nein/ja" für die Aktoren eingefügt um die Erkennung daran fest zu machen (damit freie Namensgebung möglich wird)
               - zusätzliches Attribut "Automatik_Astro_Modus_morgens/abends" mit den möglichen Werten REAL,CIVIL,NAUTIC,ASTRONOMIC und HORIZON
                 für HORIZON gibt es eine weiteres Attribut "Automatik_Astro_Modus_morgens/abends_Horizont", wo man den zugehörigen Wert eintragen kann

14.09.2017 ( v0.9.3.16..19 ):
                   - beheben diverser kleiner Fehler (Mehrfachmeldungen bei Aussperrschutz, dass nach dem Schließen abgeschattet wird, Reihenfolge der Abarbeitung in der Komfortfunktion, ...)



Ich wünsche euch viel Spaß beim Ausprobieren! Und vergesst das Backup vorher nicht!!!!

Grüße, Bernd

kjmEjfu

Coole Arbeit!

Kurze Frage: überschreibt die Updatefunktion grundsätzlich alles im "userattr"? Ich frage, weil ich da teilweise eigene userattr definiere, die nichts mit der Rollosteuerung zu tun haben.
Migriere derzeit zu Home Assistant

Cluni

Jops, das Attribut "userattr" wird sowohl beim Dummy wie auch bei den einzelnen Rollläden überschrieben. Dort ist halt der Ort, wo nach außen hin die meisten Dinge passieren und leider momentan nicht anders für mich zu realisieren. Ich denke, dass sich dies aber ändern wird, wenn aus der Geschichte irgendwann ein echtes Modul wird...

Damu

Hallo
ZitatSollte eine Vorversion der Rollladensteuerung bereit laufen, so löscht bitte einmal die vorhandenen und nicht mehr benutzten Dinge über den Befehl:

   {Rollladensteuerung_del_Timer_and_Dummies()}

Hab die Version v0.9.3.15

Bei dem Befehl kommt bei mir aber eine Fehlermeldung??

Cluni

Du musst ja auch die neue Version installieren. Erst dann geht der Befehl.


Gesendet von iPhone mit Tapatalk

fettgu

Hallo Cluny

Erst einmal vielen Dank für das tolle ,,Modul". Ich nutze es in Zusammenhang mit z-Wave aktoren, was immer ein wenig Umbau bedeutet. Nun zur Frage: könnte man in einer kommenden Version die Abfrage des Attributs ,,subType" vermeiden. Das hat mein z-Wave Aktor leider nicht.

Viele Grüße

Guido Fett


Sent from my iPad using Tapatalk

Cluni

Hast du gar kein subType oder steht der auf einen anderen Wert? Wenn du keinen hast, dann setze den subType doch einfach auf blindActuator. Sollte ja nicht stören. Evtl. wäre die Abfrage mittlerweile nicht mehr notwendig (das müsste ich mir in der Tiefe anschauen), aber es ist ja eine zusätzliche Sicherheit, damit wirklich auch nur Rollladenaktoren geschaltet werden und nicht zufällig was falsches.

Wenn der subType auf einem anderen Wert steht, dann könnte man ja mal schauen, ob man diesen mit der aktuellen Kontrolle verodern kann...