Symbol zu Anzeige von Readings mehrerer Devices ?

Begonnen von dt2510, 26 März 2019, 13:08:30

Vorheriges Thema - Nächstes Thema

dt2510

Ich habe im Haus viele Doppelfenster und möchte deren Zustand (open(ed)/closed) gerne in EINEM Symbol darstellen. Bisher habe ich für jedes der Fenster ein eigenes Symbol:

<div data-type="symbol"
     data-device="FensterWZlinks"
     data-states='["closed","open","opened","???"]'
     data-icons='["oa-fts_window_1w","oa-fts_window_1w_tilt","oa-fts_window_1w_tilt","fa-question"]'
     data-background-icons='["","","",""]'
     data-colors='["Linen","Yellow","Yellow","Red"]'
     data-background-colors='["Transparent","Transparent","Transparent","Transparent"]'>
</div>
<div data-type="symbol"
     data-device="FensterWZrechts"
     data-states='["closed","open","opened","???"]'
     data-icons='["oa-fts_window_1w","oa-fts_window_1w_tilt","oa-fts_window_1w_tilt","fa-question"]'
     data-background-icons='["","","",""]'
     data-colors='["Linen","Yellow","Yellow","Red"]'
     data-background-colors='["Transparent","Transparent","Transparent","Transparent"]'>
</div>


Aus Platzgründen möchte ich den Status gerne mit Doppelfenstern (oa-fts_window_2w, oa-fts_window_2w_open_l, oa-fts_window_2w_open_r, oa-fts_window_2w_open_lr) anzeigen.
Ein Variante wäre ein Dummy je Doppelfenster und über stateformat den status "oo", "cc", "oc" oder "co" je nach Einzelstatus der Fenster (c für closed und o für open(ed)) einzustellen.
Geht es auch einfacher ?

setstate

Du müsstest die einzelnen Fenster irgendwie im Backend zusammenfassen. Du könntest dafür FHEM structure verwenden. Ich nutze für mein AlleFenster die Logikfunktion eine KNX Gerätes

sinus61

Wenn tatsächlich rechts und links unterschieden werden soll bleibt wohl nur eine dummy/notify Lösung. Ich würde aber auch eine structure nehmen.

dt2510

#3
Aktuell löse ich es mit dummy/notify, was soweit funktioniert. Den dummy setze ich bei Änderung über ein stateFormat
In STATE steht dann "cc","co","oc" oder "oo". Würde das auch bei einer structure funktionieren ? Damit könnte ich mir das notify sparen (setzt den dummy und damit state immer auf "on"), da die structure automatisch aktualisiert würde ...

Internals:
   NAME       Wohnzimmerfenster
   STATE      cc
   TYPE       dummy
   READINGS:
     2019-03-27 14:46:08   state           on
Attributes:
   stateFormat {substr(ReadingsVal('MAX_17fe6e','state',''),0,1).substr(ReadingsVal('MAX_18012b','state',''),0,1)}

dt2510

#4
scheint zu funktionieren

Internals:
   ATTR       MultiWindow
   CHANGEDCNT 30
   DEF        MultiWindow MAX_17fe6e MAX_18012b
   NAME       WohnzimmerfensterStruct
   NTFY_ORDER 50-WohnzimmerfensterStruct
   STATE      cc
   TYPE       structure
   OLDREADINGS:
   READINGS:
     2019-03-27 15:02:37   LastDevice      MAX_17fe6e
     2019-03-27 15:02:37   LastDevice_Abs  MAX_17fe6e
     2019-03-27 15:02:37   state           closed
Attributes:
   group      Doppelfenster
   stateFormat {substr(ReadingsVal('MAX_17fe6e','state',''),0,1).substr(ReadingsVal('MAX_18012b','state',''),0,1)}


Wenn ich jetzt noch eine Möglichkeit finde den niedrigsten Batteriewert (userReading batteryPercent im jeweiligen Device) zu ermitteln ist mein Doppelfenster-Problem gelöst !