FHEM Forum

FHEM => Automatisierung => Thema gestartet von: rabehd am 14 März 2018, 10:28:03

Titel: State einer Structure, wenn Mitglieder verschiedene State haben
Beitrag von: rabehd am 14 März 2018, 10:28:03
Hallo,

ich habe hier im Forum gesucht und auch die Commandref gelesen. Wahrscheinlich verstehe ich die möglichen Lösungen nicht.
Die Anwesenheit steuere ich über Dummys für die einzelnen Personen. Über eine Struktur sehe ich den Hausstatus.
Das geht sicher auch über ein Modul. Tortzdem möchte ich bei dieser Lösung bleiben, es ist ja auch weiterhin eine Frage zu structure.

Der State der Structure ist bisher:
jemandda, wenn mindestens eine Person anwesend ist
niemandda, wenn keine einzige Person anwesend ist
schläft, wenn mindestens eine Person schläft
Das funktioniert bisher auch gut.

Jetzt möchte ich den State schläft zu ändern.
schlafen, wenn alle anwesenden Personen schlafen (der Rest ist abwesend)
leise, wenn mindestens eine Person schläft und mindestens eine Person anwesend ist
Das kriege ich nicht hin.
Alle Versuche mit "clientstate_priority" und Any_, bzw. All_ waren nicht erfolgreich.


So sieht die Structure aus:

Internals:
   ATTR       Personen
   CFGFN      ./FHEM/fhem_Personen.cfg
   CHANGEDCNT 142
   DEF        Personen Anwesenheit1 Anwesenheit1 AnwesenheitGast AnwesenheitService
   NAME       Anwesenheit
   NR         297
   NTFY_ORDER 50-Anwesenheit
   STATE      jemandda
   TYPE       structure
   READINGS:
     2018-03-14 10:05:17   LastDevice      Anwesenheit2
     2018-03-14 10:05:17   LastDevice_Abs  Anwesenheit2
     2018-03-14 10:05:17   state           jemandda
Attributes:
   clientstate_behavior relativeKnown
   clientstate_priority schläft|schläft jemandda|jemand|zuhause niemandda|niemand|abwesend
   devStateIcon niemandda:control_building_empty jemandda:status_available schläft:status_night
   event-on-change-reading .*


So sieht eine Person aus:
Internals:
   CFGFN      ./FHEM/fhem_Personen.cfg
   NAME       Anwesenheit1
   NR         288
   STATE      zuhause
   TYPE       dummy
   READINGS:
     2018-03-14 10:06:13   state           zuhause
Attributes:
   Personen   Anwesenheit
   devStateIcon zuhause:status_available abwesend:status_away_2 schläft:scene_sleeping_alternat
   event-on-change-reading .*
   userattr   Personen Personen_map structexclude
   webCmd     zuhause:abwesend:schläft
Titel: Antw:State einer Structure, wenn Mitglieder verschiedene State haben
Beitrag von: CoolTux am 14 März 2018, 11:35:21
Meine Empfehlung. Schau Dir mal Resident und Roommate an. Ist genau das was Du suchst.
Titel: Antw:State einer Structure, wenn Mitglieder verschiedene State haben
Beitrag von: rabehd am 14 März 2018, 12:05:33
Finde ich unübersichtlich.
Das Haus in den Zustand "eine Person schläft, bitte leise sein" scheint mir da nicht besonders einfach umsetzbar.

Wie gesagt, es geht eher um den State einer Structure.
Beispiel:
leise, wenn jemand anwesend ist UND jemand schläft
schläft, wenn alle anwesenden schlafen

Zitat"clientstate_priority" und Any_, bzw. All_
Hätte ich gern verständlich erklärt, für solche Fälle.
Titel: Antw:State einer Structure, wenn Mitglieder verschiedene State haben
Beitrag von: betateilchen am 14 März 2018, 15:26:42
 Nimm zwei structure devices, eines für die Anwesenheit und eines für die Schlafzustände.

Wenn Du willst, kannst Du die beiden structures dann in einer dritten structure kombinieren und die möglichen Zustände einfacher bestimmen.

Und stelle solche Fragen zu structure nächstes Mal bitte im richtigen Unterforum.