DOIF Beschattung aus Wetterdaten

Begonnen von skuggy, 11 Juni 2015, 19:29:44

Vorheriges Thema - Nächstes Thema

skuggy

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.
...Gruß skuggy

FHEM 5.6 auf Raspberry Pi 2, HM-CFG-LAN, 8x HM-LC-Bl1PBU-FM, 5 x HM-CC-RT-DN, 1 x HM-LC-Sw1-Ba-PCB, 1 x HM-RC-4-2, 1 x JeeLink Clone, 10 x TX29DTH-IT, Fritzbox 7270

der-Lolo

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!

Ralli

... und bei den AND und OR solltest Du auch mal die Klammern gescheit setzen.
Gruß,
Ralli

Proxmox 8.4 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.4 dev, virtualisierte RaspberryMatic (3.83.6.20250705) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.4.1) und HMW-GW, FRITZBOX 7490 (07.59), FBDECT, Siri und Alexa

skuggy

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.
...Gruß skuggy

FHEM 5.6 auf Raspberry Pi 2, HM-CFG-LAN, 8x HM-LC-Bl1PBU-FM, 5 x HM-CC-RT-DN, 1 x HM-LC-Sw1-Ba-PCB, 1 x HM-RC-4-2, 1 x JeeLink Clone, 10 x TX29DTH-IT, Fritzbox 7270

Ralli


([?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)
Gruß,
Ralli

Proxmox 8.4 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.4 dev, virtualisierte RaspberryMatic (3.83.6.20250705) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.4.1) und HMW-GW, FRITZBOX 7490 (07.59), FBDECT, Siri und Alexa

skuggy

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?
...Gruß skuggy

FHEM 5.6 auf Raspberry Pi 2, HM-CFG-LAN, 8x HM-LC-Bl1PBU-FM, 5 x HM-CC-RT-DN, 1 x HM-LC-Sw1-Ba-PCB, 1 x HM-RC-4-2, 1 x JeeLink Clone, 10 x TX29DTH-IT, Fritzbox 7270

Bartimaus

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)

LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

skuggy

Mangels Aussensenoren muss ich auf die Wetterdaten zurückgreifen.

CommandRef gelesen, leider noch nicht verstanden. Aller Anfang ist schwer :-)
...Gruß skuggy

FHEM 5.6 auf Raspberry Pi 2, HM-CFG-LAN, 8x HM-LC-Bl1PBU-FM, 5 x HM-CC-RT-DN, 1 x HM-LC-Sw1-Ba-PCB, 1 x HM-RC-4-2, 1 x JeeLink Clone, 10 x TX29DTH-IT, Fritzbox 7270

flurin

#8
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

skuggy

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?
...Gruß skuggy

FHEM 5.6 auf Raspberry Pi 2, HM-CFG-LAN, 8x HM-LC-Bl1PBU-FM, 5 x HM-CC-RT-DN, 1 x HM-LC-Sw1-Ba-PCB, 1 x HM-RC-4-2, 1 x JeeLink Clone, 10 x TX29DTH-IT, Fritzbox 7270

flurin

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.)

skuggy

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


...Gruß skuggy

FHEM 5.6 auf Raspberry Pi 2, HM-CFG-LAN, 8x HM-LC-Bl1PBU-FM, 5 x HM-CC-RT-DN, 1 x HM-LC-Sw1-Ba-PCB, 1 x HM-RC-4-2, 1 x JeeLink Clone, 10 x TX29DTH-IT, Fritzbox 7270

flurin

#12
So würde ich es lösen:

Internals/Readings:






Zustandgeschlossenoffen
STATErunterhoch
stateoffon
pct0100

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

skuggy

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?

...Gruß skuggy

FHEM 5.6 auf Raspberry Pi 2, HM-CFG-LAN, 8x HM-LC-Bl1PBU-FM, 5 x HM-CC-RT-DN, 1 x HM-LC-Sw1-Ba-PCB, 1 x HM-RC-4-2, 1 x JeeLink Clone, 10 x TX29DTH-IT, Fritzbox 7270

flurin

#14
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.