AutoshuttersControl: externer Trigger wird ignoriert

Begonnen von MichaelO, 27 Juni 2021, 13:20:14

Vorheriges Thema - Nächstes Thema

MichaelO

Moin,

ich habe für alle Rollos AutoshuttersControl konfiguriert und bisher läuft alles einwandfrei. Nun habe ich über ein Dummy einen externen Trigger definiert.

dy_WZ_Beschattung_manuell:state on 40

Wenn der Dummy nicht mehr on ist, soll das Rollo in die LastStatus Position fahren, so wie in der Referenz beschrieben.

Schalte ich den Dummy nach on, reagiert das Rollo darauf und ASC fährt in die gewünschte Position. Obwohl am Dummy nichts verändert wird, fährt das Rollo nach einer gewissen Zeit jedoch wieder komplett hoch. Irgendwie wird der externe Trigger durch irgendwas übersteuert. Im Reading ASC_ShuttersLastDrive steht dann "shading out", obwohl wie gesagt am Dummy keine Statusänderung erfolgte.

Hat wer eine Idee, woran das liegen könnte?

Gruß
Michael

CoolTux

Kann es sein das ShadingPos und externalTriggerPos gleich sind?
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

MichaelO


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

MichaelO

Danke sehr, das hat funktioniert. Hab ich in der Referenz was überlesen, oder fehlt diese Info dort? Ansonsten wäre es gut, wenn man das bei der Beschreibung des Attributs anmerkt.

Und dann... fährt es jetzt zwar runter, wenn der Dummy auf on geht (und bleibt auch unten), aber es fährt nicht hoch, wenn der Dummy anschließ0end ungleich on wird. Was genau bedeutet denn

ZitatEs ist möglich die POSINACTIVE weg zu lassen dann fährt das Rollo in LastStatus Position

Ich dachte, dass dann, wenn die POSACTIVE-Bedingung unwahr wird (das Event dummy dy_WZ_Beschattung_manuell off kommt im Eventmonitor), das Device in die dann gültige Position fährt.

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

MichaelO

Ok, danke... lag wieder mal zwischen den Ohren. Die Syntax ist schon recht unübersichtlich, da hab ich den Part schlichtweg übersehen. So geht es jetzt:

dy_WZ_Beschattung_manuell:state on:off 45

balli1187

Ich hänge mich mal mit dran, da ich auch Probleme mit dem external trigger habe....

Ich fahre bisher die Rollos per sprachbefehl abends herunter und Morges wieder rauf.
Wenn ich jetzt bei meinen 4 Rollos das Attribut auf
AlexaGuteNacht on:off 10:100
Setze, passiert nichts. Da ich vorher einfach per notify darauf reagiert habe, sollte das Event richtig durchkommen.
Muss ich noch andere Attribute setzen, damit externalTrigger ausgewertet wird?

Noch eine weitere Frage: kann ich mehrere external Trigger definieren? Falls ja: welche Syntax?
Falls nein, würde ich das als Wunsch äußern :-)
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

MichaelO

Hm, bei mir läuft es auch nicht wirklich rund.

Wenn ich mit den Trigger das Rollo runterfahre, passiert es trotzdem ab und an, dass es plötzlich wieder hoch fährt. Komischerweise fährt es dann wieder in die ,,externe Trigger Position", wenn der off-Trigger für die externe Steuerung kommt, und das sogar reproduzierbar.

Mal sehen, vielleicht baue ich ein DOIF, das dann das ASC deaktiviert und wieder aktiviert, wenn ich manuell beschatten will. Vielleicht stelle ich mich aber auch nur zu blöd an, da ja sonst anscheinend niemand ein Problem mit der Funktionalität hat, oder es wird überhaupt nicht verwendet. Wer weiß...

balli1187

Ich habe bisher immer ins Wiki geschaut (ja ich weis, soll man nicht machen) und habe jetzt auch nocmal die commandref bemüht.
Entweder bin ich blind oder das Attribut externalTrigger taucht da garnicht mehr auf.
Ist das ein Versehen oder hat das einen Grund? Da ich es in meiner FHEM-Instanz noch setzen kann, denke ich erstml, dass es bisher nicht entfernt wurde, oder?!
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

CoolTux

ASC_ExternalTrigger - DEVICE:READING VALUEACTIVE:VALUEINACTIVE POSACTIVE:[POSINACTIVE VALUEACTIVE2:POSACTIVE2], Beispiel: "WohnzimmerTV:state on:off 66:100" bedeutet das wenn ein "state:on" Event kommt soll das Rollo in Position 66 fahren, kommt ein "state:off" Event soll es in Position 100 fahren. Es ist möglich die POSINACTIVE weg zu lassen dann fährt das Rollo in LastStatus Position.




https://fhem.de/commandref_DE.html#AutoShuttersControl
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

balli1187

Zitat von: CoolTux am 06 Juli 2021, 08:29:36
ASC_ExternalTrigger - DEVICE:READING VALUEACTIVE:VALUEINACTIVE POSACTIVE:[POSINACTIVE VALUEACTIVE2:POSACTIVE2], Beispiel: "WohnzimmerTV:state on:off 66:100" bedeutet das wenn ein "state:on" Event kommt soll das Rollo in Position 66 fahren, kommt ein "state:off" Event soll es in Position 100 fahren. Es ist möglich die POSINACTIVE weg zu lassen dann fährt das Rollo in LastStatus Position.




https://fhem.de/commandref_DE.html#AutoShuttersControl

Hm.... Okay, in der deutschen commandref steht es. Das Wiki hatte mich auf die englische Seite verwiesen und da hab ich es nicht gefunden....

Ich bin eigentlich der Meinung, dass ich es richtig eingetragen hab aber wie gesagt, passiert nichts beim setzen des dummy.

Hier mal ein list eines Rollladen
Internals:
   DEF        5F0613
   FUUID      5c501681-f33f-2e10-96eb-65956afbd5f03b17
   IODev      VU_nanoCUL
   LASTInputDev VU_nanoCUL
   MSGCNT     173
   NAME       Ku_Rollladen
   NOTIFYDEV  global
   NR         88
   NTFY_ORDER 50-Ku_Rollladen
   STATE      on
   TYPE       CUL_HM
   VU_nanoCUL_MSGCNT 173
   VU_nanoCUL_RAWMSG A0D0CA4105F0613AB03100601C800::-65:VU_nanoCUL
   VU_nanoCUL_RSSI -65
   VU_nanoCUL_TIME 2021-07-06 06:35:51
   chanNo     01
   lastMsg    No:0C - t:10 s:5F0613 d:AB0310 0601C800
   protLastRcv 2021-07-06 06:35:51
   protRcv    173 last_at:2021-07-06 06:35:51
   protResnd  1 last_at:2021-07-01 06:48:21
   protSnd    198 last_at:2021-07-06 06:35:51
   protState  CMDs_done
   rssi_VU_nanoCUL cnt:54 min:-70 max:-57 avg:-62.49 lst:-59
   rssi_at_VU_nanoCUL cnt:173 min:-74.5 max:-61 avg:-66.8 lst:-65
   READINGS:
     2021-06-18 11:50:09   ASC_Enable      on
     2021-07-06 08:33:46   ASC_Time_DriveDown 06.07.2021 - 18:00
     2021-07-06 08:33:46   ASC_Time_DriveUp AutoShuttersControl off
     2021-07-06 06:35:29   CommandAccepted yes
     2019-04-15 11:22:37   D-firmware      2.11
     2019-04-15 11:22:37   D-serialNr      OEQ1303215
     2021-06-25 11:04:15   IODev           VU_nanoCUL
     2021-06-29 20:25:21   PairedTo        0xAB0310
     2021-06-29 20:25:03   R-driveDown     18.5 s
     2020-07-28 19:23:28   R-driveTurn     1 s
     2021-06-29 20:25:22   R-driveUp       18.5 s
     2020-07-28 19:23:27   R-pairCentral   0xAB0310
     2020-07-28 19:23:28   R-sign          off
     2021-06-29 20:25:21   RegL_00.         00:00 02:01 0A:AB 0B:03 0C:10 15:FF 18:00
     2021-06-29 20:25:22   RegL_01.         00:00 08:00 09:00 0A:00 0B:00 0C:B9 0D:00 0E:B9 0F:0A 10:00 30:06 56:00 57:24
     2021-06-25 16:53:55   associatedWith  OUT_AutoShutterControl
     2021-06-29 20:26:22   cfgState        ok
     2021-07-06 06:35:51   commState       CMDs_done
     2021-07-06 06:35:51   deviceMsg       on (to VCCU)
     2021-07-06 06:35:51   level           100
     2021-07-06 06:35:51   motor           stop:on
     2021-07-06 06:35:51   pct             100
     2021-05-25 13:11:21   powerOn         2021-05-25 13:11:20
     2021-07-06 06:35:51   recentStateType info
     2021-07-06 06:35:51   state           on
     2021-07-06 06:35:51   timedOn         off
     2021-07-06 06:35:29   trigLast        fhem:02
   helper:
     HM_CMDNR   12
     cSnd       11AB03105F0613020114,11AB03105F06130201C8
     cfgStateUpdt 0
     dlvlCmd    ++A011AB03105F06130201C8
     mId        0005
     peerFriend peerSens,peerVirt
     peerIDsRaw ,00000000
     peerIDsState complete
     peerOpt    3:blindActuator
     regLst     0,1,3p
     rxType     1
     supp_Pair_Rep 0
     cmds:
       TmplKey    :no:1624611855.91031
       TmplTs     1624611855.91031
       cmdKey     1:1:0::Ku_Rollladen:0005:01:
       cmdLst:
         assignHmKey noArg
         clear      [(readings|trigger|register|oldRegs|rssi|msgEvents|{msgErrors}|attack|all)]
         deviceRename -newName-
         down       'change:'[(0..100;1|{10})] [(-ontime-|{})] [(-ramptime-|{})]
         fwUpdate   -filename- [-bootTime-]
         getConfig  noArg
         getDevInfo noArg
         getRegRaw  (List0|List1|List2|List3|List4|List5|List6|List7) [-peerChn-]
         getVersion noArg
         inhibit    [(on|{off})]
         off        noArg
         on         noArg
         pair       noArg
         pct        -value- [-ontime-]
         peerBulk   -peer1,peer2,...- [({set}|unset)]
         peerIODev  [IO] -btn- [({set}|unset)] 'not for future use'
         peerSmart  -peerOpt-
         press      [(long|{short})] [(-peer-|{self01})] [(-repCount-|{0})] [(-repDelay-|{0.25})]
         raw        -data- [...]
         regBulk    -list-.-peerChn- -addr1:data1- -addr2:data2-...
         regSet     [(prep|{exec})] -regName- -value- [-peerChn-]
         reset      noArg
         sign       [(on|{off})]
         statusRequest noArg
         stop       noArg
         toggle     noArg
         toggleDir  noArg
         tplDel     -tplDel-
         tplSet_0   -tplChan-
         unpair     noArg
         up         'change:'[(0..100;1|{10})] [(-ontime-|{})] [(-ramptime-|{})]
       lst:
         condition  slider,0,1,255
         peer       
         peerOpt    HWR_Waschmaschine_SenF,HWR_Waschmaschine_SenI,HWR_Waschmaschine_SenPwr,HWR_Waschmaschine_SenU,Ku_Spueler_SenF,Ku_Spueler_SenI,Ku_Spueler_SenPwr,Ku_Spueler_SenU,VCCU,Wz_Aquarium_SenF,Wz_Aquarium_SenI,Wz_Aquarium_SenPwr,Wz_Aquarium_SenU,Wz_FensterLinks
         tplChan   
         tplDel     
         tplPeer   
       rtrvLst:
         cmdList    [({short}|long)]
         deviceInfo [({short}|long)]
         list       [({normal}|full)]
         param      -param-
         reg        -addr- -list- [-peerChn-]
         regList    noArg
         regTable   noArg
         regVal     -addr- -list- [-peerChn-]
         saveConfig [-filename-]
         tplInfo    noArg
     dir:
       cur        stop
       rct        up
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       flgs       0
       newChn     +5F0613,00,00,00
       nextSend   1625546151.11354
       prefIO     
       rxt        0
       vccu       VCCU
       p:
         5F0613
         00
         00
         00
     mRssi:
       mNo        0C
       io:
         CUNO:
         VU_nanoCUL:
           -61
           -61
     peerIDsH:
       00000000   broadcast
     prt:
       bErr       0
       sProc      0
       rspWait:
     q:
       qReqConf   
       qReqStat   
     regCollect:
     role:
       chn        1
       dev        1
       prs        1
     rpt:
       IO         VU_nanoCUL
       flg        A
       ts         1625546151.0141
       ack:
         HASH(0x564a5b570cb0)
         0C8002AB03105F061300
     rssi:
       VU_nanoCUL:
         avg        -62.5
         cnt        54
         lst        -59
         max        -57
         min        -70
       at_VU_nanoCUL:
         avg        -66.8092485549133
         cnt        173
         lst        -65
         max        -61
         min        -74.5
     shadowReg:
     tmpl:
Attributes:
   ASC        2
   ASC_Down   time
   ASC_ExternalTrigger AlexaGuteNacht:state on:off 10:100
   ASC_Mode_Down home
   ASC_Mode_Up off
   ASC_Pos_Reading pct
   ASC_Sleep_Pos 10
   ASC_Time_Down_Early 18:00
   DbLogExclude .*
   EG_Rollladen 1
   IODev      VU_nanoCUL
   IOgrp      VCCU
   alexaName  Küchenrollo
   alias      Küche
   autoReadReg 4_reqStatus
   devStateIcon on:fts_window_2w 9\d.*:fts_shutter_10 8\d.*:fts_shutter_20 7\d.*:fts_shutter_30 6\d.*:fts_shutter_40 5\d.*:fts_shutter_50 4\d.*:fts_shutter_60 3\d.*:fts_shutter_70 2\d.*:fts_shutter_80 1\d.*:fts_shutter_90 0\d.*:fts_shutter_100 off:fts_shutter_100
   event-on-change-reading state
   eventMap   100:auf 0:zu
   expert     defReg,rawReg
   firmware   2.11
   genericDeviceType light
   group      Fenster EG
   homebridgeMapping clear Brightness=pct,minValue=0,maxValue=100,minStep=1,cmd=pct
   icon       fts_shutter_updown
   model      HM-LC-BL1PBU-FM
   peerIDs    00000000
   room       Home,Küche
   serialNr   OEQ1303215
   sortby     2
   subType    blindActuator
   userattr   ASC_Adv:on,off 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,roommate ASC_DriveUpMaxDuration ASC_Drive_Delay ASC_Drive_DelayStart ASC_ExternalTrigger 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_PrivacyDownValue_beforeNightClose ASC_PrivacyDown_Pos ASC_PrivacyUpValue_beforeDayOpen ASC_PrivacyUp_Pos ASC_RainProtection:on,off ASC_Roommate_Device ASC_Roommate_Reading ASC_Self_Defense_AbsentDelay ASC_Self_Defense_Mode:absent,gone,off ASC_Shading_BetweenTheTime ASC_Shading_InOutAzimuth ASC_Shading_MinMax_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_SunnyCloudy ASC_Shading_WaitingPeriod ASC_Shutter_IdleDetection ASC_ShuttersPlace:window,terrace,awning ASC_SlatPosCmd_SlatDevice ASC_Sleep_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_TempSensor 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,roommate 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_PosAfterDayClosed:open,lastManual ASC_WindowRec_subType:twostate,threestate
   webCmd     20:auf:zu
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

MichaelO

Moin,

ja... genau so habe ich das implementiert:

dy_WZ_Beschattung_manuell:state on:off 45

Aber - und da muss ich noch weiter beobachten, wann genau das passiert - obwohl der Dummy weiter "on" ist, fährt das Rollo ab und an einfach hoch. Wenn dann der Dummy "off" gesetzt wird, fährt es wieder in die external Trigger Position runter.

Wärst Du so nett, mal kurz "LastStatus Position" zu erläutern? Dazu gibt es ja kein Reading, das so heißt, vielleicht habe ich hier auch was falsch verstanden.

MichaelO

Also... wenn meine Implementierung mit

dy_WZ_Beschattung_manuell:state on:off 45

korrekt ist (Wenn das on-Event kommt, fahre auf 45 und wenn das off-Event kommt, fahre in LastStatus Position.

Was passiert nun: Kommt das on-Event, fährt das Roll auf 45. Wenn dann die Bedingungen für die reguläre Beschattung greifen, fährt das Rollo auf den Beschattungswert. Ist die reguläre Beschattung vorbei, fährt das Rollo trotzdem hoch, obwohl der Dummy fürs externe Trägern noch auf on steht. Setze ich dann den Dummy auf off, fährt das Rollo auf 45, obwohl dies ja die on-Position ist. Irgendwas stimmt da nicht, aber ich scheine ja der Einzige zu sein, weil es sonst keiner hier schreibt.