FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: pschlaeppi am 02 August 2020, 21:07:07

Titel: Device per Dropdown zur Anzeige in einer readingsGroup wählen
Beitrag von: pschlaeppi am 02 August 2020, 21:07:07
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.


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,<&emsp;;Min&nbsp;;Shade&nbsp;;Duration>,!ShadeMinDuration\
dm_og.sz.RO.FensterTerasse:Line3@dm_RO.LineHeader2,!Fassade,<&emsp;;Delay&nbsp;;on&nbsp;;Door&nbsp;;Open>,DoorOpenDelay\
dm_og.sz.RO.FensterTerasse:Line20@dm_RO.LineHeader2,!ShadeAzimuthStart,<&emsp;;Azimuth&nbsp;;Stop>,!ShadeAzimuthStop,<&emsp;;Current>,azimuth@myTwilight\
dm_og.sz.RO.FensterTerasse:Line21@dm_RO.LineHeader2,!ShadeElevationStart,<&emsp;;Elevation&nbsp;;Stop>,!ShadeElevationStop,<&emsp;;Current>,elevation@myTwilight\
dm_og.sz.RO.FensterTerasse:Line13@dm_RO.LineHeader2,!MorningFix1,<&emsp;;Fix1&nbsp;;Tage:>,!MorningDaysFix1\
dm_og.sz.RO.FensterTerasse:Line14@dm_RO.LineHeader2,!MorningFix2,<&emsp;;Fix2&nbsp;;Tage:>,!MorningDaysFix2\
dm_og.sz.RO.FensterTerasse:Line15@dm_RO.LineHeader2,!EveningFix1,<&emsp;;Fix1&nbsp;;Tage:>,!EveningDaysFix1\
dm_og.sz.RO.FensterTerasse:Line16@dm_RO.LineHeader2,!EveningFix2,<&emsp;;Fix2&nbsp;;Tage:>,!EveningDaysFix2\
dm_og.sz.RO.FensterTerasse:Line12@dm_RO.LineHeader2,!ShadeNotBeforeWDay,<&emsp;;Shade&nbsp;;not&nbsp;;Before&nbsp;;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" }



Titel: Antw:Device per Dropdown zur Anzeige in einer readingsGroup wählen
Beitrag von: TomLee am 02 August 2020, 22:10:29
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
Titel: Antw:Device per Dropdown zur Anzeige in einer readingsGroup wählen
Beitrag von: pschlaeppi am 03 August 2020, 06:52:47
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