Hallo zusammen,
an einer Terrassentür habe ich 2 Kontakte, ein Kontakt_1 für (Tür auf) und ein Kontakt_2 für (Tür Kipp)
Wenn Tür geöffnet ist, steht Kontakt_1 auf ,,open" und Kontakt_2 steht auf ,,closed"
Wenn Tür auf ,,KIPP", stehen beide Kontakte auf ,,open"
Ich möchte aber das mit ASC LockOut das Rollo schließt wenn die Tür auf ,,KIPP" steht und bei geöffneter Tür das Rollo NICHT schließt.
Irgendwie müsste ich Kontakt_1 wieder auf ,,closed" setzen wenn Kontakt_2 ,,open" ist.
Ist das machbar ?
Ich habe im Moment noch keine Idee dazu.
Vielen Dank schonmal
Ich könnte das mit einem DoIf und einem Dummy machen;
DOIF:
([HmIP_MOD_RC8_1_3] eq "open" and [HmIP_MOD_RC8_1_4] eq "closed") (set DMY_Terrassentuer open)
DOELSEIF ([HmIP_MOD_RC8_1_3] eq "open" and [HmIP_MOD_RC8_1_4] eq "open") (set DMY_Terrassentuer closed)
DOELSEIF ([HmIP_MOD_RC8_1_3] eq "closed") (set DMY_Terrassentuer closed)
Das Dummy dann in ASC_WindowRec einsetzen...... spricht etwas dagegen oder gibt es eine bessere Lösung?
Ob man dafür zwei weitere Device braucht?
Und wenn du "three state" erfassen kannst, warum dann das nicht darstellen? (weiß aber nicht, wie ASC mit einem three-state an einer Terrassentür klarkommt).
Wenn der "Leitevent" der an Kontakt_1 ist, könntest du per userReading (bei offen mit-Perl-fhem-sleep) auch ein "konsolidiertes three-state-Reading" an Kontakt_1 schreiben, indem du da auch gleich den aktuellen Zustand von Kontakt_2 abfragst...
Vermutlich ist das etwas abstrakt?
Hier der Beispielcode, sollte passen, wenn die Namen entsprechend angepaßt werden und wirklich "state" das passende Reading ist.
attr dmTst1 userReadings state2:(open|closed) {return 'closed' if $event=~m{closed};; fhem("sleep 2 quiet;;setreading dmTst1 state2 {(ReadingsVal('dmTst1','state','open') eq 'closed' ? 'closed' : ReadingsVal('dmTst2','state','open') eq 'closed' ? 'open' : 'tilted')}")}
Ich habe es ebenfalls mit einer Umsetzung auf three state gelöst, allerdings mit einem DOIF:
di_Erker
{
my $ErkerOpen = [HM_FK_Erker_unten];
my $ErkerTilt = [HM_FK_Erker_oben];
my $ErkerPos = "closed";
if ($ErkerOpen eq "open" and $ErkerTilt eq "open") {
$ErkerPos = "open";
} elsif ($ErkerOpen eq "closed" and $ErkerTilt eq "open") {
$ErkerPos = "tilted";
} else {
$ErkerPos = "closed";
}
set_State("$ErkerPos");
}
Eventuell hilft dir das, einen Dummy benötigst du dafür nicht.
Gruß Reinhard
:)
Einfach mal die beteiligten Geräte im Event-Monitor abgrenzen und mit jeder der Lösungen öffnen/schließen/tilted stellen...
Ggf. mal verbose 5 aktivieren und schauen, wie viele Event-Loops verursacht werden ;) .
Für was ist der letzte "else"-Zweig gut ::) ?
ja, probiere ich jetzt sofort mal aus....
@ Beta-User.... um den Dummy wieder von open auf close zu setzen ??? habe ich mir mal so gedacht....
Zitat von: ms_steini am 24 Mai 2022, 12:43:46
@ Beta-User.... um den Dummy wieder von open auf close zu setzen ??? habe ich mir mal so gedacht....
Das mit "else" war auf das DOIF von Reinhard.M bezogen.
Ansonsten: Kein dummy, weg damit...
Das userReading gehört an den "Echtkontakt", der das "leitende" open/close liefert. Falls der "übergangsweise" kurz geschlossen wird, könnte man auch dafür noch eine Verzögerung vorsehen.
Falls das Homematic-Geräte sind, kann man ggf. eine kurze Verzögerung auf die Hardware schreiben, damit dieser "Zwischenkontakt" gar nicht erst in FHEM ankommt. Falls auf diese Weise sichergestellt ist, dass Kontakt_2 immer vor Kontakt_1 meldet, kann man ggf. auch auf das sleep verzichten (und die Lösung von Reinhard.M ist dann bis auf das überflüssige "else" auch fast gleich "effizient"...).
also das funktioniert schonmal, allerdings nicht mit open|closed sondern mit true|false....
state2:(true|false) {return 'false' if $event=~m{false}; fhem("sleep 2 quiet; setreading HmIP_MOD_RC8_1_3 state2 {(ReadingsVal('HmIP_MOD_RC8_1_3','state','true') eq 'false' ? 'false' : ReadingsVal('HmIP_MOD_RC8_1_4','state','true') eq 'false' ? 'true' : 'tilted')}")}
und wie bekomme ich das hin das ASC_WindoRec den Status von state2 bekommt ?? oder habe ich da wieder ein gedankenfehler?
OT (ich bin nicht dumm, habe nur oft pech beim denken!)
hier mal ein List vom Kontakt:
Internals:
DEF 00145D89969E97:3
FUUID 62868730-f33f-c561-eb5a-dc168988f4578aa5
IODev piVCCU_ccu3
NAME HmIP_MOD_RC8_1_3
NR 426
STATE closed
TYPE HMCCUCHN
ccuaddr 00145D89969E97:3
ccudevstate active
ccuif HmIP-RF
ccuname HmIP_MOD_RC8_1:3
ccurolestate KEY_TRANSCEIVER
ccusubtype MOD-RC8
ccutype HmIP-MOD-RC8
chntype ?
firmware 1.0.5
readonly no
OLDREADINGS:
READINGS:
2022-05-24 13:41:10 activity alive
2022-05-24 13:41:10 battery ok
2022-05-24 13:41:10 devstate ok
2022-05-24 13:41:10 hmstate false
2022-05-24 13:41:10 rssidevice -62
2022-05-24 13:32:06 rssipeer N/A
2022-05-24 13:41:10 state false
2022-05-24 13:41:10 state2 false
2022-05-24 13:41:10 voltage 6.0
hmccu:
channels 1
detect 1
devspec 00145D89969E97:3
nodefaults 1
role 3:KEY_TRANSCEIVER
setDefaults 0
cmdlist:
get
set
control:
dp:
0.CONFIG_PENDING:
VALUES:
NVAL 0
ONVAL 0
OSVAL false
OVAL 0
SVAL false
VAL 0
0.DUTY_CYCLE:
VALUES:
NVAL 0
ONVAL 0
OSVAL false
OVAL 0
SVAL false
VAL 0
0.INSTALL_TEST:
VALUES:
NVAL true
ONVAL true
OSVAL true
OVAL true
SVAL true
VAL true
0.LOW_BAT:
VALUES:
NVAL 0
ONVAL 0
OSVAL ok
OVAL 0
SVAL ok
VAL 0
0.OPERATING_VOLTAGE:
VALUES:
NVAL 6.0
ONVAL 6.0
OSVAL 6.0
OVAL 6.0
SVAL 6.0
VAL 6.0
0.OPERATING_VOLTAGE_STATUS:
VALUES:
NVAL 0
ONVAL 0
OSVAL NORMAL
OVAL 0
SVAL NORMAL
VAL 0
0.RSSI_DEVICE:
VALUES:
NVAL -62
ONVAL -62
OSVAL -62
OVAL -62
SVAL -62
VAL -62
0.RSSI_PEER:
VALUES:
NVAL N/A
ONVAL N/A
OSVAL N/A
OVAL 0
SVAL N/A
VAL 0
0.UNREACH:
VALUES:
NVAL 0
ONVAL 0
OSVAL alive
OVAL 0
SVAL alive
VAL 0
0.UPDATE_PENDING:
VALUES:
NVAL false
ONVAL false
OSVAL false
OVAL false
SVAL false
VAL false
3.STATE:
VALUES:
NVAL 0
ONVAL 1
OSVAL true
OVAL 1
SVAL false
VAL 0
roleCmds:
get:
set:
state:
chn 3
dpt PRESS_SHORT
Attributes:
DbLogExclude .*
alias EG Esszimmertür auf/zu
ccureadingfilter .*
ccureadingformat datapointlc
event-on-update-reading .*
eventMap false:closed true:open
icon bilder/HM-mod-em-8
room 0.0 Test->HmIP-MOD-RC8
stateFormat state2
substitute state!(1|true):open,(0|false):closed
userReadings state2:(true|false) {return 'false' if $event=~m{false}; fhem("sleep 2 quiet; setreading HmIP_MOD_RC8_1_3 state2 {(ReadingsVal('HmIP_MOD_RC8_1_3','state','true') eq 'false' ? 'false' : ReadingsVal('HmIP_MOD_RC8_1_4','state','true') eq 'false' ? 'true' : 'tilted')}")}
Wieso "true/false"?!? Vermutlich hat ASC damit ein Problem, und im Code kann man doch bequem angeben, was man im Ergebnis haben will (und z.B. statt "true" dann "closed" schreiben lassen...
Lt. Doku kannst du doch "state2" als Reading mit angeben...?
ZitatASC_WindowRec - WINDOWREC:[READING], Name des Fensterkontaktes, an dessen Fenster der Rollladen angebracht ist (default: none). Reading ist optional
PS: Wenn es komplett trivial wäre, hätte ich keinen Code gepostet...
ja, habe ich verstanden, ich meinte das hier:
ReadingsVal('HmIP_MOD_RC8_1_3','state','true'
das "state" liefert nur true oder false....
schon. Aber die Abfrage muss doch nicht dem entsprechen, was du woanders hinschreibst...?
Also so (falls ich nicht einen Knoten im Hirn habe):
[code]state2:(true|false) {return 'closed' if $event=~m{false}; fhem("sleep 2 quiet; setreading HmIP_MOD_RC8_1_3 state2 {(ReadingsVal('HmIP_MOD_RC8_1_3','state','true') eq 'false' ? 'closed' : ReadingsVal('HmIP_MOD_RC8_1_4','state','true') eq 'false' ? 'open' : 'tilted')}")}
[/code]
ja richtig, hatte ich doch geschrieben das es so funktioniert...
wollte jetzt keine Verwirrung stiften..sorry
es geht alles so wie ich mir das vorgestellt habe, in ASC_WindowRec habe ich "HmIP_MOD_RC8_1_3:state2" eingesetzt und
in ASC_WindowRec_subType habe ich "threestate" eingesetzt. Ich denke das sollte so auch in ASC funktionieren.
Vielen Dank nochmal.
Nein, leider funktioniert es doch nicht mit ASC. Das Rollo fährt bei geöffneter Tür trotzdem zu.
Das userReading "state2" funktioniert wie es soll, es wird entsprechend der Türstellung in (closed, open, tilted) geändert.
Im Rolladen-Device habe ich folgende Einstellungen vorgenommen:
ASC_LockOut -> soft
ASC_ShuttersPlace -> terrace
ASC_WindowRec -> HmIP_MOD_RC8_1_3:state2
ASC_WindowRec_subType -> threestate
Ich weiß leider nicht ob es am Kontakt oder an ASC liegt und was ich ändern muss damit es funktioniert.
hier nochmal ein List vom Rolladen-Device und vom Kontakt:
Internals:
DEF 5E4407
FUUID 5c5ecff3-f33f-c561-1f4c-4f99d73b45b84068
HM_LAN_TCP_MSGCNT 24
HM_LAN_TCP_RAWMSG 05010036F1A4105E44070712670601C800
HM_LAN_TCP_RSSI -54
HM_LAN_TCP_TIME 2022-05-25 06:50:19
IODev HM_LAN_TCP
LASTInputDev HM_LAN_TCP
MSGCNT 24
NAME EG.Rollo.Esszimmer.Tuer
NR 78
NTFY_ORDER 48-EG.Rollo.Esszimmer.Tuer
STATE stop:auf
TYPE CUL_HM
chanNo 01
disableNotifyFn 1
lastMsg No:F1 - t:10 s:5E4407 d:071267 0601C800
peerList self01,self02
protLastRcv 2022-05-25 06:50:19
protRcv 24 last_at:2022-05-25 06:50:19
protSnd 24 last_at:2022-05-25 06:50:19
protState CMDs_done
rssi_HM_LAN_TCP cnt:10 min:-57 max:-47 avg:-52 lst:-52
rssi_at_HM_LAN_TCP cnt:24 min:-58 max:-41 avg:-49 lst:-54
READINGS:
2020-08-09 08:59:26 ASC_Enable on
2022-05-25 06:50:19 ASC_ShuttersLastDrive maximum brightness threshold exceeded
2022-05-24 23:00:01 ASC_Time_DriveDown 25.05.2022 - 23:00
2022-05-24 23:00:01 ASC_Time_DriveUp 25.05.2022 - 09:15
2022-05-25 06:49:50 CommandAccepted yes
from archivexx D-firmware 2.11
from archivexx D-serialNr OEQ1310443
2022-05-25 06:50:19 IODev HM_LAN_TCP
2019-08-29 13:57:25 PairedTo 0x071267
2022-05-20 09:23:05 R-confBtnTime permanent
2022-05-20 09:23:05 R-driveDown 23.4 s
2022-05-20 09:23:05 R-driveTurn 0.5 s
2022-05-20 09:23:05 R-driveUp 24.2 s
2022-05-20 09:23:05 R-intKeyVisib visib
2022-05-20 09:23:05 R-localResDis off
2022-05-20 09:23:05 R-pairCentral 0x071267
2022-05-20 09:23:05 R-refRunCounter 0
2022-05-20 09:23:05 R-self01-lgActionType jmpToTarget
2022-05-20 09:23:05 R-self01-lgBlJtDlyOff refOff
2022-05-20 09:23:05 R-self01-lgBlJtDlyOn dlyOff
2022-05-20 09:23:05 R-self01-lgBlJtOff dlyOff
2022-05-20 09:23:05 R-self01-lgBlJtOn dlyOff
2022-05-20 09:23:05 R-self01-lgBlJtRampOff rampOff
2022-05-20 09:23:05 R-self01-lgBlJtRampOn on
2022-05-20 09:23:05 R-self01-lgBlJtRefOff rampOff
2022-05-20 09:23:05 R-self01-lgBlJtRefOn on
2022-05-20 09:23:05 R-self01-lgCtDlyOff geLo
2022-05-20 09:23:05 R-self01-lgCtDlyOn geLo
2022-05-20 09:23:05 R-self01-lgCtOff geLo
2022-05-20 09:23:05 R-self01-lgCtOn geLo
2022-05-20 09:23:05 R-self01-lgCtRampOff geLo
2022-05-20 09:23:05 R-self01-lgCtRampOn geLo
2022-05-20 09:23:05 R-self01-lgCtRefOff geLo
2022-05-20 09:23:05 R-self01-lgCtRefOn geLo
2022-05-20 09:23:05 R-self01-lgCtValHi 100
2022-05-20 09:23:05 R-self01-lgCtValLo 50
2022-05-20 09:23:05 R-self01-lgDriveMode direct
2022-05-20 09:23:05 R-self01-lgMaxTimeF 0.4 s
2022-05-20 09:23:05 R-self01-lgMultiExec on
2022-05-20 09:23:05 R-self01-lgOffDly 0 s
2022-05-20 09:23:05 R-self01-lgOffLevel 0 %
2022-05-20 09:23:05 R-self01-lgOffTime unused
2022-05-20 09:23:05 R-self01-lgOffTimeMode absolut
2022-05-20 09:23:05 R-self01-lgOnDly 0 s
2022-05-20 09:23:05 R-self01-lgOnLevel 100 %
2022-05-20 09:23:05 R-self01-lgOnTime unused
2022-05-20 09:23:05 R-self01-lgOnTimeMode absolut
2022-05-20 09:23:05 R-self01-shActionType jmpToTarget
2022-05-20 09:23:05 R-self01-shBlJtDlyOff refOff
2022-05-20 09:23:05 R-self01-shBlJtDlyOn dlyOff
2022-05-20 09:23:05 R-self01-shBlJtOff dlyOff
2022-05-20 09:23:05 R-self01-shBlJtOn dlyOff
2022-05-20 09:23:05 R-self01-shBlJtRampOff off
2022-05-20 09:23:05 R-self01-shBlJtRampOn on
2022-05-20 09:23:05 R-self01-shBlJtRefOff rampOff
2022-05-20 09:23:05 R-self01-shBlJtRefOn on
2022-05-20 09:23:05 R-self01-shCtDlyOff geLo
2022-05-20 09:23:05 R-self01-shCtDlyOn geLo
2022-05-20 09:23:05 R-self01-shCtOff geLo
2022-05-20 09:23:05 R-self01-shCtOn geLo
2022-05-20 09:23:05 R-self01-shCtRampOff geLo
2022-05-20 09:23:05 R-self01-shCtRampOn geLo
2022-05-20 09:23:05 R-self01-shCtRefOff geLo
2022-05-20 09:23:05 R-self01-shCtRefOn geLo
2022-05-20 09:23:05 R-self01-shCtValHi 100
2022-05-20 09:23:05 R-self01-shCtValLo 50
2022-05-20 09:23:05 R-self01-shDriveMode direct
2022-05-20 09:23:05 R-self01-shMaxTimeF unused
2022-05-20 09:23:05 R-self01-shMultiExec off
2022-05-20 09:23:05 R-self01-shOffDly 0 s
2022-05-20 09:23:05 R-self01-shOffLevel 0 %
2022-05-20 09:23:05 R-self01-shOffTime unused
2022-05-20 09:23:05 R-self01-shOffTimeMode absolut
2022-05-20 09:23:05 R-self01-shOnDly 0 s
2022-05-20 09:23:05 R-self01-shOnLevel 100 %
2022-05-20 09:23:05 R-self01-shOnTime unused
2022-05-20 09:23:05 R-self01-shOnTimeMode absolut
2022-05-20 09:23:05 R-self02-lgActionType jmpToTarget
2022-05-20 09:23:05 R-self02-lgBlJtDlyOff dlyOn
2022-05-20 09:23:05 R-self02-lgBlJtDlyOn refOn
2022-05-20 09:23:05 R-self02-lgBlJtOff dlyOn
2022-05-20 09:23:05 R-self02-lgBlJtOn dlyOn
2022-05-20 09:23:05 R-self02-lgBlJtRampOff off
2022-05-20 09:23:05 R-self02-lgBlJtRampOn rampOn
2022-05-20 09:23:05 R-self02-lgBlJtRefOff off
2022-05-20 09:23:05 R-self02-lgBlJtRefOn rampOn
2022-05-20 09:23:05 R-self02-lgCtDlyOff geLo
2022-05-20 09:23:05 R-self02-lgCtDlyOn geLo
2022-05-20 09:23:05 R-self02-lgCtOff geLo
2022-05-20 09:23:05 R-self02-lgCtOn geLo
2022-05-20 09:23:05 R-self02-lgCtRampOff geLo
2022-05-20 09:23:05 R-self02-lgCtRampOn geLo
2022-05-20 09:23:05 R-self02-lgCtRefOff geLo
2022-05-20 09:23:05 R-self02-lgCtRefOn geLo
2022-05-20 09:23:05 R-self02-lgCtValHi 100
2022-05-20 09:23:05 R-self02-lgCtValLo 50
2022-05-20 09:23:05 R-self02-lgDriveMode direct
2022-05-20 09:23:05 R-self02-lgMaxTimeF 0.4 s
2022-05-20 09:23:05 R-self02-lgMultiExec on
2022-05-20 09:23:05 R-self02-lgOffDly 0 s
2022-05-20 09:23:05 R-self02-lgOffLevel 0 %
2022-05-20 09:23:05 R-self02-lgOffTime unused
2022-05-20 09:23:05 R-self02-lgOffTimeMode absolut
2022-05-20 09:23:05 R-self02-lgOnDly 0 s
2022-05-20 09:23:05 R-self02-lgOnLevel 100 %
2022-05-20 09:23:05 R-self02-lgOnTime unused
2022-05-20 09:23:05 R-self02-lgOnTimeMode absolut
2022-05-20 09:23:05 R-self02-shActionType jmpToTarget
2022-05-20 09:23:05 R-self02-shBlJtDlyOff dlyOn
2022-05-20 09:23:05 R-self02-shBlJtDlyOn refOn
2022-05-20 09:23:05 R-self02-shBlJtOff dlyOn
2022-05-20 09:23:05 R-self02-shBlJtOn dlyOn
2022-05-20 09:23:05 R-self02-shBlJtRampOff off
2022-05-20 09:23:05 R-self02-shBlJtRampOn on
2022-05-20 09:23:05 R-self02-shBlJtRefOff off
2022-05-20 09:23:05 R-self02-shBlJtRefOn rampOn
2022-05-20 09:23:05 R-self02-shCtDlyOff geLo
2022-05-20 09:23:05 R-self02-shCtDlyOn geLo
2022-05-20 09:23:05 R-self02-shCtOff geLo
2022-05-20 09:23:05 R-self02-shCtOn geLo
2022-05-20 09:23:05 R-self02-shCtRampOff geLo
2022-05-20 09:23:05 R-self02-shCtRampOn geLo
2022-05-20 09:23:05 R-self02-shCtRefOff geLo
2022-05-20 09:23:05 R-self02-shCtRefOn geLo
2022-05-20 09:23:05 R-self02-shCtValHi 100
2022-05-20 09:23:05 R-self02-shCtValLo 50
2022-05-20 09:23:05 R-self02-shDriveMode direct
2022-05-20 09:23:05 R-self02-shMaxTimeF unused
2022-05-20 09:23:05 R-self02-shMultiExec off
2022-05-20 09:23:05 R-self02-shOffDly 0 s
2022-05-20 09:23:05 R-self02-shOffLevel 0 %
2022-05-20 09:23:05 R-self02-shOffTime unused
2022-05-20 09:23:05 R-self02-shOffTimeMode absolut
2022-05-20 09:23:05 R-self02-shOnDly 0 s
2022-05-20 09:23:05 R-self02-shOnLevel 100 %
2022-05-20 09:23:05 R-self02-shOnTime unused
2022-05-20 09:23:05 R-self02-shOnTimeMode absolut
2022-05-20 09:23:05 R-sign off
2022-05-20 09:23:05 R-statusInfoMinDly 2 s
2022-05-20 09:23:05 R-statusInfoRandom 1 s
2022-05-20 09:23:05 R-transmitTryMax 6
2022-05-20 09:23:19 associatedWith RolladenSteuerung
2022-05-20 09:24:05 cfgState ok
2022-05-25 06:50:19 commState CMDs_done
2022-05-25 06:50:19 deviceMsg on (to VCCU)
2022-05-25 06:50:19 level 100
2022-05-25 06:50:19 motor stop:on
2022-05-25 06:50:19 pct 100
2022-05-20 09:23:03 peerList self01,self02
2021-02-25 07:44:49 powerOn 2021-02-25 07:44:49
2022-05-25 06:50:19 recentStateType info
2022-05-25 06:50:19 state on
2022-05-25 06:50:19 timedOn off
2022-05-25 06:49:49 trigLast fhem:02
helper:
HM_CMDNR 241
cSnd 110712675E4407020100,110712675E44070201C8
cfgStateUpdt 0
dlvlCmd ++A0110712675E44070201C8
lastMsgTm 1653454219.66684
mId 0005
peerFriend peerSens,peerVirt
peerIDsState complete
peerOpt 3:blindActuator
regLst 0,1,3p
rxType 1
supp_Pair_Rep 0
tmplChg 0
cmds:
TmplKey self01,self02:no:1653031390.25913
TmplTs 1653031390.25913
cmdKey 1:1:0::EG.Rollo.Esszimmer.Tuer:0005:01:self01,self02
cmdLst:
assignHmKey noArg
clear [({msgErrors}|msgEvents|rssi|attack|trigger|register|oldRegs|readings|all)]
deviceRename -newName-
down 'change:'[(0..100;1|{10})] [(-ontime-|{})] [(-ramptime-|{})]
eventL -peer- -cond-
eventS -peer- -cond-
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})]
pressL [(-peer-|{self01})]
pressS [(-peer-|{self01})]
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-
tplSet_self01 -tplPeer-
tplSet_self02 -tplPeer-
unpair noArg
up 'change:'[(0..100;1|{10})] [(-ontime-|{})] [(-ramptime-|{})]
lst:
condition slider,0,1,255
peer self01,self02
peerOpt DoorBellButton_Btn_01,DoorBellButton_Btn_02,DoorBellButton_Btn_03,DoorBellButton_Btn_04,EG.Bewegungsmelder.Diele.1_Btn_01,EG.Bewegungsmelder.Diele.1_Btn_02,EG.Bewegungsmelder.Diele.1_Motion,HM.SEC.SC.2_NEQ1110481,HM_35C855_Sw_01,HM_35C855_Sw_02,HM_35C855_Sw_03,HM_3B53BC,HM_MOD_EM_8.1_Btn_01,HM_MOD_EM_8.1_Btn_02,HM_MOD_EM_8.1_Btn_03,HM_MOD_EM_8.1_Btn_04,HM_MOD_EM_8.1_Btn_05,HM_MOD_EM_8.1_Btn_06,HM_MOD_EM_8.1_Btn_07,HM_MOD_EM_8.1_Btn_08,HM_MOD_EM_8.2_Btn_01,HM_MOD_EM_8.2_Btn_02,HM_MOD_EM_8.2_Btn_03,HM_MOD_EM_8.2_Btn_04,HM_MOD_EM_8.2_Btn_05,HM_MOD_EM_8.2_Btn_06,HM_MOD_EM_8.2_Btn_07,HM_MOD_EM_8.2_Btn_08,HM_MOD_EM_8.3_Btn_01,HM_MOD_EM_8.3_Btn_02,HM_MOD_EM_8.3_Btn_03,HM_MOD_EM_8.3_Btn_04,HM_MOD_EM_8.3_Btn_05,HM_MOD_EM_8.3_Btn_06,HM_MOD_EM_8.3_Btn_07,HM_MOD_EM_8.3_Btn_08,HM_MOD_EM_8.4_Btn_01,HM_MOD_EM_8.4_Btn_02,HM_MOD_EM_8.4_Btn_03,HM_MOD_EM_8.4_Btn_04,HM_MOD_EM_8.4_Btn_05,HM_MOD_EM_8.4_Btn_06,HM_MOD_EM_8.4_Btn_07,HM_MOD_EM_8.4_Btn_08,HM_Messsteckdose_1_SenF,HM_Messsteckdose_1_SenI,HM_Messsteckdose_1_SenPwr,HM_Messsteckdose_1_SenU,HM_Messsteckdose_2_SenF,HM_Messsteckdose_2_SenI,HM_Messsteckdose_2_SenPwr,HM_Messsteckdose_2_SenU,KG.FensterKontakt.Waschkeller,OG.Bewegungsmelder.Diele.1,OG.Bewegungsmelder.Diele.1_Motion,OG.Bewegungsmelder.Diele.2_Btn_01,OG.Bewegungsmelder.Diele.2_Btn_02,OG.Bewegungsmelder.Diele.2_Motion,OG.Bewegungsmelder.Diele.3_Btn_01,OG.Bewegungsmelder.Diele.3_Btn_02,OG.Bewegungsmelder.Diele.3_Motion,OG.Bewegungsmelder.Treppe.1_Btn_01,OG.Bewegungsmelder.Treppe.1_Btn_02,OG.Bewegungsmelder.Treppe.1_Motion,OG.Bewegungsmelder.Treppe.2_Btn_01,OG.Bewegungsmelder.Treppe.2_Btn_02,OG.Bewegungsmelder.Treppe.2_Motion,OG.RemoteDimmer.Diele.1_Btn_01,OG.RemoteDimmer.Diele.1_Btn_02,OG.RemoteDimmer.Diele.2_Btn_01,OG.RemoteDimmer.Diele.2_Btn_02,OG.RemoteDimmer.Diele.3_Btn_01,OG.RemoteDimmer.Diele.3_Btn_02,OG.RemoteDimmer.Schlafzimmer.1_Btn_01,OG.RemoteDimmer.Schlafzimmer.1_Btn_02,OG.RemoteDimmer.Schlafzimmer.2_Btn_01,OG.RemoteDimmer.Schlafzimmer.2_Btn_02,OG.RemoteDimmer.Treppe.1_Btn_01,OG.RemoteDimmer.Treppe.1_Btn_02,VCCU
tplChan
tplDel
tplPeer BlStopDnLg_long,BlStopDnLg_short,BlStopDnSh_long,BlStopDnSh_short,BlStopUpLg_long,BlStopUpLg_short,BlStopUpSh_long,BlStopUpSh_short,SwCondAbove_long,SwCondAbove_short,SwCondBelow_long,SwCondBelow_short,SwOnCond_long,SwOnCond_short
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 1
raw 0
tpl 0
io:
flgs 0
newChn +5E4407,00,00,00
nextSend 1653454219.91754
rxt 0
vccu VCCU
p:
5E4407
00
00
00
prefIO:
HM_LAN_TCP
mRssi:
mNo F1
io:
HM_LAN_TCP:
-48
-48
peerIDsH:
00000000 broadcast
5E440701 self01
5E440702 self02
prt:
bErr 0
sProc 0
rspWait:
q:
qReqConf
qReqStat
role:
chn 1
dev 1
prs 1
rpt:
IO HM_LAN_TCP
flg A
ts 1653454219.66684
ack:
HASH(0x381a6b0)
F180020712675E440700
rssi:
HM_LAN_TCP:
avg -52
cnt 10
lst -52
max -47
min -57
at_HM_LAN_TCP:
avg -49
cnt 24
lst -54
max -41
min -58
tmpl:
hmccu:
Attributes:
ASC 2
ASC_BlockingTime_afterManual 0
ASC_BrightnessSensor Lichtsensor
ASC_Down brightness
ASC_LockOut soft
ASC_Mode_Down always
ASC_Mode_Up always
ASC_Pos_Reading pct
ASC_ShuttersPlace terrace
ASC_Time_Down_Early 19:15
ASC_Time_Down_Late 23:00
ASC_Time_Up_Early {setTimeUp('Early','EG.Rollo.Esszimmer.Tuer')}
ASC_Time_Up_Early_normal 06:45
ASC_Time_Up_Late {setTimeUp('Late','EG.Rollo.Esszimmer.Tuer')}
ASC_Time_Up_Late_normal 09:15
ASC_Time_Up_WE_Holiday 07:30
ASC_Up brightness
ASC_Ventilate_Window_Open off
ASC_WindowRec HmIP_MOD_RC8_1_3:state2
ASC_WindowRec_subType threestate
DbLogExclude .*
IOgrp VCCU:HM_LAN_TCP
alias EG Esszimmer Tür
autoReadReg 0_off
commStInCh off
devStateIcon stop.auf:fts_shutter_10@#B3002B:noFhemwebLink stop.zu:fts_shutter_100@#1f943f:noFhemwebLink stop.9\d.*:fts_shutter_10@#B3002B:noFhemwebLink stop.8\d.*:fts_shutter_20@#B3002B:noFhemwebLink stop.7\d.*:fts_shutter_30@B3002B:noFhemwebLink stop.6\d.*:fts_shutter_40@#B3002B:noFhemwebLink stop.5\d.*:fts_shutter_50@#B3002B:noFhemwebLink stop.4\d.*:fts_shutter_60@#B3002B:noFhemwebLink stop.3\d.*:fts_shutter_70@#B3002B:noFhemwebLink stop.2\d.*:fts_shutter_80@#B3002B:noFhemwebLink stop.1\d.*:fts_shutter_90@#B3002B:noFhemwebLink stop.0\d.*:fts_shutter_100:noFhemwebLink up.*:fts_shutter_up@#B3002B:noFhemwebLink down.*:fts_shutter_down@#B3002B:noFhemwebLink
event-on-change-reading .*
eventMap off:zu on:auf
expert defReg,allReg
firmware 2.11
genericDeviceType blind
group Rollos EG
icon bilder/HM-lc-bi1pbu-fm
model HM-LC-BL1PBU-FM
peerIDs 00000000,5E440701,5E440702
room 1.EG
serialNr OEQ1310443
siriName Rollo Esszimmertür
sortby g
stateFormat motor
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_beforeDayOpen ASC_BlockingTime_beforeNightClose 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_CommandTemplate ASC_Down:time,astro,brightness,roommate ASC_DriveUpMaxDuration ASC_Drive_Delay ASC_Drive_DelayStart ASC_ExternalTrigger ASC_Ferien:0,1 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_Shift:0,1 ASC_Shutter_IdleDetection ASC_ShuttersPlace:window,terrace,awning,EG_window 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_Early_Ferien ASC_Time_Up_Early_Shift ASC_Time_Up_Early_normal ASC_Time_Up_Late ASC_Time_Up_Late_Ferien ASC_Time_Up_Late_Shift ASC_Time_Up_Late_normal 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 room_map structexclude
webCmd auf:zu:stop:pct
Internals:
DEF 00145D89969E97:3
FUUID 62868730-f33f-c561-eb5a-dc168988f4578aa5
IODev piVCCU_ccu3
NAME HmIP_MOD_RC8_1_3
NR 426
STATE closed
TYPE HMCCUCHN
ccuaddr 00145D89969E97:3
ccudevstate active
ccuif HmIP-RF
ccuname HmIP_MOD_RC8_1:3
ccurolestate KEY_TRANSCEIVER
ccusubtype MOD-RC8
ccutype HmIP-MOD-RC8
chntype ?
firmware 1.0.5
readonly no
OLDREADINGS:
READINGS:
2022-05-25 08:58:05 activity alive
2022-05-25 08:58:05 battery ok
2022-05-25 08:58:05 devstate ok
2022-05-25 08:58:05 hmstate false
2022-05-25 08:58:05 rssidevice -57
2022-05-25 08:50:59 rssipeer N/A
2022-05-25 08:58:05 state false
2022-05-25 08:58:05 state2 closed
2022-05-25 08:58:05 voltage 6.0
hmccu:
channels 1
detect 1
devspec 00145D89969E97:3
nodefaults 1
role 3:KEY_TRANSCEIVER
setDefaults 0
cmdlist:
get
set
control:
dp:
0.ARR_TIMEOUT:
MASTER:
NVAL 10
ONVAL 10
OSVAL 10
OVAL 10
SVAL 10
VAL 10
VALUES:
0.CONFIG_PENDING:
VALUES:
NVAL 0
ONVAL 0
OSVAL false
OVAL 0
SVAL false
VAL 0
0.CYCLIC_INFO_MSG:
MASTER:
NVAL 0
ONVAL 0
OSVAL 0
OVAL 0
SVAL 0
VAL 0
VALUES:
0.CYCLIC_INFO_MSG_DIS:
MASTER:
NVAL 20
ONVAL 20
OSVAL 20
OVAL 20
SVAL 20
VAL 20
VALUES:
0.CYCLIC_INFO_MSG_DIS_UNCHANGED:
MASTER:
NVAL 0
ONVAL 0
OSVAL 0
OVAL 0
SVAL 0
VAL 0
VALUES:
0.CYCLIC_INFO_MSG_OVERDUE_THRESHOLD:
MASTER:
NVAL 2
ONVAL 2
OSVAL 2
OVAL 2
SVAL 2
VAL 2
VALUES:
0.DUTYCYCLE_LIMIT:
MASTER:
NVAL 180
ONVAL 180
OSVAL 180
OVAL 180
SVAL 180
VAL 180
VALUES:
0.DUTY_CYCLE:
VALUES:
NVAL 0
ONVAL 0
OSVAL false
OVAL 0
SVAL false
VAL 0
0.ENABLE_ROUTING:
MASTER:
NVAL 1
ONVAL 1
OSVAL 1
OVAL 1
SVAL 1
VAL 1
VALUES:
0.INSTALL_TEST:
VALUES:
NVAL true
ONVAL true
OSVAL true
OVAL true
SVAL true
VAL true
0.LOCAL_RESET_DISABLED:
MASTER:
NVAL 0
ONVAL 0
OSVAL 0
OVAL 0
SVAL 0
VAL 0
VALUES:
0.LOW_BAT:
VALUES:
NVAL 0
ONVAL 0
OSVAL ok
OVAL 0
SVAL ok
VAL 0
0.LOW_BAT_LIMIT:
MASTER:
NVAL 2.2
ONVAL 2.2
OSVAL 2.2
OVAL 2.2
SVAL 2.2
VAL 2.2
VALUES:
0.OPERATING_VOLTAGE:
VALUES:
NVAL 6.0
ONVAL 6.0
OSVAL 6.0
OVAL 6.0
SVAL 6.0
VAL 6.0
0.OPERATING_VOLTAGE_STATUS:
VALUES:
NVAL 0
ONVAL 0
OSVAL NORMAL
OVAL 0
SVAL NORMAL
VAL 0
0.RSSI_DEVICE:
VALUES:
NVAL -57
ONVAL -57
OSVAL -57
OVAL -57
SVAL -57
VAL -57
0.RSSI_PEER:
VALUES:
NVAL N/A
ONVAL N/A
OSVAL N/A
OVAL 0
SVAL N/A
VAL 0
0.UNREACH:
VALUES:
NVAL 0
ONVAL 0
OSVAL alive
OVAL 0
SVAL alive
VAL 0
0.UPDATE_PENDING:
VALUES:
NVAL false
ONVAL false
OSVAL false
OVAL false
SVAL false
VAL false
3.CHANNEL_OPERATION_MODE:
MASTER:
NVAL 3
ONVAL 3
OSVAL 3
OVAL 3
SVAL 3
VAL 3
VALUES:
3.DBL_PRESS_TIME:
MASTER:
NVAL 0.0
ONVAL 0.0
OSVAL 0.0
OVAL 0.0
SVAL 0.0
VAL 0.0
VALUES:
3.LED_DISABLE_CHANNELSTATE:
MASTER:
NVAL 0
ONVAL 0
OSVAL 0
OVAL 0
SVAL 0
VAL 0
VALUES:
3.LONG_PRESS_TIME:
MASTER:
NVAL 0.4
ONVAL 0.4
OSVAL 0.4
OVAL 0.4
SVAL 0.4
VAL 0.4
VALUES:
3.MSG_FOR_POS_A:
MASTER:
NVAL 2
ONVAL 2
OSVAL 2
OVAL 2
SVAL 2
VAL 2
VALUES:
3.MSG_FOR_POS_B:
MASTER:
NVAL 1
ONVAL 1
OSVAL 1
OVAL 1
SVAL 1
VAL 1
VALUES:
3.MSG_FOR_POS_C:
MASTER:
NVAL 0
ONVAL 0
OSVAL 0
OVAL 0
SVAL 0
VAL 0
VALUES:
3.MSG_FOR_POS_D:
MASTER:
NVAL 0
ONVAL 0
OSVAL 0
OVAL 0
SVAL 0
VAL 0
VALUES:
3.REPEATED_LONG_PRESS_TIMEOUT_UNIT:
MASTER:
NVAL 2
ONVAL 2
OSVAL 2
OVAL 2
SVAL 2
VAL 2
VALUES:
3.REPEATED_LONG_PRESS_TIMEOUT_VALUE:
MASTER:
NVAL 2
ONVAL 2
OSVAL 2
OVAL 2
SVAL 2
VAL 2
VALUES:
3.STATE:
VALUES:
NVAL 0
ONVAL 0
OSVAL false
OVAL 0
SVAL false
VAL 0
roleCmds:
get:
set:
state:
chn 3
dpt PRESS_SHORT
Attributes:
DbLogExclude .*
alias EG Esszimmertür auf/zu
ccureadingfilter .*
ccureadingformat datapointlc
devStateIcon open:fts_window_1w_open@#b3002d closed:fts_window_1w@#1f943f tilted:fts_window_1w_tilt@#ff8000
event-on-update-reading .*
eventMap false:closed true:open
icon bilder/HM-mod-em-8
room 0.0 Test->HmIP-MOD-RC8
stateFormat state2
substitute state!(1|true):open,(0|false):closed
userReadings state2:(true|false) {return 'closed' if $event=~m{false}; fhem("sleep 1 quiet; setreading HmIP_MOD_RC8_1_3 state2 {(ReadingsVal('HmIP_MOD_RC8_1_3','state','true') eq 'false' ? 'closed' : ReadingsVal('HmIP_MOD_RC8_1_4','state','true') eq 'false' ? 'open' : 'tilted')}")}
wäre echt toll wenn sich das bitte nochmal jemand anschauen würde.
Besten Dank
Zitat von: ms_steini am 25 Mai 2022, 09:10:30
wäre echt toll wenn sich das bitte nochmal jemand anschauen würde.
Vermutlich wird CoolTux oder ein anderer wirklich über das ASC-Modul Bescheid Wissender nicht unter diesem Thread-Titel Nachfrage zu ASC erwarten...
Ggf. kannst du ja selbst checken, was
{ ascAPIget('WinStatus','EG.Rollo.Esszimmer.Tuer') }
bei verschiedenen Stellungen deines zusammengefassten Sensors so liefert und damit dann einen neuen Thread starten...
vielen Dank....
{ ascAPIget('WinStatus','EG.Rollo.Esszimmer.Tuer') }
liefert schon die richtigen Werte (close|open|tilted) aber das Rollo fährt bei "open" trozdem runter...
Ich mache einen neuen Thread mit [ASC]..... auf
...bitte dann jeweils noch den Fahrgrund mit angeben (bzw. vorher mal ansehen)...
Mir kommt die Beschreibung von "terrace" so vor, als wäre da vermeintlich ein RESIDENT gone, weswegen dann self-defence zuschlägt.