Hallo,
beschäftige mich seit ein paar Stunden mit folgenden Thema:
Mit Btn01 und Btn02 soll die Markise gesteuert werden. Das statefull diagram sieht so aus:
(siehe Anhang / see attachement)
Die Register das Aktors sehen lt Definition so aus (ich hab jetzt nur die short hier gelistet, um die Übersicht zu bewahren):
3: shActionType | - to - | required | | options:toggleToCntInv,off,toggleToCnt,jmpToTarget
3: shBlJtDlyOff | - to - | required |exp| Jump from delayOff options:on,rampOn,refOff,off,refOn,dlyOn,no,dlyOff,rampOff
3: shBlJtDlyOn | - to - | required |exp| Jump from delayOn options:on,rampOn,refOff,off,refOn,dlyOn,no,dlyOff,rampOff
3: shBlJtOff | - to - | required |exp| Jump from off options:on,rampOn,refOff,off,refOn,dlyOn,no,dlyOff,rampOff
3: shBlJtOn | - to - | required |exp| Jump from on options:on,rampOn,refOff,off,refOn,dlyOn,no,dlyOff,rampOff
3: shBlJtRampOff | - to - | required |exp| Jump from rampOff options:on,rampOn,refOff,off,refOn,dlyOn,no,dlyOff,rampOff
3: shBlJtRampOn | - to - | required |exp| Jump from rampOn options:on,rampOn,refOff,off,refOn,dlyOn,no,dlyOff,rampOff
3: shBlJtRefOff | - to - | required |exp| Jump from refOff options:on,rampOn,refOff,off,refOn,dlyOn,no,dlyOff,rampOff
3: shBlJtRefOn | - to - | required |exp| Jump from refOn options:on,rampOn,refOff,off,refOn,dlyOn,no,dlyOff,rampOff
3: shCtDlyOff | - to - | required |exp| Jmp on condition from delayOff options:geLo,between,outside,ltLo,geHi,ltHi
3: shCtDlyOn | - to - | required |exp| Jmp on condition from delayOn options:geLo,between,outside,ltLo,geHi,ltHi
3: shCtOff | - to - | required |exp| Jmp on condition from off options:geLo,between,outside,ltLo,geHi,ltHi
3: shCtOn | - to - | required |exp| Jmp on condition from on options:geLo,between,outside,ltLo,geHi,ltHi
3: shCtRampOff | - to - | required |exp| Jmp on condition from rampOff options:geLo,between,outside,ltLo,geHi,ltHi
3: shCtRampOn | - to - | required |exp| Jmp on condition from rampOn options:geLo,between,outside,ltLo,geHi,ltHi
3: shCtRefOff | - to - | required |exp| Jmp on condition from refOff options:geLo,between,outside,ltLo,geHi,ltHi
3: shCtRefOn | - to - | required |exp| Jmp on condition from refOn options:geLo,between,outside,ltLo,geHi,ltHi
3: shCtValHi | 0 to 255 | required |exp| Condition value high for CT table
3: shCtValLo | 0 to 255 | required |exp| Condition value low for CT table
3: shDriveMode | - to - | required |exp| options:direct,viaUpperEnd,viaNextEnd,viaLowerEnd
3: shMaxTimeF | 0 to 25.4s | required |exp| max time first direction
3: shOffDly | 0 to 111600s | required |exp| off delay
3: shOffLevel | 0 to 100% | required |exp| PowerLevel off
3: shOffTime | 0 to 111600s | required |exp| off time, 111600 = infinite
3: shOffTimeMode | - to - | required |exp| off time mode options:minimal,absolut
3: shOnDly | 0 to 111600s | required |exp| on delay
3: shOnLevel | 0 to 100% | required | | PowerLevel on
3: shOnTime | 0 to 111600s | required |exp| on time, 111600 = infinite
3: shOnTimeMode | - to - | required |exp| on time mode options:minimal,absolut
Die Readings zeigen als default-Konfiguration (ebenfalls nur die shorts):
R-Schalter_Terasse_Btn_01-shActionType jmpToTarget
R-Schalter_Terasse_Btn_01-shBlJtDlyOff refOff
R-Schalter_Terasse_Btn_01-shBlJtDlyOn refOn
R-Schalter_Terasse_Btn_01-shBlJtOff dlyOn
R-Schalter_Terasse_Btn_01-shBlJtOn dlyOff
R-Schalter_Terasse_Btn_01-shBlJtRampOff off
R-Schalter_Terasse_Btn_01-shBlJtRampOn on
R-Schalter_Terasse_Btn_01-shBlJtRefOff off
R-Schalter_Terasse_Btn_01-shBlJtRefOn on
R-Schalter_Terasse_Btn_01-shCtDlyOff geLo
R-Schalter_Terasse_Btn_01-shCtDlyOn geLo
R-Schalter_Terasse_Btn_01-shCtOff geLo
R-Schalter_Terasse_Btn_01-shCtOn geLo
R-Schalter_Terasse_Btn_01-shCtRampOff geLo
R-Schalter_Terasse_Btn_01-shCtRampOn geLo
R-Schalter_Terasse_Btn_01-shCtRefOff geLo
R-Schalter_Terasse_Btn_01-shCtRefOn geLo
R-Schalter_Terasse_Btn_01-shCtValHi 100
R-Schalter_Terasse_Btn_01-shCtValLo 50
R-Schalter_Terasse_Btn_01-shDriveMode direct
R-Schalter_Terasse_Btn_01-shMaxTimeF 25.5 s
R-Schalter_Terasse_Btn_01-shOffDly 0 s
R-Schalter_Terasse_Btn_01-shOffLevel 0 %
R-Schalter_Terasse_Btn_01-shOffTime 111600 s
R-Schalter_Terasse_Btn_01-shOffTimeMode absolut
R-Schalter_Terasse_Btn_01-shOnDly 0 s
R-Schalter_Terasse_Btn_01-shOnLevel 100 %
R-Schalter_Terasse_Btn_01-shOnTime 111600 s
R-Schalter_Terasse_Btn_01-shOnTimeMode absolut
Aktuell versuche ich mit try and error die Funktionen der einzelnen Register zu erforschen. Aber vielleicht hat sich schon einer von Euch damit auseinandergesetzt und kann mir einen schnellen Tipp geben.
Danke schon mal.
ciao walter
Hallo,
nachdem ich mir zu x-ten Mal das Handheftchen durchgelesen habe wirft sich für mich die Frage auf: müsste der Aktor nicht zwei Kanäle haben?
ciao walter
Hi,
hab was gefunden.
http://homematic-inside.de/archive/news.html?view=item&item_id=440 (//homematic-inside.de/archive/news.html?view=item&item_id=440)
Damit sollte ich mein Problem lösen können.
ciao walter
Hallo Walter,
ich gehe davon aus, dass du das Einsteigerdoc gelesen hast - den HM Teil.
FHEM doc website ganz oben.
http://fhem.de/Heimautomatisierung-mit-fhem.pdf (//fhem.de/Heimautomatisierung-mit-fhem.pdf)
Gruss
Martin
Hallo,
folgende Modifikation funktioniert nach meine Vorgaben:
R-Schalter_Terasse_Btn_01-shBlJtOn dlyOn dlyOn
R-Schalter_Terasse_Btn_02-shBlJtOff dlyOff
Allerdings, wenn ich die Tasten zu schnell betätige, gibt es noch Ungereimheiten. Möglich, dass ich noch mit R-Schalter_Terasse_Btn_0*-shBlJtDly* was tun muss
ciao walter
Hallo Martin,
ja, hab ich - soweit bis ich pairen, peeren, die ersten scripte, etc konnte. Also, tja, ähhh, nicht sooo ganz bis zum Ende, soooo fast halt ....
Klatsch, hat gesessen. hab es jetzt sofort in mein Evernote-FHEM-Notizbuch kopiert. Beim nächsten Flug/Hotelaufenthalt werde ich es mir komplett reinziehen.
ciao walter
Hallo Walter,
ZitatAllerdings, wenn ich die Tasten zu schnell betätige, gibt es noch Ungereimheiten. Möglich, dass ich noch mit R-Schalter_Terasse_Btn_0*-shBlJtDly* was tun muss
wahrscheinlich. Je nachdem, wie lange der delay eingestellt ist kann ein trigger kommen, wenn der Aktor noch im Zustand delay ist.
Beachte, dass er im Zustand delay sein kann auch von anderen trigger-quellen. Es ist also immer sauber sich zu ueberlegen, was dann passieren sollte: delay noch einmal ausfuehren oder schalten.
Beispiel:
Du hast eine Lampe mit ausschaltverzoegerung, gewuenscht ist 'klick'-> list soll nach 10sec erloeschen (offDly=10). Manchmal hast du es aber eilig, also 2. 'klick'. Aktor ist ja schon in 'offDly' und soll jetzt sofort nach 'off'.
Umgekehrt bei einem Treppenhauslicht, ein klick, Licht an, evtl mit off-delay realisiert. Ein erneuter klick soll die 'on' Zeit verlaengern, also dann von offDly nach offDly...
Gruss Martin