Hallo, ich möchte gerne einen etwas komplexeren Timer programmieren und habe Problem bei der Erstellung.
In meinem Fall soll der Timer einen Rollladen im Osten um 9:00 runterfahren und den im Süden um 10:00 (Sonnenschutz).
Und wieder versetzt wieder hochfahren.
Hoch und runter fahren im gleichen Timer habe ich schon:
DEF: Rollo1,Rollo2,Rollo3,Rollo4,Rollo6,Rollo7 0123456|16:30|Auf 0123456|08:30|90 set $NAME pos $EVENT
aber wie kann ich die Zeiten individuell einstellen?
Danke & Gruß
Puh, mal ab davon, dass mit AutoShuttersControl für solche Aufgaben ein sehr tolles Tool bereitsteht:
Am einfachsten Aufteilen auf 2 WDT.
Könnte (!) auch gehen, die Schaltanweisung jeweils aufzudröseln:
DEF: Rollo1,Rollo2,Rollo3,Rollo4,Rollo6,Rollo7 0123456|16:30|Rollo1+Auf 0123456|08:30|Rollo2+90 set $EVTPART0 pos $EVTPART1
Dann müßte aber jeder Rollo (oder structures davon...) separat angefaßt werden (geht dann auch in einem WDT)...
Hallo,
danke für die Antwort. ich denke ich versuche mich mal an dem AutoSchuttersControl ASC module.
In dem Module selbst sehe ich niicht wo ich Zeiten etc eintragen könnte, dh man braucht noch eine entprechende Readingsgroup, oder?
Aus dem Wiki habe ich mir testweise mal diesen Code geholt:
defmod rg_ASC_Rolllaeden_Times readingsGroup <Gerät>,<Position>,<Time_Up_Early>,<Time_Up_Late>,<Time_Up_WE/Hol>,<Time_Down_Early>,<Time_Down_Late>,<Mode_Down>,<Mode_Up> \
(.*Rollo.*|.*Rollladen|Jalousie_.*):level,?ASC_Time_Up_Early,?ASC_Time_Up_Late,?ASC_Time_Up_WE_Holiday,?ASC_Time_Down_Early,?ASC_Time_Down_Late,?ASC_Mode_Down,?ASC_Mode_Up
attr rg_ASC_Rolllaeden_Times commands {level => 'pct:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100', \
ASC_Time_Down_Early => 'ASC_Time_Down_Early:15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00', \
ASC_Time_Down_Late => 'ASC_Time_Down_Late:19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30', \
ASC_Time_Up_WE_Holiday => 'ASC_Time_Up_WE_Holiday:06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00',\
ASC_Time_Up_Early => 'ASC_Time_Up_Early:05:00,05:05,05:30,05:55,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00', \
ASC_Time_Up_Late => 'ASC_Time_Up_Late:06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00', \
ASC_Mode_Down => 'ASC_Mode_Down:always,absent,off', \
ASC_Mode_Up => 'ASC_Mode_Up:always,absent,off' }
Aber leider funktioniert dies nicht.
Für (.*Rollo.*|.*Rollladen|Jalousie_.*) habe ich schon die Namen der Rolloläden und der ASC moduls eingesetzt, aber dies haut nicht hin.
Kann mir jemand sagen, wo ich meinen Denkfehler habe?
Danke & Gruß
Zeig mal ein "list" von einem nicht funktionierenden Rollo oder Jalousie und ein "list" vom ASC Device
Das ReadingGroup ist nur eine Hilfe, um die Zeiten zu setzen. Du kannst auch direkt jeden Attribut im Device setzen
List von ASC modul:
Internals:
CFGFN
FUUID 5d1873a8-f33f-a4d3-9400-dac38814639c5b51
FVERSION 73_AutoShuttersControl.pm:v0.6.9-s19368/2019-05-11 UNDER DEVELOP
MID da39a3ee5e6b4b0d3255bfef95601890afd80709
NAME RolloControl
NOTIFYDEV global,RolloControl,Rollo1,Rollo2,Rollo3,Rollo4,Rollo5,Rollo6,Rollo7
NR 3325
NTFY_ORDER 51-RolloControl
STATE created new drive timer
TYPE AutoShuttersControl
VERSION 0.6.9
OLDREADINGS:
READINGS:
2019-06-30 10:44:20 Rollo1_nextAstroTimeEvent 30.06.2019 - 21:32
2019-06-30 10:44:21 Rollo2_nextAstroTimeEvent 30.06.2019 - 21:32
2019-06-30 10:44:21 Rollo3_nextAstroTimeEvent 30.06.2019 - 21:32
2019-06-30 10:44:21 Rollo4_nextAstroTimeEvent 30.06.2019 - 21:32
2019-06-30 10:44:21 Rollo5_nextAstroTimeEvent 30.06.2019 - 21:32
2019-06-30 10:44:21 Rollo6_nextAstroTimeEvent 30.06.2019 - 21:32
2019-06-30 10:44:21 Rollo7_nextAstroTimeEvent 30.06.2019 - 21:32
2019-06-30 11:14:12 controlShading on
2019-06-30 10:32:40 hardLockOut off
2019-06-30 10:44:17 room_Bassler_Bassler_komplett Rollo1,Rollo2,Rollo3,Rollo4,Rollo5,Rollo6,Rollo7
2019-06-30 10:32:40 selfDefense off
2019-06-30 11:13:50 state created new drive timer
2019-06-30 11:13:50 sunriseTimeWeHoliday on
2019-06-30 10:44:17 userAttrList rolled out
helper:
shuttersList:
Rollo1
Rollo2
Rollo3
Rollo4
Rollo5
Rollo6
Rollo7
Attributes:
ASC 1
ASC_autoShuttersControlMorning on
devStateIcon selfeDefense.terrace:fts_door_tilt created.new.drive.timer:clock .*asleep:scene_sleeping roommate.(awoken|home):user_available residents.(home|awoken):status_available manual:fts_shutter_manual selfeDefense.active:status_locked selfeDefense.inactive:status_open day.open:scene_day night.close:scene_night shading.in:weather_sun shading.out:weather_cloudy
icon fts_shutter_automatic
room test
list von Rollladen
Save config ?
Baßler
Baßler_komplett
Info_Center
Nachbar
System
Unsorted
Zeitschaltung
test
icoEverything Everything
Logfile
Commandref
Remote doc
Edit files
Select style
Event monitor
Internals:
CHANNEL
DEF 0110010001000011011010110011
FUUID 5c4c952d-f33f-a4d3-4cfa-228f8784452c8f05
ID 0110010001000011011010110011
IODev Signal
NAME Rollo1
NR 32
STATE 90
STILLDONETIME 0
TYPE Dooya
exact 90
move stop
position 90
CODE:
1 0110010001000011011010110011
READINGS:
2019-06-30 11:13:50 ASC_Time_DriveDown 30.06.2019 - 21:32
2019-06-30 11:13:50 ASC_Time_DriveUp 1.07.2019 - 05:25
2019-06-30 10:44:17 associatedWith RolloControl
2019-06-30 08:30:18 exact 90
2019-06-30 08:30:18 position 90
2019-06-30 08:30:18 state 90
Attributes:
ASC 1
ASC_Pos_Reading position
IODev Signal
channel 1
cmdIcon Zu:rc_DOWN Auf:rc_UP stop:rc_RED
devStateIcon 200:fts_shutter_1w_100 150:fts_shutter_1w_100 100:fts_shutter_1w_90 80:fts_shutter_1w_80 70:fts_shutter_1w_70 60:fts_shutter_1w_60 50:fts_shutter_1w_50 40:fts_shutter_1w_40 30:fts_shutter_1w_30 20:fts_shutter_1w_20 10:fts_shutter_1w_10 90:fts_shutter_1w_90 0:fts_shutter_1w_0
drive-down-time-to-100 21
drive-down-time-to-close 25
drive-up-time-to-100 4
drive-up-time-to-open 26
eventMap off:Auf on:Zu stop:Stop
group Rollläden
room Baßler,Baßler_komplett
stateFormat position
userattr ASC_Antifreeze:off,soft,hard,am,pm ASC_Antifreeze_Pos:5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100 ASC_AutoAstroModeEvening:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeEveningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_AutoAstroModeMorning:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeMorningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_BlockingTime_afterManual ASC_BlockingTime_beforDayOpen ASC_BlockingTime_beforNightClose ASC_BrightnessSensor ASC_Closed_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_ComfortOpen_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Down:time,astro,brightness ASC_DriveUpMaxDuration ASC_Drive_Offset ASC_Drive_OffsetStart 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_PrivacyDownTime_beforNightClose ASC_PrivacyDown_Pos ASC_RainProtection:on,off ASC_Roommate_Device ASC_Roommate_Reading ASC_Self_Defense_Exclude:on,off ASC_Shading_Angle_Left ASC_Shading_Angle_Right ASC_Shading_Direction ASC_Shading_Min_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_Cloudy ASC_Shading_StateChange_Sunny ASC_Shading_WaitingPeriod ASC_ShuttersPlace:window,terrace ASC_Time_Down_Early ASC_Time_Down_Late ASC_Time_Up_Early ASC_Time_Up_Late ASC_Time_Up_WE_Holiday ASC_Up:time,astro,brightness 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_subType:twostate,threestate
webCmd Auf:stop:Zu
Wenn Du dein Rollo nach Zeit steuern möchtest musst Du noch folgende Attribute setzen:
ASC_up time
ASC_Time_Up_Early <beliebige Zeit>
und evtl für unterschiedliche Up Zeit am Wochenende:
ASC_Time_Up_WE_Holiday <Zeit we>
Für Beschattung noch ein paar ASC_Shading_... Attribute
Danke, ich habe mal ein paar Parameter gesetzt.
jedoch fehlt noch eine Attritbut:
ASC_Time_Down_WE_Holiday <Zeit we>
Gibt es eine Möglichkeit in der Readingsgroup die Parameter einzustellen, oder muß man sich dann durch die unterschiedlichen Rollläden durchklicken?
Kannst einfach dein readingsGroup nach gleichem Muster mit ASC_Time_Up_WE_Holiday ergänzen.
sorry habe mich vertippt (und oben verbessert)
beim Attribut ASC_Time_Down_WE_Holiday <Zeit we> bekomme ich eine Fehlermeldung beim Rollladen
Rollo1: unknown attribute ASC_Time_Down_WE_Holiday. Type 'attr Rollo1 ?' for a detailed list.
Nachtrag: Habe in der userattr beim Rollladen "ASC_Time_Down_WE_Holiday" ergänzt -> keine Fehlermeldung mehr
Was fehlt mir um in der Readingsgroup die Zeiten auszuwählen?
Zitat von: Müller am 30 Juni 2019, 15:17:52
beim Attribut ASC_Time_Down_WE_Holiday <Zeit we> bekomme ich eine Fehlermeldung beim Rollladen
Weil ich mich vertippt habe. Das Attribut heisst ASC_Time_Up_WE_Holiday
Danke, das wäre nun erledigt.
Wie kann ich nun die Zeiten im RG ändern. Ich bekomme kein Dropdown Menu ??
Wie gesagt, nach gleichem Muster ergänzen:
Titelzeile mit einem zusätzlichen <Time_Up_WE_Holiday> ergänzen, Readingsliste mit einem zusätzlichen ?ASC_Time_Up_WE_Holiday ergänzen, und set Befehle mit einer zusätzlichen Zeile mit Auswahlliste ergänzen:
ASC_Time_Up_WE_Holiday => 'ASC_Time_Up_WE_Holiday:05:00,05:05,05:30,05:55,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00', \
Müßte einfacher mit einem widget gehen...
ich bin zu blöd .....
Hier meine List
Internals:
CFGFN
DEF <Gerät>,<Position>,<Time_Up_Early>,<Time_Up_Late>,<Time_Up_WE_Holiday>,<Time_Down_Early>,<Time_Down_Late>,<Mode_Down>,<Mode_Up>
Rollo1:position,?ASC_Time_Up_Early,?ASC_Time_Up_Late,?ASC_Time_Up_WE_Holiday,?ASC_Time_Down_Early,?ASC_Time_Down_Late,?ASC_Time_Down_WE_Holiday,?ASC_Mode_Down,?ASC_Mode_Up
Rollo2:position,?ASC_Time_Up_Early,?ASC_Time_Up_Late,?ASC_Time_Up_WE_Holiday,?ASC_Time_Down_Early,?ASC_Time_Down_Late,?ASC_Time_Down_WE_Holiday,?ASC_Mode_Down,?ASC_Mode_Up
Rollo3:position,?ASC_Time_Up_Early,?ASC_Time_Up_Late,?ASC_Time_Up_WE_Holiday,?ASC_Time_Down_Early,?ASC_Time_Down_Late,?ASC_Time_Down_WE_Holiday,?ASC_Mode_Down,?ASC_Mode_Up
Rollo4:position,?ASC_Time_Up_Early,?ASC_Time_Up_Late,?ASC_Time_Up_WE_Holiday,?ASC_Time_Down_Early,?ASC_Time_Down_Late,?ASC_Time_Down_WE_Holiday,?ASC_Mode_Down,?ASC_Mode_Up
Rollo5:position,?ASC_Time_Up_Early,?ASC_Time_Up_Late,?ASC_Time_Up_WE_Holiday,?ASC_Time_Down_Early,?ASC_Time_Down_Late,?ASC_Time_Down_WE_Holiday,?ASC_Mode_Down,?ASC_Mode_Up
Rollo6:position,?ASC_Time_Up_Early,?ASC_Time_Up_Late,?ASC_Time_Up_WE_Holiday,?ASC_Time_Down_Early,?ASC_Time_Down_Late,?ASC_Time_Down_WE_Holiday,?ASC_Mode_Down,?ASC_Mode_Up
Rollo7:position,?ASC_Time_Up_Early,?ASC_Time_Up_Late,?ASC_Time_Up_WE_Holiday,?ASC_Time_Down_Early,?ASC_Time_Down_Late,?ASC_Time_Down_WE_Holiday,?ASC_Mode_Down,?ASC_Mode_Up
FUUID 5d187808-f33f-a4d3-2874-42f42ab605d9c4b5
NAME RolloControlRG
NR 3428
NTFY_ORDER 50-RolloControlRG
STATE Initialized
TYPE readingsGroup
mayBeVisible 1
CONTENT:
Rollo1 1
Rollo2 1
Rollo3 1
Rollo4 1
Rollo5 1
Rollo6 1
Rollo7 1
CONTENT2:
DEVICES:
ARRAY(0x46fdf00)
ARRAY(0x5b50350)
ARRAY(0x5bf2e28)
ARRAY(0x5bf5d08)
ARRAY(0x44925c0)
ARRAY(0x5b062b8)
ARRAY(0x5bd2830)
ARRAY(0x458fa28)
fhem:
lastDefChange 487
last_update 1561916278.20953
helper:
DEF
commands ASC_Time_Up_WE_Holiday => 'ASC_Time_Up_WE_Holiday:05:00,05:05,05:30,05:55,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00', \
positions:
Rollo1.ASC_Mode_Down 2:8
Rollo1.ASC_Mode_Up 2:9
Rollo1.ASC_Time_Down_Early 2:5
Rollo1.ASC_Time_Down_Late 2:6
Rollo1.ASC_Time_Down_WE_Holiday 2:7
Rollo1.ASC_Time_Up_Early 2:2
Rollo1.ASC_Time_Up_Late 2:3
Rollo1.ASC_Time_Up_WE_Holiday 2:4
Rollo1.position 2:1
Rollo2.position 3:1
Rollo3.position 4:1
Rollo4.position 5:1
Rollo5.position 6:1
Rollo6.position 7:1
Rollo7.position 8:1
values:
formated:
undef
ARRAY(0x5bdfeb0)
ARRAY(0x5b43630)
ARRAY(0x5b2f4e8)
ARRAY(0x4606550)
ARRAY(0x4602700)
ARRAY(0x5bf9bf0)
ARRAY(0x5b2bef0)
ARRAY(0x5bb6258)
ARRAY(0x5b93e00)
orig:
undef
ARRAY(0x5b539a0)
ARRAY(0x5af8850)
ARRAY(0x5b43660)
ARRAY(0x44651e8)
ARRAY(0x5b2b788)
ARRAY(0x5b3f188)
ARRAY(0x5bdbbc0)
ARRAY(0x5b06558)
ARRAY(0x5bf2240)
prefixsuffix:
undef
ARRAY(0x5bd2980)
ARRAY(0x5b3ee10)
ARRAY(0x5b28ea0)
ARRAY(0x5bd6010)
ARRAY(0x5b43d20)
ARRAY(0x5b46468)
ARRAY(0x5aba5e8)
ARRAY(0x5b88ac0)
ARRAY(0x5bdae58)
Attributes:
commands ASC_Time_Up_WE_Holiday => 'ASC_Time_Up_WE_Holiday:05:00,05:05,05:30,05:55,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00', \
room test
aber kein dropdownMenu
Jetzt hast Du aber aller zerstört. Es fehlen Sachen in der DEF, und das attr hat nur noch das neue Reading
Allerdings hatte ich übersehen, dass das readingsGroup schon das Reading WE enthält:
Zitatdefmod rg_ASC_Rolllaeden_Times readingsGroup <Gerät>,<Position>,<Time_Up_Early>,<Time_Up_Late>,<Time_Up_WE/Hol>,<Time_Down_Early>,<Time_Down_Late>,<Mode_Down>,<Mode_Up> \
(.*Rollo.*|.*Rollladen|Jalousie_.*):level,?ASC_Time_Up_Early,?ASC_Time_Up_Late,?ASC_Time_Up_WE_Holiday,?ASC_Time_Down_Early,?ASC_Time_Down_Late,?ASC_Mode_Down,?ASC_Mode_Up
attr rg_ASC_Rolllaeden_Times commands {level => 'pct:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100', \
ASC_Time_Down_Early => 'ASC_Time_Down_Early:15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00', \
ASC_Time_Down_Late => 'ASC_Time_Down_Late:19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30', \
ASC_Time_Up_WE_Holiday => 'ASC_Time_Up_WE_Holiday:06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00',\
ASC_Time_Up_Early => 'ASC_Time_Up_Early:05:00,05:05,05:30,05:55,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00', \
ASC_Time_Up_Late => 'ASC_Time_Up_Late:06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00', \
ASC_Mode_Down => 'ASC_Mode_Down:always,absent,off', \
ASC_Mode_Up => 'ASC_Mode_Up:always,absent,off' }
Bist Du sicher, dass Du nicht schon eine Dropdown Liste für diesen Wert hast?
Zitat von: Beta-User am 30 Juni 2019, 19:14:21
Müßte einfacher mit einem widget gehen...
Habe im Wiki jetzt ein aktualisiertes Beispiel eingefügt mit einem time-Widget und "zwangsweiser Anzeige" noch ungefüllter Elemente, das dann auch noch mit unterschiedlichen Aktoren umgehen kann bzw. Positionsangaben (dort: level/dim statt position). Sollte einfach anzupassen sein
Da sich deine Rollos nur in der Ziffer zu unterscheiden scheinen: einfach einmal erwähnen und statt der Ziffer einen Punkt nehmen (ganz normale regex, ggf. darin mal einlesen...)