Hallo zusammen,
ich komme nicht mehr weiter. Mein Plan ist, dass die Rollo´s im Schlaf- und Kinderzimmer in der Zeit vom 09:00 bis 17:00 Uhr runterfahren, wenn die Temperaturvorhersage > 24 Grad sind. Runter fahren die Rollo´s um 9:00 Uhr nur leider nicht mehr hoch. Es ist mein erster DOIF versuch. Anbei das DOIF List und die DEF
Internals:
DEF ([Beschattung.Automatik] eq "on" and [Wetter:condition] eq "sonnig" or [Wetter:condition] eq "heiter" and [Wetter:fc1_high_c] > 24 and [09:17-17:00]) (set SZ.Rollo 0,set KZ.Rollo 0)
NAME BeschattungOnOff
NR 239
NTFY_ORDER 50-BeschattungOnOff
STATE cmd_2
TYPE DOIF
Readings:
2015-06-10 20:16:28 cmd_event Beschattung.Automatik
2015-06-10 20:16:28 cmd_nr 2
2015-06-10 20:16:28 e_Beschattung.Automatik_STATE off
2015-06-11 19:24:11 e_Wetter_condition überwiegend wolkig
2015-06-11 19:24:11 e_Wetter_fc1_high_c 21
2015-06-10 20:16:28 state cmd_2
2015-06-11 19:14:16 timer_1_c1 12.06.2015 09:17:00
2015-06-11 19:14:16 timer_2_c1 12.06.2015 17:00:00
Condition:
0 InternalDoIf('Beschattung.Automatik','STATE','') eq "on" and ReadingValDoIf('Wetter','condition','') eq "sonnig" or ReadingValDoIf('Wetter','condition','') eq "heiter" and ReadingValDoIf('Wetter','fc1_high_c','') > 24 and DOIF_time($hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"")
Days:
Devices:
0 Beschattung.Automatik Wetter
all Beschattung.Automatik Wetter
Do:
0 set SZ.Rollo 0,set KZ.Rollo 0
Helper:
last_timer 2
sleeptimer -1
Internals:
0 Beschattung.Automatik:STATE
all Beschattung.Automatik:STATE
Itimer:
Readings:
0 Wetter:condition Wetter:fc1_high_c
all Wetter:condition Wetter:fc1_high_c
Realtime:
0 09:17:00
1 17:00:00
State:
Time:
0 09:17:00
1 17:00:00
Timecond:
0 0
1 0
Timer:
0 0
1 0
Timerfunc:
Timers:
0 0 1
Trigger:
Attributes:
group DOIF
room Automatik
([Beschattung.Automatik] eq "on" and [Wetter:condition] eq "sonnig" or [Wetter:condition] eq "heiter" and [Wetter:fc1_high_c] > 24 and [09:00-17:00]) (set SZ.Rollo 0,set KZ.Rollo 0)
Ich bin der Meinung es fehlt ein set Rollo 100, aber ich weiß nicht wie ich es einbauen muss. Mein erster Versuch mit einem DOELSE set Rollo 100 ist gescheitert, das Rollo ist nicht wie gewünscht um 17 Uhr hoch gegangen sondern mitten in der Nacht.
Vielen Dank.
Ganz einfach hinter den ganzen kram mit einem DOELSE oder einem DOELSEIF = was soll das ding machen wenn deine IFs nicht gegeben sind...
schau auch mal in die Comandref!
... und bei den AND und OR solltest Du auch mal die Klammern gescheit setzen.
Gut, dann muss ich mir mal Gedanken über ein DOELSE machen.
Sorry Ralli, ich steh mit den Klammern gerade auf dem Schlauch... Könntest du mir einen Tip geben? Wie gesagt, mein erster DOIF Versuch.
([?Beschattung.Automatik] eq "on" and (([Wetter:condition] eq "sonnig" or [Wetter:condition] eq "heiter") and [Wetter:fc1_high_c] > 24 and [09:00-17:00])) (set SZ.Rollo 0,set KZ.Rollo 0) \
DOELSEIF ([17:01-08:59] and [?Beschattung.Automatik] eq "on") (set SZ.Rollo 100,set KZ.Rollo 100)
Danke Ralli, werd ich nachher mal testen. Welche Auswirkung hat das DOELSEIF auf die normale Rolloschaltung? Die Rollos gehen um 19:00 Uhr runter und um 07:00 Uhr hoch.
Nicht gleich prügeln. Was bewirkt das ? vor dem Dummy?
Zitat von: skuggy am 12 Juni 2015, 08:31:26
Danke Ralli, werd ich nachher mal testen. Welche Auswirkung hat das DOELSEIF auf die normale Rolloschaltung? Die Rollos gehen um 19:00 Uhr runter und um 07:00 Uhr hoch.
Nicht gleich prügeln. Was bewirkt das ? vor dem Dummy?
Das steht doch alles in der CommandRef was das bedeutet...
Die Wetterdaten von Google sind nicht so genau. Ist nur ein grober Richtwert.
Ich frage über Twilight den Sonnenstand (Azimuth) ab, und wenn die Temperaturspreizung meiner beiden Aussensensoren > 5°C ist, weiss ich das bei mir zuhause die Sonne scheint, und die Rollos fahren in die Beschattungsposition.
(([myT:azimuth] > 120 and [myT:azimuth] < 234)
and [RolloSeite:state] eq "on"
and [myT:elevation] > 44
and [TempDiff:state:d] > 5
and [TempDach:state:d] > 23
and [BeschattungEinAus:state] eq "on")
(set RolloSeite off-for-timer 8, set PushiPhone message SchattenSeite Start)
DOELSEIF ([myT:azimuth] > 234
and [RolloSeite:state] eq "off-for-timer 8")
(set RolloSeite on, set PushiPhone message SchattenSeite Ende)
Mangels Aussensenoren muss ich auf die Wetterdaten zurückgreifen.
CommandRef gelesen, leider noch nicht verstanden. Aller Anfang ist schwer :-)
Zitat von: skuggy am 12 Juni 2015, 09:21:44
Mangels Aussensenoren muss ich auf die Wetterdaten zurückgreifen.
CommandRef gelesen, leider noch nicht verstanden. Aller Anfang ist schwer :-)
Hallo skuggy
Könntest du Folgendes posten:
Wenn das Rollo unten und oben ist, je ein:
list SZ.Rollo
Ich nehme an, die Geräte SZ.Rollo und KZ.Rollo sind gleich.
Gruss
flurin
Klar, kann ich gern machen.
Wann soll ich das list machen? Wenn das Rollo mit dem DOIF runter bzw. hochfährt oder soll ich es einfach manuel runter und hoch machen?
Zitat von: skuggy am 12 Juni 2015, 10:56:31
Klar, kann ich gern machen.
Wann soll ich das list machen? Wenn das Rollo mit dem DOIF runter bzw. hochfährt oder soll ich es einfach manuel runter und hoch machen?
Wie das Rollo gesteuert wird, ist irrelevant. Es geht um die Readings in den Endpositionen (state, pct usw.)
So hier die 2 list Auswertungen:
1. geschlossen
DEF 1959C0
HMLAN1_MSGCNT 28
HMLAN1_RAWMSG E1959C0,0000,81432AC1,FF,FFBE,43A4101959C026F7F806010000
HMLAN1_RSSI -66
HMLAN1_TIME 2015-06-13 19:16:11
IODev HMLAN1
LASTInputDev HMLAN1
MSGCNT 28
NAME SZ.Rollo
NR 180
STATE runter
TYPE CUL_HM
lastMsg No:43 - t:10 s:1959C0 d:26F7F8 06010000
peerList self01,self02,
protLastRcv 2015-06-13 19:16:11
protSnd 28 last_at:2015-06-13 19:16:11
protState CMDs_done
rssi_HMLAN1 avg:-63.66 min:-68 max:-61 lst:-61 cnt:6
rssi_at_HMLAN1 avg:-65.28 min:-77 max:-61 lst:-66 cnt:28
Readings:
2015-06-13 18:55:00 CommandAccepted yes
2015-05-01 09:57:47 D-firmware 2.1
2015-05-01 09:57:47 D-serialNr
2015-05-01 09:57:58 PairedTo 0x26F7F8
2015-05-01 09:57:58 R-confBtnTime permanent
2015-05-01 09:57:59 R-driveDown 16 s
2015-05-01 09:57:59 R-driveTurn 0.5 s
2015-05-01 09:57:59 R-driveUp 16 s
2015-05-01 09:57:58 R-intKeyVisib visib
2015-05-01 09:57:58 R-pairCentral 0x26F7F8
2015-05-01 09:57:59 R-refRunCounter 5
2015-05-01 09:58:01 R-self01-lgActionType jmpToTarget
2015-05-01 09:58:01 R-self01-lgBlJtDlyOff refOff
2015-05-01 09:58:01 R-self01-lgBlJtDlyOn dlyOff
2015-05-01 09:58:01 R-self01-lgBlJtOff dlyOff
2015-05-01 09:58:01 R-self01-lgBlJtOn dlyOff
2015-05-01 09:58:01 R-self01-lgBlJtRampOff rampOff
2015-05-01 09:58:01 R-self01-lgBlJtRampOn on
2015-05-01 09:58:01 R-self01-lgBlJtRefOff rampOff
2015-05-01 09:58:01 R-self01-lgBlJtRefOn on
2015-05-01 09:58:01 R-self01-lgCtDlyOff geLo
2015-05-01 09:58:01 R-self01-lgCtDlyOn geLo
2015-05-01 09:58:01 R-self01-lgCtOff geLo
2015-05-01 09:58:01 R-self01-lgCtOn geLo
2015-05-01 09:58:01 R-self01-lgCtRampOff geLo
2015-05-01 09:58:01 R-self01-lgCtRampOn geLo
2015-05-01 09:58:01 R-self01-lgCtRefOff geLo
2015-05-01 09:58:01 R-self01-lgCtRefOn geLo
2015-05-01 09:58:01 R-self01-lgCtValHi 100
2015-05-01 09:58:01 R-self01-lgCtValLo 50
2015-05-01 09:58:01 R-self01-lgDriveMode direct
2015-05-01 09:58:01 R-self01-lgMaxTimeF 0.5 s
2015-05-01 09:58:01 R-self01-lgMultiExec on
2015-05-01 09:58:01 R-self01-lgOffDly 0 s
2015-05-01 09:58:01 R-self01-lgOffLevel 0 %
2015-05-01 09:58:01 R-self01-lgOffTime unused
2015-05-01 09:58:01 R-self01-lgOffTimeMode absolut
2015-05-01 09:58:01 R-self01-lgOnDly 0 s
2015-05-01 09:58:01 R-self01-lgOnLevel 100 %
2015-05-01 09:58:01 R-self01-lgOnTime unused
2015-05-01 09:58:01 R-self01-lgOnTimeMode absolut
2015-05-01 09:58:01 R-self01-shActionType jmpToTarget
2015-05-01 09:58:01 R-self01-shBlJtDlyOff refOff
2015-05-01 09:58:01 R-self01-shBlJtDlyOn dlyOff
2015-05-01 09:58:01 R-self01-shBlJtOff dlyOff
2015-05-01 09:58:01 R-self01-shBlJtOn dlyOff
2015-05-01 09:58:01 R-self01-shBlJtRampOff rampOff
2015-05-01 09:58:01 R-self01-shBlJtRampOn on
2015-05-01 09:58:01 R-self01-shBlJtRefOff rampOff
2015-05-01 09:58:01 R-self01-shBlJtRefOn on
2015-05-01 09:58:01 R-self01-shCtDlyOff geLo
2015-05-01 09:58:01 R-self01-shCtDlyOn geLo
2015-05-01 09:58:01 R-self01-shCtOff geLo
2015-05-01 09:58:01 R-self01-shCtOn geLo
2015-05-01 09:58:01 R-self01-shCtRampOff geLo
2015-05-01 09:58:01 R-self01-shCtRampOn geLo
2015-05-01 09:58:01 R-self01-shCtRefOff geLo
2015-05-01 09:58:01 R-self01-shCtRefOn geLo
2015-05-01 09:58:01 R-self01-shCtValHi 100
2015-05-01 09:58:01 R-self01-shCtValLo 50
2015-05-01 09:58:01 R-self01-shDriveMode direct
2015-05-01 09:58:01 R-self01-shMaxTimeF unused
2015-05-01 09:58:01 R-self01-shOffDly 0 s
2015-05-01 09:58:01 R-self01-shOffLevel 0 %
2015-05-01 09:58:01 R-self01-shOffTime unused
2015-05-01 09:58:01 R-self01-shOffTimeMode absolut
2015-05-01 09:58:01 R-self01-shOnDly 0 s
2015-05-01 09:58:01 R-self01-shOnLevel 100 %
2015-05-01 09:58:01 R-self01-shOnTime unused
2015-05-01 09:58:01 R-self01-shOnTimeMode absolut
2015-05-01 09:58:02 R-self02-lgActionType jmpToTarget
2015-05-01 09:58:02 R-self02-lgBlJtDlyOff dlyOn
2015-05-01 09:58:02 R-self02-lgBlJtDlyOn refOn
2015-05-01 09:58:02 R-self02-lgBlJtOff dlyOn
2015-05-01 09:58:02 R-self02-lgBlJtOn dlyOn
2015-05-01 09:58:02 R-self02-lgBlJtRampOff off
2015-05-01 09:58:02 R-self02-lgBlJtRampOn rampOn
2015-05-01 09:58:02 R-self02-lgBlJtRefOff off
2015-05-01 09:58:02 R-self02-lgBlJtRefOn rampOn
2015-05-01 09:58:02 R-self02-lgCtDlyOff geLo
2015-05-01 09:58:02 R-self02-lgCtDlyOn geLo
2015-05-01 09:58:02 R-self02-lgCtOff geLo
2015-05-01 09:58:02 R-self02-lgCtOn geLo
2015-05-01 09:58:02 R-self02-lgCtRampOff geLo
2015-05-01 09:58:02 R-self02-lgCtRampOn geLo
2015-05-01 09:58:02 R-self02-lgCtRefOff geLo
2015-05-01 09:58:02 R-self02-lgCtRefOn geLo
2015-05-01 09:58:02 R-self02-lgCtValHi 100
2015-05-01 09:58:02 R-self02-lgCtValLo 50
2015-05-01 09:58:02 R-self02-lgDriveMode direct
2015-05-01 09:58:02 R-self02-lgMaxTimeF 0.4 s
2015-05-01 09:58:02 R-self02-lgMultiExec on
2015-05-01 09:58:02 R-self02-lgOffDly 0 s
2015-05-01 09:58:02 R-self02-lgOffLevel 0 %
2015-05-01 09:58:02 R-self02-lgOffTime unused
2015-05-01 09:58:02 R-self02-lgOffTimeMode absolut
2015-05-01 09:58:02 R-self02-lgOnDly 0 s
2015-05-01 09:58:02 R-self02-lgOnLevel 100 %
2015-05-01 09:58:02 R-self02-lgOnTime unused
2015-05-01 09:58:02 R-self02-lgOnTimeMode absolut
2015-05-01 09:58:02 R-self02-shActionType jmpToTarget
2015-05-01 09:58:02 R-self02-shBlJtDlyOff dlyOn
2015-05-01 09:58:02 R-self02-shBlJtDlyOn refOn
2015-05-01 09:58:02 R-self02-shBlJtOff dlyOn
2015-05-01 09:58:02 R-self02-shBlJtOn dlyOn
2015-05-01 09:58:02 R-self02-shBlJtRampOff off
2015-05-01 09:58:02 R-self02-shBlJtRampOn rampOn
2015-05-01 09:58:02 R-self02-shBlJtRefOff off
2015-05-01 09:58:02 R-self02-shBlJtRefOn rampOn
2015-05-01 09:58:02 R-self02-shCtDlyOff geLo
2015-05-01 09:58:02 R-self02-shCtDlyOn geLo
2015-05-01 09:58:02 R-self02-shCtOff geLo
2015-05-01 09:58:02 R-self02-shCtOn geLo
2015-05-01 09:58:02 R-self02-shCtRampOff geLo
2015-05-01 09:58:02 R-self02-shCtRampOn geLo
2015-05-01 09:58:02 R-self02-shCtRefOff geLo
2015-05-01 09:58:02 R-self02-shCtRefOn geLo
2015-05-01 09:58:02 R-self02-shCtValHi 100
2015-05-01 09:58:02 R-self02-shCtValLo 50
2015-05-01 09:58:02 R-self02-shDriveMode direct
2015-05-01 09:58:02 R-self02-shMaxTimeF unused
2015-05-01 09:58:02 R-self02-shOffDly 0 s
2015-05-01 09:58:02 R-self02-shOffLevel 0 %
2015-05-01 09:58:02 R-self02-shOffTime unused
2015-05-01 09:58:02 R-self02-shOffTimeMode absolut
2015-05-01 09:58:02 R-self02-shOnDly 0 s
2015-05-01 09:58:02 R-self02-shOnLevel 100 %
2015-05-01 09:58:02 R-self02-shOnTime unused
2015-05-01 09:58:02 R-self02-shOnTimeMode absolut
2015-05-01 09:57:59 R-sign off
2015-05-01 09:57:58 RegL_00: 02:81 0A:26 0B:F7 0C:F8 15:FF 00:00
2015-05-01 09:57:59 RegL_01: 08:00 09:00 0A:00 0B:00 0C:A0 0D:00 0E:A0 0F:05 10:05 00:00
2015-05-01 09:58:01 RegL_03:self01 01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:44 0C:54 0D:93 0E:00 0F:00 11:C8 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 1A:00 1B:00 1C:00 1D:FF 1E:93 1F:00 81:00 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:44 8C:54 8D:93 8E:00 8F:00 91:C8 92:00 93:00 94:00 95:00 96:00 97:00 98:00 99:00 9A:00 9B:00 9C:00 9D:05 9E:93 9F:00 00:00
2015-05-01 09:58:02 RegL_03:self02 01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:11 0C:12 0D:68 0E:00 0F:00 11:C8 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 1A:00 1B:00 1C:00 1D:FF 1E:68 1F:00 81:00 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:11 8C:12 8D:68 8E:00 8F:00 91:C8 92:00 93:00 94:00 95:00 96:00 97:00 98:00 99:00 9A:00 9B:00 9C:00 9D:04 9E:68 9F:00 00:00
2015-06-13 19:16:11 deviceMsg off (to vccu)
2015-06-13 19:16:11 level 0
2015-06-13 19:16:11 motor stop:off
2015-06-13 19:16:11 pct 0
2015-06-11 20:10:04 peerList self01,self02,
2015-06-13 19:16:11 recentStateType info
2015-06-13 19:16:11 state off
2015-06-13 19:16:11 timedOn off
Helper:
cSnd 1126F7F81959C00201000000,1126F7F81959C00201000000
dlvlCmd ++A01126F7F81959C00201000000
mId 006A
rxType 1
Dir:
cur stop
rct down
Io:
newChn +1959C0,00,01,00
nextSend 1434215771.69718
prefIO
rxt 0
vccu
p:
1959C0
00
01
00
Mrssi:
mNo 43
Io:
HMLAN1 -64
Prt:
bErr 0
sProc 0
Rspwait:
Q:
qReqConf
qReqStat
Role:
chn 1
dev 1
prs 1
Rpt:
IO HMLAN1
flg A
ts 1434215771.6102
ack:
HASH(0x2d56f60)
43800226F7F81959C000
Rssi:
Hmlan1:
avg -63.6666666666667
cnt 6
lst -61
max -61
min -68
At_hmlan1:
avg -65.2857142857143
cnt 28
lst -66
max -61
min -77
Attributes:
IODev HMLAN1
autoReadReg 4_reqStatus
devStateIcon runter:shutter_closed 0:shutter_closed hoch:shutter_open 100:shutter_open .*:shutter_halfopen
eventMap on:hoch 20:schatten 60:halb off:runter stop:stop
expert 2_full
firmware 2.1
group Rolladen
model HM-LC-Bl1PBU-FM
peerIDs 00000000,1959C001,1959C002,
room Schlafzimmer
serialNr
subType blindActuator
webCmd pct:hoch:schatten:halb:runter:stop
2. geschlossen, ist zwar das WohnzimmerRollo, sind aber beide gleich
DEF 28FF5C
HMLAN1_MSGCNT 14
HMLAN1_RAWMSG E28FF5C,0000,7EBC9D0E,FF,FFC7,35A41028FF5C26F7F80601C800
HMLAN1_RSSI -57
HMLAN1_TIME 2015-06-13 07:30:04
IODev HMLAN1
LASTInputDev HMLAN1
MSGCNT 14
NAME WZ.Rollo.rechts
NR 74
STATE hoch
TYPE CUL_HM
lastMsg No:35 - t:10 s:28FF5C d:26F7F8 0601C800
peerList self01,self02,
protLastRcv 2015-06-13 07:30:04
protSnd 14 last_at:2015-06-13 07:30:04
protState CMDs_done
rssi_HMLAN1 avg:-58.2 min:-59 max:-57 lst:-58 cnt:5
rssi_at_HMLAN1 avg:-56 min:-58 max:-55 lst:-57 cnt:14
Readings:
2015-06-13 07:30:01 CommandAccepted yes
2015-04-15 19:39:05 D-firmware 2.3
2015-04-15 19:39:05 D-serialNr
2015-04-15 19:57:22 PairedTo 0x26F7F8
2015-04-15 19:39:16 R-confBtnTime permanent
2015-04-15 19:57:23 R-driveDown 16 s
2015-04-15 19:39:17 R-driveTurn 0.5 s
2015-04-15 19:39:17 R-driveUp 17.5 s
2015-04-15 19:39:16 R-intKeyVisib visib
2015-04-15 19:39:16 R-localResDis off
2015-04-15 19:39:16 R-pairCentral 0x26F7F8
2015-04-15 19:39:19 R-self01-lgActionType jmpToTarget
2015-04-15 19:39:19 R-self01-lgBlJtDlyOff refOff
2015-04-15 19:39:19 R-self01-lgBlJtDlyOn dlyOff
2015-04-15 19:39:19 R-self01-lgBlJtOff dlyOff
2015-04-15 19:39:19 R-self01-lgBlJtOn dlyOff
2015-04-15 19:39:19 R-self01-lgBlJtRampOff rampOff
2015-04-15 19:39:19 R-self01-lgBlJtRampOn on
2015-04-15 19:39:19 R-self01-lgBlJtRefOff rampOff
2015-04-15 19:39:19 R-self01-lgBlJtRefOn on
2015-04-15 19:39:19 R-self01-lgCtDlyOff geLo
2015-04-15 19:39:19 R-self01-lgCtDlyOn geLo
2015-04-15 19:39:19 R-self01-lgCtOff geLo
2015-04-15 19:39:19 R-self01-lgCtOn geLo
2015-04-15 19:39:19 R-self01-lgCtRampOff geLo
2015-04-15 19:39:19 R-self01-lgCtRampOn geLo
2015-04-15 19:39:19 R-self01-lgCtRefOff geLo
2015-04-15 19:39:19 R-self01-lgCtRefOn geLo
2015-04-15 19:39:19 R-self01-lgCtValHi 100
2015-04-15 19:39:19 R-self01-lgCtValLo 50
2015-04-15 19:39:19 R-self01-lgDriveMode direct
2015-04-15 19:39:19 R-self01-lgMaxTimeF 0.4 s
2015-04-15 19:39:19 R-self01-lgMultiExec on
2015-04-15 19:39:19 R-self01-lgOffDly 0 s
2015-04-15 19:39:19 R-self01-lgOffLevel 0 %
2015-04-15 19:39:19 R-self01-lgOffTime unused
2015-04-15 19:39:19 R-self01-lgOffTimeMode absolut
2015-04-15 19:39:19 R-self01-lgOnDly 0 s
2015-04-15 19:39:19 R-self01-lgOnLevel 100 %
2015-04-15 19:39:19 R-self01-lgOnTime unused
2015-04-15 19:39:19 R-self01-lgOnTimeMode absolut
2015-04-15 19:39:19 R-self01-shActionType jmpToTarget
2015-04-15 19:39:19 R-self01-shBlJtDlyOff refOff
2015-04-15 19:39:19 R-self01-shBlJtDlyOn dlyOff
2015-04-15 19:39:19 R-self01-shBlJtOff dlyOff
2015-04-15 19:39:19 R-self01-shBlJtOn dlyOff
2015-04-15 19:39:19 R-self01-shBlJtRampOff rampOff
2015-04-15 19:39:19 R-self01-shBlJtRampOn on
2015-04-15 19:39:19 R-self01-shBlJtRefOff rampOff
2015-04-15 19:39:19 R-self01-shBlJtRefOn on
2015-04-15 19:39:19 R-self01-shCtDlyOff geLo
2015-04-15 19:39:19 R-self01-shCtDlyOn geLo
2015-04-15 19:39:19 R-self01-shCtOff geLo
2015-04-15 19:39:19 R-self01-shCtOn geLo
2015-04-15 19:39:19 R-self01-shCtRampOff geLo
2015-04-15 19:39:19 R-self01-shCtRampOn geLo
2015-04-15 19:39:19 R-self01-shCtRefOff geLo
2015-04-15 19:39:19 R-self01-shCtRefOn geLo
2015-04-15 19:39:19 R-self01-shCtValHi 100
2015-04-15 19:39:19 R-self01-shCtValLo 50
2015-04-15 19:39:19 R-self01-shDriveMode direct
2015-04-15 19:39:19 R-self01-shMaxTimeF unused
2015-04-15 19:39:19 R-self01-shOffDly 0 s
2015-04-15 19:39:19 R-self01-shOffLevel 0 %
2015-04-15 19:39:19 R-self01-shOffTime unused
2015-04-15 19:39:19 R-self01-shOffTimeMode absolut
2015-04-15 19:39:19 R-self01-shOnDly 0 s
2015-04-15 19:39:19 R-self01-shOnLevel 100 %
2015-04-15 19:39:19 R-self01-shOnTime unused
2015-04-15 19:39:19 R-self01-shOnTimeMode absolut
2015-04-15 19:39:20 R-self02-lgActionType jmpToTarget
2015-04-15 19:39:20 R-self02-lgBlJtDlyOff dlyOn
2015-04-15 19:39:20 R-self02-lgBlJtDlyOn refOn
2015-04-15 19:39:20 R-self02-lgBlJtOff dlyOn
2015-04-15 19:39:20 R-self02-lgBlJtOn dlyOn
2015-04-15 19:39:20 R-self02-lgBlJtRampOff off
2015-04-15 19:39:20 R-self02-lgBlJtRampOn rampOn
2015-04-15 19:39:20 R-self02-lgBlJtRefOff off
2015-04-15 19:39:20 R-self02-lgBlJtRefOn rampOn
2015-04-15 19:39:20 R-self02-lgCtDlyOff geLo
2015-04-15 19:39:20 R-self02-lgCtDlyOn geLo
2015-04-15 19:39:20 R-self02-lgCtOff geLo
2015-04-15 19:39:20 R-self02-lgCtOn geLo
2015-04-15 19:39:20 R-self02-lgCtRampOff geLo
2015-04-15 19:39:20 R-self02-lgCtRampOn geLo
2015-04-15 19:39:20 R-self02-lgCtRefOff geLo
2015-04-15 19:39:20 R-self02-lgCtRefOn geLo
2015-04-15 19:39:20 R-self02-lgCtValHi 100
2015-04-15 19:39:20 R-self02-lgCtValLo 50
2015-04-15 19:39:20 R-self02-lgDriveMode direct
2015-04-15 19:39:20 R-self02-lgMaxTimeF 0.4 s
2015-04-15 19:39:20 R-self02-lgMultiExec on
2015-04-15 19:39:20 R-self02-lgOffDly 0 s
2015-04-15 19:39:20 R-self02-lgOffLevel 0 %
2015-04-15 19:39:20 R-self02-lgOffTime unused
2015-04-15 19:39:20 R-self02-lgOffTimeMode absolut
2015-04-15 19:39:20 R-self02-lgOnDly 0 s
2015-04-15 19:39:20 R-self02-lgOnLevel 100 %
2015-04-15 19:39:20 R-self02-lgOnTime unused
2015-04-15 19:39:20 R-self02-lgOnTimeMode absolut
2015-04-15 19:39:20 R-self02-shActionType jmpToTarget
2015-04-15 19:39:20 R-self02-shBlJtDlyOff dlyOn
2015-04-15 19:39:20 R-self02-shBlJtDlyOn refOn
2015-04-15 19:39:20 R-self02-shBlJtOff dlyOn
2015-04-15 19:39:20 R-self02-shBlJtOn dlyOn
2015-04-15 19:39:20 R-self02-shBlJtRampOff off
2015-04-15 19:39:20 R-self02-shBlJtRampOn rampOn
2015-04-15 19:39:20 R-self02-shBlJtRefOff off
2015-04-15 19:39:20 R-self02-shBlJtRefOn rampOn
2015-04-15 19:39:20 R-self02-shCtDlyOff geLo
2015-04-15 19:39:20 R-self02-shCtDlyOn geLo
2015-04-15 19:39:20 R-self02-shCtOff geLo
2015-04-15 19:39:20 R-self02-shCtOn geLo
2015-04-15 19:39:20 R-self02-shCtRampOff geLo
2015-04-15 19:39:20 R-self02-shCtRampOn geLo
2015-04-15 19:39:20 R-self02-shCtRefOff geLo
2015-04-15 19:39:20 R-self02-shCtRefOn geLo
2015-04-15 19:39:20 R-self02-shCtValHi 100
2015-04-15 19:39:20 R-self02-shCtValLo 50
2015-04-15 19:39:20 R-self02-shDriveMode direct
2015-04-15 19:39:20 R-self02-shMaxTimeF unused
2015-04-15 19:39:20 R-self02-shOffDly 0 s
2015-04-15 19:39:20 R-self02-shOffLevel 0 %
2015-04-15 19:39:20 R-self02-shOffTime unused
2015-04-15 19:39:20 R-self02-shOffTimeMode absolut
2015-04-15 19:39:20 R-self02-shOnDly 0 s
2015-04-15 19:39:20 R-self02-shOnLevel 100 %
2015-04-15 19:39:20 R-self02-shOnTime unused
2015-04-15 19:39:20 R-self02-shOnTimeMode absolut
2015-04-15 19:39:17 R-sign off
2015-04-15 19:39:17 R-statusInfoMinDly 2 s
2015-04-15 19:39:17 R-statusInfoRandom 1 s
2015-04-15 19:39:17 R-transmitTryMax 6
2015-04-15 19:57:22 RegL_00: 02:81 0A:26 0B:F7 0C:F8 15:FF 18:00 00:00
2015-04-15 19:57:23 RegL_01: 08:00 09:00 0A:00 0B:00 0C:A0 0D:00 0E:AF 0F:05 10:00 30:06 57:24 00:00
2015-04-15 19:57:25 RegL_03:self01 01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:44 0C:54 0D:93 0E:00 0F:00 11:C8 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 1A:00 1B:00 1C:00 1D:FF 1E:93 1F:00 81:00 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:44 8C:54 8D:93 8E:00 8F:00 91:C8 92:00 93:00 94:00 95:00 96:00 97:00 98:00 99:00 9A:00 9B:00 9C:00 9D:04 9E:93 9F:00 00:00
2015-04-15 19:57:26 RegL_03:self02 01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:11 0C:12 0D:68 0E:00 0F:00 11:C8 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 1A:00 1B:00 1C:00 1D:FF 1E:68 1F:00 81:00 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:11 8C:12 8D:68 8E:00 8F:00 91:C8 92:00 93:00 94:00 95:00 96:00 97:00 98:00 99:00 9A:00 9B:00 9C:00 9D:04 9E:68 9F:00 00:00
2015-06-13 07:30:04 deviceMsg on (to vccu)
2015-04-23 19:47:09 dim stop:on
2015-06-13 07:30:04 level 100
2015-06-13 07:30:04 motor stop:on
2015-04-23 19:47:09 overheat off
2015-04-23 19:47:09 overload off
2015-06-13 07:30:04 pct 100
2015-06-11 20:10:04 peerList self01,self02,
2015-06-13 07:30:04 recentStateType info
2015-04-23 19:47:09 reduced off
2015-06-13 07:30:04 state on
2015-06-13 07:30:04 timedOn off
Helper:
cSnd 1126F7F828FF5C0201000000,1126F7F828FF5C0201C80000
dlvlCmd ++A01126F7F828FF5C0201C80000
mId 006A
rxType 1
Dir:
cur stop
rct up
Io:
newChn +28FF5C,00,01,00
nextSend 1434173404.86622
prefIO
rxt 0
vccu
p:
28FF5C
00
01
00
Mrssi:
mNo 35
Io:
HMLAN1 -55
Prt:
bErr 0
sProc 0
Rspwait:
Q:
qReqConf
qReqStat
Role:
chn 1
dev 1
prs 1
Rpt:
IO HMLAN1
flg A
ts 1434173404.78009
ack:
HASH(0x2b5c3e0)
35800226F7F828FF5C00
Rssi:
Hmlan1:
avg -58.2
cnt 5
lst -58
max -57
min -59
At_hmlan1:
avg -56
cnt 14
lst -57
max -55
min -58
Attributes:
IODev HMLAN1
autoReadReg 4_reqStatus
devStateIcon runter:shutter_closed 0:shutter_closed hoch:shutter_open 100:shutter_open .*:shutter_halfopen
eventMap on:hoch 20:schatten 60:halb off:runter stop:stop
expert 2_full
firmware 2.3
group Rolladen
model HM-LC-Bl1PBU-FM
peerIDs 00000000,28FF5C01,28FF5C02,
room Wohnzimmer
serialNr
subType blindActuator
webCmd pct:hoch:schatten:halb:runter:stop
So würde ich es lösen:
Internals/Readings:
Zustand | geschlossen | offen |
STATE | runter | hoch |
state | off | on |
pct | 0 | 100 |
DOIF für die Wetter-Bedingungen
define di_wcondition DOIF ([?09:00-17:00] and [Wetter:fc1_high_c] > 24
and ([Wetter:condition] eq "sonnig" or [Wetter:condition] eq "heiter"))
attr di_wcondition cmdState on|off
DOIF für die Rollo-Steuerung
define BeschattungOnOff DOIF ([?Beschattung.Automatik] eq "on" and [di_wcondition:?on])
(set SZ.Rollo pct 0, set KZ.Rollo pct 0)
DOELSEIF ([?Beschattung.Automatik] eq "on" and ([di_wcondition:?off] or [17:00]))
(set SZ.Rollo pct 100, set KZ.Rollo pct 100)
Bemerkung:
Gemäss eventMap könnte man auch "set SZ.Rollo runter" bzw. "set SZ.Rollo hoch" verwenden.
Ohne Gerät kann ich es jedoch nicht testen.
Gruss
flurin
Hallo Flurin,
der Ansatz gefällt mir. Leider geht das Rollo nicht runter. Muss ich noch irgendwas einstellen oder reicht es aus die DOIF zu definieren?
Zitat von: skuggy am 14 Juni 2015, 14:03:41
Hallo Flurin,
der Ansatz gefällt mir. Leider geht das Rollo nicht runter. Muss ich noch irgendwas einstellen oder reicht es aus die DOIF zu definieren?
Wenn die DOIFs richtig definiert sind, sollte es funktionieren:
- Teste den Befehl "set SZ.Rollo pct 0" im Eingabefeld, geht das Rollo runter ja/nein?
- Wie ist di_wcondition: on/off?
Bei mir ist es off, weil Wetter:condition = mostly cloudy (überwiegend wolkig) und Wetter:fc1_high_c = 24 ist.
- Zum Testen, könntest du die Wetterbedingungen (condition, fc1_high_c) ändern:
define di_wcondition DOIF ([?09:00-17:00] and [Wetter:fc1_high_c] > 10
and ([Wetter:condition] eq "überwiegend wolkig" or [Wetter:condition] eq "heiter"))
attr di_wcondition cmdState on|off
Die Befehle beim BeschattungOnOff DOIF werden nur bei einem Event ausgeführt, also wenn beispielsweise di_wcondition von off auf on oder von on auf off wechselt.
Hier mal die list´s
Internals:
DEF ([?09:00-20:00] and [Wetter:fc1_high_c] > 23 and ([Wetter:condition] eq "sonnig" or [Wetter:condition] eq "teilweise wolkig"))
NAME di_wcondition
NR 240
NTFY_ORDER 50-di_wcondition
STATE initialized
TYPE DOIF
Readings:
2015-06-14 19:23:19 state initialized
2015-06-14 19:25:04 timer_1_c1 15.06.2015 09:00:00
2015-06-14 19:25:04 timer_2_c1 14.06.2015 20:00:00
Condition:
0 DOIF_time($hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"") and ReadingValDoIf('Wetter','fc1_high_c','') > 23 and (ReadingValDoIf('Wetter','condition','') eq "sonnig" or ReadingValDoIf('Wetter','condition','') eq "teilweise wolkig")
Days:
Devices:
0 Wetter
all Wetter
Do:
0
Helper:
last_timer 2
sleeptimer -1
Itimer:
Readings:
0 Wetter:fc1_high_c Wetter:condition
all Wetter:fc1_high_c Wetter:condition
Realtime:
0 09:00:00
1 20:00:00
State:
Time:
0 09:00:00
1 20:00:00
Timecond:
0 0
1 0
Timer:
0 0
1 0
Timerfunc:
Attributes:
cmdState on|off
Internals:
DEF ([?Beschattung.Automatik] eq "on" and [di_wcondition:?on])(set WZ.Rollo.rechts 0)
DOELSEIF ([?Beschattung.Automatik] eq "on" and ([di_wcondition:?off] or [20:00]))(set WZ.Rollo.rechts 100)
NAME BeschattungOnOff
NR 239
NTFY_ORDER 50-BeschattungOnOff
STATE initialized
TYPE DOIF
Readings:
2015-06-14 19:23:41 state initialized
2015-06-14 19:25:04 timer_1_c2 14.06.2015 20:00:00
Condition:
0 InternalDoIf('Beschattung.Automatik','STATE','') eq "on" and EventDoIf('di_wcondition',$hash->{helper}{triggerDev},$hash->{helper}{triggerEvents},'on')
1 InternalDoIf('Beschattung.Automatik','STATE','') eq "on" and (EventDoIf('di_wcondition',$hash->{helper}{triggerDev},$hash->{helper}{triggerEvents},'off') or DOIF_time_once($hash->{timer}{0},$wday,""))
Days:
Devices:
0 di_wcondition
1 di_wcondition
all di_wcondition
Do:
0 set WZ.Rollo.rechts 0
1 set WZ.Rollo.rechts 100
Helper:
last_timer 1
sleeptimer -1
Itimer:
Realtime:
0 20:00:00
State:
Time:
0 20:00:00
Timecond:
0 1
Timer:
0 0
Timerfunc:
Timers:
1 0
Trigger:
all di_wcondition
Attributes:
group DOIF
room Automatik
Ich finde den Fehler leider nicht.
di_wcondition state ist immer noch = initialized
mit:
set Wetter update
kannst du di_wcondition triggern, dann sollte di_wcondition state = on oder off sein.
Hast du die nueste Version?
version DOIF
sollte Folgendes anzeigen:
# $Id: 98_DOIF.pm 8432 2015-04-13 19:34:11Z damian-s $
Zudem bin ich nicht sicher, ob dies richtig ist
set WZ.Rollo.rechts 0
ich meine, es müsste so definiert werden:
set WZ.Rollo.rechts pct 0