[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

marvin78

Ob dieser Bug bekannt ist, weiß ich nicht und ich werde es auch nicht checken: Wenn man scanForShutters mehrfach durchführt (ggf. kommt ja ein neuer Shutter dazu), stehen die schon vorhandenen Rollläden genau so oft im NOTIFYDEV, wie der Befehl ausgeführt wurde.

Achso und bei mir sind die Attribute in den Devices nicht verfügbar. Ich habe leider zu wenig Zeit für Fehlersuche und nehme auch an, dass alle Probleme hier schon erörtert werden.

enno

Zitat von: pc1246 am 13 November 2018, 07:47:09
Moin
Ich habe das gestern abend leider vergessen, waere auch gerne dabei gewesen!
Zu "ClosureState", wie kommt das jetzt uebereinander? Bisher hatte ich es so verstanden, dass der Fahrbefehl und der Zustand gleich sein muessen? Kann man ein tahoma device mit "Closurestate" fahren?
Gruss Christoph

Ich habe das mit helfender Hand von CoolTux gestern bei der Konferenz gemacht. Das Modul braucht die Position ohne Schnickschnack (dim etc) und baut dann den richtigen Fahrbefehl (dim 50) daraus zusammen. Wie alle Teilnehmer am klappern der Rollos hören konnten geht es nun.

Stell es bei dir mal ein und mach dann "Wiggle", dann brauchst du nicht bis zur nächsten Fahrzeit warten.

Gruss
Einfacher FHEM Anwender auf Intel®NUC mit Proxmox und Debian

Chaos

Hi,
Zitat von: CoolTux am 13 November 2018, 08:36:42
Hallo Manuel,

Das macht in der Tat ASC_Drive_Offset, das wäre dann einzeln für jeden Rollladen, oder im ASC Device ASC_shuttersDriveOffset eine Verzögerung für alle Rollläden. Bitte beachte aber das dies keine ganze Verzögerung des Wertes ist sondern eine zufällige Zahl zwischen 0 und Deinem Wert den Du ein gibst in Sekunden!!!


Grüße

Dann hab ich das ASC_Drive_Offset richtig verstanden...
Auf die Gefahr zu nerven: Den "Zufall" da optional zu machen, wäre für dich machbar? (Also weniger von den Programmierfähigkeiten, sondern von der Akzeptanz. Mein Setup ist ja vermutlich eher die Ausnahme als die Regel).

MfG
Manuel

CoolTux

Zitat von: marvin78 am 13 November 2018, 08:36:55
Ob dieser Bug bekannt ist, weiß ich nicht und ich werde es auch nicht checken: Wenn man scanForShutters mehrfach durchführt (ggf. kommt ja ein neuer Shutter dazu), stehen die schon vorhandenen Rollläden genau so oft im NOTIFYDEV, wie der Befehl ausgeführt wurde.

Achso und bei mir sind die Attribute in den Devices nicht verfügbar. Ich habe leider zu wenig Zeit für Fehlersuche und nehme auch an, dass alle Probleme hier schon erörtert werden.

Das mit den mehrfach drin stehen ist in der Tat bekannt, dennoch vielen Dank für die Info.
Wenn die Rolllädendevices in der NOTIFYDEV stehen, dann sollten auch die Attribute vorhanden sein. Einzige Erklärung die ich noch hätte wäre ein mindestens 2 Monate altes FHEM.
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

Zitat von: Chaos am 13 November 2018, 08:52:06
Hi,
Dann hab ich das ASC_Drive_Offset richtig verstanden...
Auf die Gefahr zu nerven: Den "Zufall" da optional zu machen, wäre für dich machbar? (Also weniger von den Programmierfähigkeiten, sondern von der Akzeptanz. Mein Setup ist ja vermutlich eher die Ausnahme als die Regel).

MfG
Manuel

Es wäre nicht so schwer das ein zu bauen, ABER wie will man wissen ob oder ob nicht mit Zufall? Richtig, wieder ein Attribut. Wir haben meiner Meinung nach jetzt schon zu viele. Aber ich bin der Meinung so viel wie nötig so wenig wie möglich. Vorschlag. Probiere es bitte erstmal ein paar Tage mit dem Attribut ASC_Drive_Offset im Rolladen. Es ist ja auch einfach bei Dir. Du hast gesagt Du hast nur 2 die etwas auseinander fahren müssten. Stelle bei einem von den beiden den Wert von ASC_Drive_Offset auf 30 und schaue mal wie gut das klappt. Berichte bitte in ein paar Tagen und wenn es so gar nicht geht überlegen wir uns zusammen was. Eventuell kann man sowas ja auch am TYPE des Rollladens fest machen.
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

Bei mir habe ich das ja so - einmal offset +/- (der auch genau so ohne Zufall benutzt wird) und eine Zufallszeit +/-. Aber das ist richtig - ein Attribut mehr....


Gesendet von iPhone mit Tapatalk

marvin78

Zitat von: CoolTux am 13 November 2018, 08:59:19

Einzige Erklärung die ich noch hätte wäre ein mindestens 2 Monate altes FHEM.

Nein. FHEM ist aktuell von heute morgen. Keine Attribute in den Devices (außer ASC=2). Es sind Homematic Unterputz Aktoren.

Aber das ist nicht so wichtig. Ich komme ohnehin nicht zum einrichten. Ich habe noch meine eigene Automatik, die sehr gut funktioniert. Wenn es also überall sonst klappt...


Edit: GGf. funktioniert das nicht, wenn das Device schon userattr besitzt. Nur geraten.

majestro84

Also ich nutze bei Cluni genau den Offset weil ich zuerst nur die Rollladen im Gehweg Bereich runter fahre die anderen hält ne halbe Stunde später. Wie ich es damals noch selbst gesteuert habe mit doif, hatte ich es so geregelt das die Rollladen erst auf eine, sagen wir Mal, Sichtschutz Position fahren(Es ist draußen so dunkel das man drinnen Licht abschaltet aber nicht unbedingt die Rollladen komplett schliesen möchte). Bei völliger Dunkelheit habe ich sie dann erst komplett geschlossen.
Also ich wäre für so ein Offset oder, ist ja auch wieder was zusätzliches, der Sichtschutz.
Gruß Alex

Gesendet von meinem Redmi Note 4 mit Tapatalk

Server: Fujitsu ESPRIMO Q920 - aktuellen FHEM-Docker Image:Z-Wave (RollerShutter,DoorWindow,Socket,PIR,....) | ENIGMA2 | EGPM2LAN | BLE-Tag(PRESENCE) | HUE | alexa-fhem | Shelly | MQTT2
1.Pi-Zero:Viessmann(optolink) mit 89_VCONTROL300.pm
2.Pi3 Dongle Server: Zigbee2MQTT(CC1352P-2), Z-Wave(UZB1), BT

CoolTux

Zitat von: majestro84 am 13 November 2018, 09:21:51
Also ich nutze bei Cluni genau den Offset weil ich zuerst nur die Rollladen im Gehweg Bereich runter fahre die anderen hält ne halbe Stunde später.
Das kann man heute schon leicht regeln, ich mache das bei meiner Tochter auch. Du kannst einfach einen anderen Wert nehmen für ASC_AutoAstroModeEvening. Suche Dir einen Wert der den Rollladen früher runter fährt oder halt später. Wie Du magst

Zitat von: majestro84 am 13 November 2018, 09:21:51
Wie ich es damals noch selbst gesteuert habe mit doif, hatte ich es so geregelt das die Rollladen erst auf eine, sagen wir Mal, Sichtschutz Position fahren(Es ist draußen so dunkel das man drinnen Licht abschaltet aber nicht unbedingt die Rollladen komplett schliesen möchte). Bei völliger Dunkelheit habe ich sie dann erst komplett geschlossen.
Also ich wäre für so ein Offset oder, ist ja auch wieder was zusätzliches, der Sichtschutz.
Gruß Alex

Gesendet von meinem Redmi Note 4 mit Tapatalk
Über ein Sichtschutz oder meinetwegen first Step Drive vor dem eigentlichen schließen kann man gerne noch mal reden. Bin ja offen für sowas.  :)

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

majestro84

OK super das hört sich gut an. Dann muss ich jetzt doch Mal gucken daß ich Umsteige auf dein Modul dann fallen die fragen weg für Funktionen die es ja schon gibt. Gruß Alex

Gesendet von meinem Redmi Note 4 mit Tapatalk

Server: Fujitsu ESPRIMO Q920 - aktuellen FHEM-Docker Image:Z-Wave (RollerShutter,DoorWindow,Socket,PIR,....) | ENIGMA2 | EGPM2LAN | BLE-Tag(PRESENCE) | HUE | alexa-fhem | Shelly | MQTT2
1.Pi-Zero:Viessmann(optolink) mit 89_VCONTROL300.pm
2.Pi3 Dongle Server: Zigbee2MQTT(CC1352P-2), Z-Wave(UZB1), BT

Deckoffizier

Hallo CoolTux,

habe gestern ein update gemacht und seitdem hatte ich Schwierigkeiten mit meinen
UNIRoll Rolladen(keine Fahrten).
Vorher lief alles bestens.
Einzig mein Siro Rolladen lief weiterhin anstandslos.

Habe heute morgen mit dem attr useRolloPos von 0 auf 1 hin und her wechseln gespielt und setzen fahren auf die oberste Position.
Hoffe  heute Abend wieder alles wie gehabt am laufen zu bekommen.

Muss dazu sagen habe ein userReading für die UNIRoll     
pos:oldPos.* { ReadingsNum("og_wz_rollo","oldPos",0)}  um pos für ASC_Pos_Reading zu nutzen.

ZitatWie bereits mehrfach erwähnt ist dies nicht mehr nötig, da die gängigsten Rolllotypen automatisch erkannt werden. Deswegen heißt das Attribut nun auch ASC_Pos_Reading. Also das Reading welches die aktuelle Position des Rollladens nummerisch an gibt. Ich werde in die Commandref noch rein schreiben welche Typen aktuell automatisch erkannt werden.

Kannst Du bitte in der Commandref eventuell dazu etwas anführen ?(UNIRoll)

An Dankeschön hast Du bestimmt schon einen ganzen Sack voll ;)
Deshalb von mir Hut ab für dieses tolle Modul, das ich bisher nur in den Grundfunktionen nutze und erst zum Sommer
(Beschattung) voll ausreizen werde.

Gruß
Hans-Jürgen



FHEM 5.8 auf "yakkaroo Emu A1FL.1" mit CUL 868MHz, SIGNALduino,2 1Wire USB Busmaster, diverse 1 Wire Sensoren,Landroid,Aeotec USB Dongle Z-Wave Plus

CoolTux

Zitat von: Deckoffizier am 13 November 2018, 10:07:46
Hallo CoolTux,

habe gestern ein update gemacht und seitdem hatte ich Schwierigkeiten mit meinen
UNIRoll Rolladen(keine Fahrten).
Vorher lief alles bestens.
Einzig mein Siro Rolladen lief weiterhin anstandslos.

Habe heute morgen mit dem attr useRolloPos von 0 auf 1 hin und her wechseln gespielt und setzen fahren auf die oberste Position.
Hoffe  heute Abend wieder alles wie gehabt am laufen zu bekommen.

Muss dazu sagen habe ein userReading für die UNIRoll     
pos:oldPos.* { ReadingsNum("og_wz_rollo","oldPos",0)}  um pos für ASC_Pos_Reading zu nutzen.

Kannst Du bitte in der Commandref eventuell dazu etwas anführen ?(UNIRoll)

An Dankeschön hast Du bestimmt schon einen ganzen Sack voll ;)
Deshalb von mir Hut ab für dieses tolle Modul, das ich bisher nur in den Grundfunktionen nutze und erst zum Sommer
(Beschattung) voll ausreizen werde.

Gruß
Hans-Jürgen

Hallo Hans,

Kannst Du mir bitte den ganz genauen TYPE angeben vom Uniroll Modul. Und ich benötige den set Befehl womit Du die Rolllos nummerisch fährst. Denke mal pos so wie das klingt.
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

Sascha_F

Hi CoolTux,

bin leider gerade gestern erst auf das Modul auf aufmerksam geworden, sonst hätte ich mich natürlich gern dem Beta-Test angeschlossen --> aber dann geht's halt jetzt los :)

first of all: Ein super Modul! Vielen Dank dafür!

Im Wiki-Eintrag hast Du ja vor den den readingsGroup noch "tbd" stehen, also unfertig, aber damit es nicht untergeht --> im define des 2. readingsgroup fehlt eine "<": <Time_Down_Late>. Und im ersten readingsGroup steht ein ASC_Shading_Pos, welches ich aber nirgends finden konnte - ggf. war das ja aber auch ein verworfener Arbeitsstand. Aktuell habe ich dies mit einem DOIF realisiert, indem ich pro Raum jew. ein bis zwei Thermometer (HM-TC-IT-WM-W-EU und/oder HM-CC-RT-DN) gegen einen Schwellenwert prüfe. Läuft ganz ok, aber im ersten Versuch war es suboptimal, da die Schwellen für auf und zu zu nah beieinander waren und die Rollläden dann runtergefahren sind, dann wieder rauf, dann wieder runter^^

Jetzt aber zum Modul selbst:
Ich fänd es schön, wenn das Attribut ASC_autoShuttersControlComfort <on/off> vom ASC-Device als ASC_ComfortOpen_Window_Open <on/off> in das jeweilige Device (z.B. Rollladen) umziehen würde. Dies wäre dann analog zu ASC_Ventilate_Window_Open, welches sich ja bereits im Device befindet. Das ASC-Attribut ASC_autoShuttersControlComfort <on/off> wäre dadurch dann obsolet, da in jedem Device selbst festgelegt wird, ob ComfortOpen erfolgen soll.

In diesem Zusammenhang ggf. auch ein Rename des Attributes von ASC_Pos_after_ComfortOpen in ASC_ComfortOpen_Pos? Vom Wording her wäre dies dann auch analog zu ASC_Ventilate_Pos.

Falls jemand Interesse an meinem (aktuellen) readingsGroup hat (meine Devices haben den Original-Namen, daher im DEF mit ASC&2 auf das Reading selektiert --> Danke an FunkOdyssey :) ) // Screenshot wie es aussieht ist als Anhang beigefügt):
define ASC_Rollladensteuerung.readingsGroup readingsGroup <%fts_shutter_automatic@mediumPurple>,<geöffnet (%)>,<öffnen ab>,<öffnen bis>,<öffnen WE / Urlaub>,<schließen ab>,<schließen bis>,<automatisch schließen>,<automatisch öffnen>,<Lüften aktiviert>,<Position 'Lüften'>,<Position 'Komfort'>
ASC&2:level,?ASC_Time_Up_Early,?ASC_Time_Up_Late,?ASC_Time_Up_WE_Holiday,?ASC_Time_Down_Early,?ASC_Time_Down_Late,?ASC_Mode_Down,?ASC_Mode_Up,?ASC_Ventilate_Window_Open,?ASC_Ventilate_Pos,?ASC_Pos_after_ComfortOpen
attr ASC_Rollladensteuerung.readingsGroup alias Steuerung: Rollladen
attr ASC_Rollladensteuerung.readingsGroup commands {
level => 'pct:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100',
ASC_Mode_Down => 'ASC_Mode_Down:always,absent,off',
ASC_Mode_Up => 'ASC_Mode_Up:always,absent,off',
ASC_Time_Down_Early => 'ASC_Time_Down_Early:15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00',
ASC_Time_Down_Late  => 'ASC_Time_Down_Late:20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30',
ASC_Time_Up_Early => 'ASC_Time_Up_Early:05:45,05:50,05:55,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00',
ASC_Time_Up_Late =>'ASC_Time_Up_Late:06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00',ASC_Time_Up_WE_Holiday => 'ASC_Time_Up_WE_Holiday:06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00',
ASC_Ventilate_Window_Open => 'ASC_Ventilate_Window_Open:on,off',
ASC_Ventilate_Pos => 'ASC_Ventilate_Pos:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100',
ASC_Pos_after_ComfortOpen => 'ASC_Pos_after_ComfortOpen:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100'
}


So, das waren meine ersten Impressionen :)

Beste Grüße
Sascha

FunkOdyssey

Mann kan sich die ReadingsGroups auch über Attribute filtern lassen:

Hier: ASC=2
   
<Gerät>,<Stand>,<Mode_Down>,<Mode_Up>,<Up>,<Down>
ASC&2:level,?ASC_Mode_Down,?ASC_Mode_Up,?ASC_Up,?ASC_Down


Das macht es ein wenig einfacher.

Sascha_F

Hi FunkOdyssey,

oh, das kannte ich noch nicht --> das ist ja super! Vielen Dank für den Tipp!! :-)

(hab ich natürlich gleich oben im Beitrag aktualisiert)

Viele Grüße
Sascha