Hallo,
ich habe mir für meine Fenster und Türen ein userattr Fenster:Fenster,Tür angelegt und dieses allen Fenster und Türen zugewiesen.
attr EZ_Fenster_SUED_L Fenster Tür
Nun möchte ich ein Anzeige erstellen, sobald ein Fenster offen ist diese angezeigt wird. Dazu wollte ich mit einem DOIF alle Device die das attr Fenster mit Tür belegt ist und diese offen ist abfragen
Ich scheitere allerdings gerade dabei das attr abzufragen.
{(AttrVal("$DEVICE","Fenster", "Tür"))}
Habe das irgendwie mal so versucht, aber das ist wohl völlig falsch. Komme da nicht wirklich zu einem Ansatz.
Schau mal die Beispiele hier: https://fhem.de/commandref_DE.html#DOIF_aggregation
Zitat von: CommandRefListe der Devices, deren state-Reading "on" ist und das Attribut disable nicht auf "1" gesetzt ist:
[@"":state:$_ eq "on" and AttrVal($name,"disable","") ne "1"]
defmod rg_FENSTER readingsGroup FENSTER_[A-Z]\d:state
attr rg_FENSTER headerRows 1
attr rg_FENSTER notime 1
attr rg_FENSTER valueFormat {\
'state.closed' => undef\
}
attr rg_FENSTER valueIcon {'state.open' => 'fts_window_1w_open@red','state.closed'=>'fts_window_1w@green'}
Mit einer Readingsgroup gehts auch. Bei mir fangen alle Fenstersensoren mit FENSTER_xyz an.
Mal nur nebenbei: wenn deine Fenster alle was mit ...Fenster... und Türen alle was mit ...Tuer... heißen, brauchst du doch eigentlich kein userattr...
Dann kannst du doch mit DevSpec und RegEx .*Fenster.* bzw. .*Tuer.* alle erwischen... ;)
Drum hab ich versucht bei der Benamung meiner Devices sowas zu "unterstützen"... :)
Gruß, Joachim