[73_AutoShuttersControl.pm] Rolllos automatisiert steuern - Version 0.6.x

Begonnen von CoolTux, 27 April 2019, 08:04:52

Vorheriges Thema - Nächstes Thema

FunkOdyssey

Zitat von: FunkOdyssey am 18 Mai 2019, 18:14:32
Ich habe für morgen bei einer zeitgesteuerten Jalousie ShuttersPlace wieder auf "window" gesetzt. Dann weiß ich morgen, ob es am Lockout oder an ShuttersPlace liegt.

Und was die beiden "Nichtfahrer" gemeinsam haben: ich fahre die IMMER manuell herunter.

Nun habe ich den Überblick verloren.
Beide Jalousien sind nicht gefahren. 
Die haben ansonsten nur gemeinsam, dass ich einen Türkontakt hinterlegt habe.
Und da fiel mir deine Frage bzgl. Open wieder ein.
Beide habe ansonsten nur noch gemeinsam, dass in WindowRec ein Homematic Optischer Sensor (twostate) gesetzt ist.

Leider ist die Zeit zum Testen nun vorbei, da der Fehler nur am WE auftritt.

Ich hatte heute morgen noch schnell WindowRec und Subtype in der Jalousie gelöscht, Late-Zeitpunkt nach hinten gelegt und FHEM neu gestartet. Ich hatte die Hoffnung, dass ASC diese dann noch hochfährt. Leider ohne Erfolg. Entweder weil es immer noch buggy ist oder weil ich die Hochfahrt nicht erzwingen konnte.

Oder wie kann man das mehrmals am Tag ausprobieren?
Was merkt sich ASC wo?

CoolTux

Beim fahren nach Zeit ist die Early Zeit die jenigen welche zum fahren verwendet wird, Ausnahme ist aktiviertes Holiday fahren und hält dann am Wochenende. Hierwird die tatsächliche Holidayzeit genommen.
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


CoolTux

Zitat von: FunkOdyssey am 19 Mai 2019, 12:19:30
Ach ja. Early bzw. WE. Ich habe nur Late geändert.

Late spielt bei time gar keine Rolle. Kannst Du gerne auf 0:00 lassen.  :)
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

Es lag wirklich am Kontakt.
Ich weiß nur nicht wieso.
Ist ein HM-SEC-SCO und sollte TwoState sein, oder?

CoolTux

Wie war denn der Status des Kontaktes? Der wird ja kurz vor dem setzen des Fahrbefehles ausgewertet/geholt. Was steht im  Reading state drin?
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

sepultura30

Zitat von: CoolTux am 18 Mai 2019, 06:58:03
Hallo Sandro,

Leider ist das kein list.
List ist ein FHEM Befehl.

list DEVICENAME

Aber ich sehe schon das dort irgendwas durcheinander gekommen ist. Verwendest Du die aktuelle Version 0.6.9?
Wenn nicht Update machen bitte. Wenn ja dann bitte FHEM Neustart durchführen und beobachten.

Ich habe die aktuelle Version und hier mal das list device:


Internals:
   .eventMapCmd hoch:noArg runter:noArg stop:noArg
   .triggerUsed 1
   DEF        5CCE62
   FUUID      5c44ee7a-f33f-784a-329d-e999ca71d53badee
   IODev      myHmUART
   LASTInputDev myHmUART
   MSGCNT     19
   NAME       Rollladen_Badezimmer
   NOTIFYDEV  global
   NR         136
   NTFY_ORDER 50-Rollladen_Badezimmer
   STATE      hoch
   TYPE       CUL_HM
   chanNo     01
   lastMsg    No:ED - t:10 s:5CCE62 d:945612 0601C800
   myHMLANGW_MSGCNT 1
   myHMLANGW_RAWMSG 0500003EE3A4105CCE629456120601C80058
   myHMLANGW_RSSI -62
   myHMLANGW_TIME 2019-05-18 10:48:45
   myHmUART_MSGCNT 9
   myHmUART_RAWMSG 05010036EDA4105CCE629456120601C800
   myHmUART_RSSI -54
   myHmUART_TIME 2019-05-19 09:22:49
   myRemoteHmUART_MSGCNT 9
   myRemoteHmUART_RAWMSG 05000046EDA4105CCE629456120601C800
   myRemoteHmUART_RSSI -70
   myRemoteHmUART_TIME 2019-05-19 09:22:49
   protLastRcv 2019-05-19 09:22:49
   protRcv    9 last_at:2019-05-19 09:22:49
   protSnd    10 last_at:2019-05-19 09:22:49
   protState  CMDs_done
   rssi_at_myHMLANGW cnt:1 min:-62 max:-62 avg:-62 lst:-62
   rssi_at_myHmUART cnt:9 min:-59 max:-53 avg:-55.88 lst:-54
   rssi_at_myRemoteHmUART cnt:9 min:-70 max:-65 avg:-67.55 lst:-70
   rssi_myHmUART cnt:3 min:-89 max:-88 avg:-88.33 lst:-89
   .attraggr:
   .attrminint:
   READINGS:
     2017-11-23 15:09:06   .D-devInfo      010100
     2017-11-23 15:09:06   .D-stc          30
     2017-11-23 15:09:10   .R-confBtnTime  permanent
     2017-11-23 15:09:10   .R-intKeyVisib  invisib
     2017-11-23 15:09:10   .R-localResDis  off
     2017-11-23 15:09:11   .R-refRunCounter 0
     2017-11-23 15:09:11   .R-statusInfoMinDly 2 s
     2017-11-23 15:09:11   .R-statusInfoRandom 1 s
     2017-11-23 15:09:11   .R-transmitTryMax 6
     2019-03-03 13:56:19   .peerListRDate  2019-03-03 13:56:19
     2019-05-19 09:22:49   .protLastRcv    2019-05-19 09:22:49
     2019-05-19 09:22:49   ASC_ShuttersLastDrive manual
     2019-05-18 21:52:50   ASC_Time_DriveDown 19.05.2019 - 21:52
     2019-05-18 21:52:50   ASC_Time_DriveUp 20.05.2019 - 09:00
     2019-05-18 21:53:14   CommandAccepted yes
     2017-11-23 15:09:06   D-firmware      2.11
     2017-11-23 15:09:06   D-serialNr      OEQ0894515
     2019-03-03 13:56:17   PairedTo        0x945612
     2017-11-23 15:37:24   R-driveDown     25 s
     2017-11-23 15:09:11   R-driveTurn     0.5 s
     2017-11-23 15:37:01   R-driveUp       25 s
     2017-11-23 15:09:10   R-pairCentral   0x945612
     2017-11-23 15:09:11   R-powerUpAction off
     2017-11-23 15:09:11   R-sign          off
     2019-03-03 13:56:17   RegL_00.        00:00 02:01 0A:94 0B:56 0C:12 15:FF 18:00
     2019-03-03 13:56:18   RegL_01.        00:00 08:00 09:00 0A:00 0B:00 0C:FA 0D:00 0E:FA 0F:05 10:00 30:06 56:00 57:24
     2019-05-18 10:48:21   associatedWith  AutoShutterRolladen,AutoShutterRolladen1
     2019-05-19 09:22:49   deviceMsg       on (to VCCU)
     2019-05-19 09:22:49   level           100
     2019-05-19 09:22:49   motor           stop:on
     2019-05-19 09:22:49   pct             100
     2017-12-04 15:59:27   powerOn         2017-12-04 15:59:27
     2019-05-19 09:22:49   recentStateType info
     2019-05-19 09:22:49   state           on
     2019-05-19 09:22:49   timedOn         off
   helper:
     HM_CMDNR   237
     cSnd       119456125CCE62020146,119456125CCE620201C8
     dlvlCmd    ++A0119456125CCE620201C8
     mId        0005
     peerFriend peerSens,peerVirt
     peerOpt    3:blindActuator
     regLst     0,1,3p
     rxType     1
     supp_Pair_Rep 0
     ack:
     dir:
       cur        stop
       rct        up
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       newChn     +5CCE62,00,01,00
       nextSend   1558250570.26285
       prefIO     
       rxt        0
       vccu       VCCU
       p:
         5CCE62
         00
         01
         00
     mRssi:
       mNo        ED
       io:
         myHMLANGW:
         myHmUART:
           -48
           -48
         myRemoteHmUART:
           -70
           -70
     prt:
       bErr       0
       sProc      0
       rspWait:
     q:
       qReqConf   
       qReqStat   
     role:
       chn        1
       dev        1
       prs        1
     rpt:
       IO         myRemoteHmUART
       flg        A
       ts         1558250569.85502
       ack:
         HASH(0x8347f828)
         ED80029456125CCE6200
     rssi:
       at_myHMLANGW:
         avg        -62
         cnt        1
         lst        -62
         max        -62
         min        -62
       at_myHmUART:
         avg        -55.8888888888889
         cnt        9
         lst        -54
         max        -53
         min        -59
       at_myRemoteHmUART:
         avg        -67.5555555555556
         cnt        9
         lst        -70
         max        -65
         min        -70
       myHmUART:
         avg        -88.3333333333333
         cnt        3
         lst        -89
         max        -88
         min        -89
     tmpl:
Attributes:
   .mId       006A
   ASC        1
   ASC_Antifreeze off
   ASC_Antifreeze_Pos 10
   ASC_AutoAstroModeEvening CIVIL
   ASC_AutoAstroModeEveningHorizon none
   ASC_AutoAstroModeMorning CIVIL
   ASC_AutoAstroModeMorningHorizon none
   ASC_BlockingTime_afterManual 1200
   ASC_BlockingTime_beforDayOpen 3600
   ASC_BlockingTime_beforNightClose 3600
   ASC_BrightnessSensor none
   ASC_Closed_Pos 0
   ASC_ComfortOpen_Pos 100
   ASC_Down   astro
   ASC_Drive_Offset -1
   ASC_Drive_OffsetStart -1
   ASC_GuestRoom none
   ASC_LockOut off
   ASC_LockOut_Cmd none
   ASC_Mode_Down always
   ASC_Mode_Up always
   ASC_Open_Pos 100
   ASC_Partymode off
   ASC_Pos_Reading pct
   ASC_PrivacyDownTime_beforNightClose -1
   ASC_PrivacyDown_Pos 50
   ASC_Roommate_Device none
   ASC_Roommate_Reading state
   ASC_Self_Defense_Exclude off
   ASC_Shading_Angle_Left 75
   ASC_Shading_Angle_Right 75
   ASC_Shading_Direction 180
   ASC_Shading_Min_Elevation 25
   ASC_Shading_Min_OutsideTemperature 18
   ASC_Shading_Mode off
   ASC_Shading_Pos 80
   ASC_Shading_StateChange_Cloudy 20000
   ASC_Shading_StateChange_Sunny 35000
   ASC_Shading_WaitingPeriod 1200
   ASC_ShuttersPlace window
   ASC_Time_Down_Early 17:30
   ASC_Time_Down_Late 22:00
   ASC_Time_Up_Early 08:00
   ASC_Time_Up_Late 09:00
   ASC_Time_Up_WE_Holiday 09:00
   ASC_Up     time
   ASC_Ventilate_Pos 35
   ASC_Ventilate_Window_Open on
   ASC_WiggleValue 5
   ASC_WindowRec Fenster_Bad_Sensor
   ASC_WindowRec_subType twostate
   IODev      myHmUART
   IOgrp      VCCU
   alexaName  Rollladen_Badezimmer
   autoReadReg 4_reqStatus
   devStateIcon runter:fts_shutter_100 hoch:fts_shutter_10 10:fts_shutter_90 20:fts_shutter_80 30:fts_shutter_70 40:fts_shutter_60 50:fts_shutter_50 60:fts_shutter_40 70:fts_shutter_30 80:fts_shutter_20 90:fts_shutter_10
   eventMap   on:hoch off:runter stop:stop
   expert     2_raw
   firmware   2.11
   group      Rolläden
   icon       fts_garage_door_100
   model      HM-LC-BL1PBU-FM
   peerIDs    00000000,
   room       Bad_Unten,Rolläden
   serialNr   OEQ0894515
   subType    blindActuator
   userattr   ASC_Antifreeze:off,soft,hard,am,pm ASC_Antifreeze_Pos:5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100 ASC_AutoAstroModeEvening:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeEveningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_AutoAstroModeMorning:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeMorningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_BlockingTime_afterManual ASC_BlockingTime_beforDayOpen ASC_BlockingTime_beforNightClose ASC_BrightnessSensor ASC_Closed_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_ComfortOpen_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Down:time,astro,brightness ASC_DriveUpMaxDuration ASC_Drive_Offset ASC_Drive_OffsetStart ASC_GuestRoom:on,off ASC_LockOut:soft,hard,off ASC_LockOut_Cmd:inhibit,blocked,protection ASC_Mode_Down:absent,always,off,home ASC_Mode_Up:absent,always,off,home ASC_Open_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Partymode:on,off ASC_Pos_Reading ASC_PrivacyDownTime_beforNightClose ASC_PrivacyDown_Pos ASC_RainProtection:on,off ASC_Roommate_Device ASC_Roommate_Reading ASC_Self_Defense_Exclude:on,off ASC_Shading_Angle_Left ASC_Shading_Angle_Right ASC_Shading_Direction ASC_Shading_Min_Elevation ASC_Shading_Min_OutsideTemperature ASC_Shading_Mode:absent,always,off,home ASC_Shading_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Shading_StateChange_Cloudy ASC_Shading_StateChange_Sunny ASC_Shading_WaitingPeriod ASC_ShuttersPlace:window,terrace ASC_Time_Down_Early ASC_Time_Down_Late ASC_Time_Up_Early ASC_Time_Up_Late ASC_Time_Up_WE_Holiday ASC_Up:time,astro,brightness ASC_Ventilate_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Ventilate_Window_Open:on,off ASC_WiggleValue ASC_WindParameters ASC_WindProtection:on,off ASC_WindowRec ASC_WindowRec_subType:twostate,threestate
   webCmd     hoch:runter:stop

CoolTux

OK die Zeiten stimmen jetzt. Bitte beobachten und wenn noch Probleme sind hier melden.
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

volschin

Ich habe mir jetzt etwas den Code angeschaut und finde ihn ziemlich unübersichtlich und schwer wartbar.
Insbesondere aufgrund der hohen Redundanzen durch die unterschiedlichen Betrachtungswinkel aus Sicht des Events der gerade ankommt.
Ist das wirklich notwendig?
Es gibt zwar immer einen Trigger, aber sind nicht eigentlich alle Eingangsparameter gleichwertig?
Ließe sich nicht daraus ein konsistentes State-Modell machen, dass darüber entscheidet, ob und wohin das Rollo fährt?

Das Problem momentan scheint mir zu sein, dass niemand (auch nicht CoolTux) wirklich eine Übersicht hat, warum ein Rollo von einem Status in einen anderen wechselt.
Bitte nicht als persönliche Kritik verstehen. Ich finde das Modul vom Ansatz her toll, habe aber in der Summe der Anfragen und meinen eigenen Problemen den Eindruck, dass es da klemmt.
Intel NUC+Ubuntu 24.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7690, Echo Dots+Show8, HomeBridge

CoolTux

Gegen Konstruktive Kritik habe ich nichts. Ich habe den Code so geschrieben weil ich es nicht besser kann. Wer an der Entwicklung teilhaben möchte kann dies auf GitHub gerne tun. Einfach einen pullrequest senden.

Gerne schaue ich aber noch einmal drüber ob tatsächlich so viele gemeinsame Sache in den Eventverarbeitungseoutinen drin sind.


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

Zitat von: CoolTux am 19 Mai 2019, 13:07:25
Wie war denn der Status des Kontaktes? Der wird ja kurz vor dem setzen des Fahrbefehles ausgewertet/geholt. Was steht im  Reading state drin?

Im Reading 'state' steht 'closed'. Auch Minuten vor der Fahrt. Da bin ich meistens ja noch gar nicht wach. Werktags habe ich diese Probleme ja auch nicht.

Loredo

Für die Beschattung ist mir noch etwas aufgefallen:


Wenn die Grundvoraussetzungen wie Temperatur, Sonneneinstrahlung oder Tag/Nacht Zeit nicht mehr erfüllt sind, dann gehen die Rollläden nicht alle zusammen aus der Beschattung heraus. Ich bin nicht sicher, woher der Zeitversatz dabei kommt, aber es wäre logisch, dass sämtliche Rollläden zum selben Zeitpunkt aus der Beschattung gehen, wenn die Grundvoraussetzungen nicht mehr gegeben sind.


Beispiel von gerade:


Die Markise (im Süden) ist um 16:26:04 aus der Beschattung gefahren, für das Rollo auf der Westseite steht hingegen noch "out reserved - 16:12:16" und dieses ist dann erst um 16:32:32 aus der Beschattung gefahren.
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: FunkOdyssey am 19 Mai 2019, 16:21:13
Im Reading 'state' steht 'closed'. Auch Minuten vor der Fahrt. Da bin ich meistens ja noch gar nicht wach. Werktags habe ich diese Probleme ja auch nicht.

Ich habe morgen den Tag etwas Zeit und schaue noch mal den Code durch. Aber es spielt keine Rolle ob Holiday oder nicht, diese Auswertung gibt es beim Setzen des Fahrbefehles nicht. Holiday wird nur beim berechnen der nächsten Fahrzeit für morgens und Abends genommen.
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: Loredo am 19 Mai 2019, 16:31:14
Für die Beschattung ist mir noch etwas aufgefallen:


Wenn die Grundvoraussetzungen wie Temperatur, Sonneneinstrahlung oder Tag/Nacht Zeit nicht mehr erfüllt sind, dann gehen die Rollläden nicht alle zusammen aus der Beschattung heraus. Ich bin nicht sicher, woher der Zeitversatz dabei kommt, aber es wäre logisch, dass sämtliche Rollläden zum selben Zeitpunkt aus der Beschattung gehen, wenn die Grundvoraussetzungen nicht mehr gegeben sind.


Beispiel von gerade:


Die Markise (im Süden) ist um 16:26:04 aus der Beschattung gefahren, für das Rollo auf der Westseite steht hingegen noch "out reserved - 16:12:16" und dieses ist dann erst um 16:32:32 aus der Beschattung gefahren.

Kann ja wenn nur mir der blockingTime für Beschattung zu tun haben.
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

Zitat von: CoolTux am 19 Mai 2019, 16:38:20
Kann ja wenn nur mir der blockingTime für Beschattung zu tun haben.


Ich hätte wohl erwähnen sollen, dass es nicht gesetzt ist ;)
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