Hallo zusammen,
Bin noch ziemlicher Anfänger und kenne die Übergabemöglichkeiten zwischen Modulen und dem System leider noch nicht wirklich gut.
Für meine Rollo Steuerung kann ich den einzelnen Rollos verschiedene Konfigurationsparameter zuweisen die dann durch die Automatik für die Steuerung genutzt werden. Aktuell habe ich für jeden dieser 8 Rollo's genau dieselbe Tabelle 8x aufgesetzt um pro Rollo die Einstellungen vorzunehemen.
Ich habe bisher noch keinen Ansatz gefunden wie ich zum Beispiel in einem Dummy die 8 Rollo Namen per Dropdown bereitstellen kann, und die readingsGroup holt sich dann den aktuell anzuzeigenden Rollo aus diesem Reading oder Attribut, so das ich nur eine Tabelle bräuchte um alle 8 Rollos konfigurieren zu können.
geht so etwas überhaupt?- falls ja, kann mir da allenfalls jemand Anschubhilfe geben wie ich auf ein Reading oder ein Attribut referenzieren kann wo der Name des anzuzeigenden Devices drin steht? (im untenstehenden Beispiel müsste ich so das Device dm_og.sz.RO.FensterTerasse so übergeben können.
Wäre für nen Tipp sehr dankbar.
Grüsse Philipp
Aktuelle Konfiguration einer dieser readingsGroups:
##
## ReadingsGroup Rolladen Settings Schlafen, Terasse
##
define rg.RolladenSettingsSchlafenFensterTerasse readingsGroup <%edit_settings>,<Settings>\
dm_RO.DisplayHeader1:Line8,<AutoClose>,<BrightOpen>,<BrightClose>,<AutoShade>,<BrightShade>,<ShadeTemp>\
dm_og.sz.RO.FensterTerasse:Line1@dm_RO.LineHeader2,!AutoClose,!BrightOpen,!BrightClose,!AutoShade,!BrightShade,!ShadeTemperature\
dm_og.sz.RO.FensterTerasse:Line2@dm_RO.LineHeader2,!ReOpenCloseAfter,< ;Min ;Shade ;Duration>,!ShadeMinDuration\
dm_og.sz.RO.FensterTerasse:Line3@dm_RO.LineHeader2,!Fassade,< ;Delay ;on ;Door ;Open>,DoorOpenDelay\
dm_og.sz.RO.FensterTerasse:Line20@dm_RO.LineHeader2,!ShadeAzimuthStart,< ;Azimuth ;Stop>,!ShadeAzimuthStop,< ;Current>,azimuth@myTwilight\
dm_og.sz.RO.FensterTerasse:Line21@dm_RO.LineHeader2,!ShadeElevationStart,< ;Elevation ;Stop>,!ShadeElevationStop,< ;Current>,elevation@myTwilight\
dm_og.sz.RO.FensterTerasse:Line13@dm_RO.LineHeader2,!MorningFix1,< ;Fix1 ;Tage:>,!MorningDaysFix1\
dm_og.sz.RO.FensterTerasse:Line14@dm_RO.LineHeader2,!MorningFix2,< ;Fix2 ;Tage:>,!MorningDaysFix2\
dm_og.sz.RO.FensterTerasse:Line15@dm_RO.LineHeader2,!EveningFix1,< ;Fix1 ;Tage:>,!EveningDaysFix1\
dm_og.sz.RO.FensterTerasse:Line16@dm_RO.LineHeader2,!EveningFix2,< ;Fix2 ;Tage:>,!EveningDaysFix2\
dm_og.sz.RO.FensterTerasse:Line12@dm_RO.LineHeader2,!ShadeNotBeforeWDay,< ;Shade ;not ;Before ;WEnds:>,!ShadeNotBeforeWEnd\
dm_og.sz.RO.FensterTerasse:Line17@dm_RO.LineHeader2,!DefaultOpenState\
dm_og.sz.RO.FensterTerasse:Line18@dm_RO.LineHeader2,!DefaultCloseState\
dm_og.sz.RO.FensterTerasse:Line19@dm_RO.LineHeader2,!DefaultShadeState\
<hr>\
setuuid rg.RolladenSettingsSchlafenFensterTerasse 5c4ebcae-f33f-2009-010f-d9e45ed37484399e
attr rg.RolladenSettingsSchlafenFensterTerasse cellStyle {"r:1,c:0" => 'style="text-align:left"', "r:1,c:1" => 'style="text-align:left"',\
"r:2,c:0" => 'style="text-align:left"', "r:2,c:1" => 'style="text-align:left;;font-weight:bold"', \
"r:3,c:0" => 'style="text-align:left"', "r:3,c:1" => 'style="text-align:right"', "r:3,c:2" => 'style="text-align:left;;font-weight:bold"', "r:3,c:5" => 'style="text-align:left;;font-weight:bold"',\
"r:4,c:0" => 'style="text-align:left"', "r:4,c:1" => 'style="text-align:right"', "r:4,c:3" => 'style="text-align:right"',\
"r:5,c:0" => 'style="text-align:left"', "r:5,c:1" => 'style="text-align:right"', "r:5,c:3" => 'style="text-align:right"',\
"r:6,c:0" => 'style="text-align:left"', "r:6,c:1" => 'style="text-align:right"', "r:6,c:3" => 'style="text-align:right"',\
"r:7,c:0" => 'style="text-align:left"', "r:7,c:1" => 'style="text-align:right"', "r:7,c:3" => 'style="text-align:right"',\
"r:8,c:0" => 'style="text-align:left"', "r:8,c:1" => 'style="text-align:right"', "r:8,c:3" => 'style="text-align:right"',\
"r:9,c:0" => 'style="text-align:left"', "r:9,c:1" => 'style="text-align:right"', "r:9,c:3" => 'style="text-align:right"',\
"r:10,c:0" => 'style="text-align:left"', "r:10,c:1" => 'style="text-align:right"', "r:10,c:3" => 'style="text-align:right"',\
"r:11,c:0" => 'style="text-align:left"', "r:11,c:1" => 'style="text-align:right"', "r:11,c:3" => 'style="text-align:right"', \
"r:12,c:0" => 'style="text-align:left"', "r:12,c:1" => 'style="text-align:right"', "r:12,c:3" => 'style="text-align:right"',\
"r:13,c:0" => 'style="text-align:left"', "r:13,c:1" => 'style="text-align:right"', "r:13,c:3" => 'style="text-align:right"',\
"r:14,c:0" => 'style="text-align:left"', "r:14,c:1" => 'style="text-align:right"', "r:14,c:3" => 'style="text-align:right"',\
"r:15,c:0" => 'style="text-align:left"', "r:15,c:1" => 'style="text-align:right"', "r:15,c:3" => 'style="text-align:right"'}
attr rg.RolladenSettingsSchlafenFensterTerasse commands {'state' => 'state:','AutoClose' => 'AutoClose:','BrightClose' => 'BrightClose:','BrightOpen' => 'BrightOpen:','BrightShade' => 'BrightShade:','ShadeTemperature' => 'ShadeTemperature:','AutoShade' => 'AutoShade:','MorningFix1' => 'MorningFix1:','MorningFix2' => 'MorningFix2:','EveningFix1' => 'EveningFix1:','EveningFix2' => 'EveningFix2:','MorningDaysFix1' => 'MorningDaysFix1:','MorningDaysFix2' => 'MorningDaysFix2:','EveningDaysFix1' => 'EveningDaysFix1:','EveningDaysFix2' => 'EveningDaysFix2:','ReOpenCloseAfter' => 'ReOpenCloseAfter:','ShadeMinDuration' => 'ShadeMinDuration:','DoorOpenDelay' => 'DoorOpenDelay:','Fassade' => 'Fassade:','DefaultOpenState' => 'DefaultOpenState:','DefaultCloseState' => 'DefaultCloseState:','DefaultShadeState' => 'DefaultShadeState:','Rollo' => 'Rollo:','ShadeAzimuthStart' => 'ShadeAzimuthStart:','ShadeAzimuthStop' => 'ShadeAzimuthStop:','ShadeElevationStart' => 'ShadeElevationStart:','ShadeElevationStop' => 'ShadeElevationStop:','ShadeNotBeforeWDay' => 'ShadeNotBeforeWDay:','ShadeNotBeforeWEnd' => 'ShadeNotBeforeWEnd:'}
attr rg.RolladenSettingsSchlafenFensterTerasse group 03 Storen Settings
attr rg.RolladenSettingsSchlafenFensterTerasse nameIcon {'dm_RO.DisplayHeader1' => 'fts_shutter_40','dm_RO.DisplayHeader2' => 'fts_shutter_automatic','dm_eg.wz.RO.TuereTerasse' => ' ','dm_eg.wz.RO.FensterTerasse' => ' ', 'dm_eg.wz.RO.FensterPergola' => ' ','dm_eg.ku.RO.FensterKueche' => ' ','dm_eg.ku.RO.TuerePool' => ' ','dm_og.sz.RO.FensterTerasse' => ' ','dm_og.sz.RO.FensterPergola' => ' ','dm_eg.wz.RO.FensterWintergarten' => ' ','dm_RO.Time' => ' ','dm_RO.LineHeader1' => ' ','dm_RO.LineHeader2' => ' '}
attr rg.RolladenSettingsSchlafenFensterTerasse nameStyle style="font-weight:bold"
attr rg.RolladenSettingsSchlafenFensterTerasse nolinks 0
attr rg.RolladenSettingsSchlafenFensterTerasse notime 1
attr rg.RolladenSettingsSchlafenFensterTerasse room Storen
attr rg.RolladenSettingsSchlafenFensterTerasse sortby rg.ro.08
attr rg.RolladenSettingsSchlafenFensterTerasse style style="border:3px;;background:none;;box-shadow:none;;"
attr rg.RolladenSettingsSchlafenFensterTerasse valueStyle {"MorningDaysFix1" => 'style="width:150px"',"MorningDaysFix2" => 'style="width:150px"',"EveningDaysFix1" => 'style="width:150px"',"EveningDaysFix2" => 'style="width:150px"'}
attr rg.RolladenSettingsSchlafenFensterTerasse valueSuffix { DoorOpenDelay => "Sec",ReOpenCloseAfter => "Min", ShadeMinDuration => "Min", ShadeTemperature => "°C" }
ZitatIch habe bisher noch keinen Ansatz gefunden wie ich zum Beispiel in einem Dummy die 8 Rollo Namen per Dropdown bereitstellen kann,
Hallo,
wenn du wirklich nur einen setter brauchst für die Rollläden dann so:
defmod du_devdrop dummy
attr du_devdrop readingList Rollos
attr du_devdrop room Test
attr du_devdrop setList Rollos:Rollo_EG_Kueche,Rollo_OG_Bad,Rollo_OG_Schlafzimmer,Rollo_OG_Zimmer1_hinten
Die setList könnte man auch mit allen Devicenamen der Rollläden automatisiert setzen, damit hab ich mich gerade zufällig befasst.
Für die Befehlszeile:
{my @a=devspec2array("NAME=Rollo_.*");;my $s=join(",",@a);; fhem ("attr du_devdrop setList Rollos:.$s;;save;;")}
Gruß
Thomas
Hallo Thomas,
Der Setter ist nicht das Problem. Den habe ich bereits. Mein Problem ist die readingsGroup.
Wie muss die Syntax sein für das $DEVICE zu Beginn jeder readingsGroup Zeile damit nach dem folgenden Doppelpunkt dann die Readings des Gerätes angezeigt werden, das gerade im Setter steht.
Grüsse Philipp