Hi Zusammen,
wenn man einmal anfängt Fragen zu stellen :|
Hier die nächste.
Ich habe zwei PRESENCE-Einträge in einer "structure" zusammengefasst, um den Anwesenheitsstatus einer Wohnung festzulegen.
Dies funktioniert soweit perfekt (ist ja auch kein Hexenwerk).
Hier die bisherigen Einträge:
define Stefan PRESENCE lan-ping 192.168.192.51 10
attr Stefan userattr presence presence_map structexclude
attr Stefan event-on-change-reading state
attr Stefan group Anwesenheit
attr Stefan presence Zuhause
attr Stefan room Anwesenheit
define Anna PRESENCE lan-ping 192.168.192.65 10
attr Anna userattr presence presence_map structexclude
attr Anna event-on-change-reading state
attr Anna group Anwesenheit
attr Anna presence Zuhause
attr Anna room Anwesenheit
define Zuhause structure presence Stefan Anna
attr Zuhause clientstate_behavior relative
attr Zuhause clientstate_priority present absent
attr Zuhause event-on-change-reading state
attr Zuhause group Status
attr Zuhause room Anwesenheit
define Zuhause_present notify Zuhause:present {system("sudo /usr/bin/send 00111 2 0")}
define Zuhause_absent notify Zuhause:absent {system("sudo /usr/bin/send 00111 2 1")}
Ist niemand zu Hause, wird sofort (ich werde das Ganze noch mit Timern, etc versehen) die Funksteckdose (Baumarktprodukt) geschaltet, an welcher eine IP-Cam hängt.
Da sich Handys immer wieder mal aus dem WLAN verabschieden, möchte ich nun noch folgenden Dummy in diese "structure" übernehmen.
define TV dummy
attr TV devStateIcon on:it_television@green off:it_television@grey
attr TV fp_floorplan 440,191,0,
attr TV group Heimkino
attr TV room Wohnzimmer
attr TV webCmd :
attr TV setList on off
define TV_off notify TV:off {system("sudo /usr/bin/send 10001 2 0")}
define TV_on notify TV:on {system("sudo /usr/bin/send 10001 2 1")}
In dem Fall soll "Zuhause" weiterhin auf "presence" bleiben, wenn die Funksteckdose "TV" eingeschaltet ist, auch wenn beide Handys abwesend/absent sind.
Der Dummy hat jedoch nur einen "state" (on/off).
Ist es möglich, den "TV" dennoch in der "structure" zu berücksichtigen?
Ich freue mich natürlich auch über Alternativen.
Besten Dank & Gruß
Spliddorama
Bei PRESENCE Devices kann man absenceThreshold setzen.
Statt des structure solltest Du lieber RESIDENTS verwenden.
Gruß
Dan
Grundsätzlich erstmal: Statt mit structures und PRESENCE zu arbeiten (was grundsätzlich nicht falsch ist) könntest du dir mal RESIDENTS und ROOMMATES ansehen.
Zur eigentlichen Frage: Nimm die Dose mit in die structure auf und setze bei der Dose das Attribut presence_map.
Für Deine Baumarktsteckdose empfehle ich z.B. dieses Modul (https://forum.fhem.de/index.php/topic,59062.msg504603.html#msg504603).
Das ist eine Neuentwicklung von GenShellSwitch mit ein paar Vorzügen.
Gruß
Dan
Wow! Ich danke euch vielmals für euer schnelles Feedback.
Ich werde mich auch mit "ROOMMATES" sowie dem neuen modul befassen.
Natürlich möchte ich gerade auf die Schnelle testen und habe jetzt das Attribut "presence_map" genutzt.
Dies habe ich ja auch so für die mobilen Geräte verwendet.
attr TV userattr presence presence_map on:present off:absent
Liege ich richtig, dass dies eine Art "Übersetzung" (ähnlich "eventMap" ist)?
Wenn ja, verstehe ich diese nicht ganz, da "Zuhause" nun neben dem aktuellen Status "presence" Buttons für "on" und "off" verpasst wurden ;)
Leider finde ich das Attribut bzw. eine Erläuterung nicht im Wiki bzw. via Google-Suche.
Suche ich hier im Forum, finde ich lediglich diesen Beitrag.
EDIT: Mit absenceThreshold ist mir denke ich schon geholfen. Nicht schön, aber ich werde zu einem späteren Zeitpunkt die alternativen Methoden testen.
@DeeSPe: Danke für das Modul. Werde es zukünftig nutzen!
Guck mal in die commandref ...
Leider finde ich dort trotz auführlicher STRG+F Suche keine Infos.
Ich werde nun einen weiteren dummy erstellen, welcher auf present gesetzt wird, sobal das TV den Status "on" hat und dies mit in die Gruppe aufnehmen.
Beste Grüße
du darfst natürlich nicht nach presence_map oder sowas suchen... unter structure wird das Attribut <struct_type>_map beschrieben:
Zitat
<struct_type>_map
With this attribute, which has to specified for the structure- member, you can redefine the value reported by a specific structure-member for the structure value. The attribute has three variants:
readingName
take the value from readingName instead of state.
oldVal:newVal
if the state reading matches oldVal, then replace it with newVal
readingName:oldVal:newVal
if readingName matches oldVal, then replace it with newVal
Example:
define door OWSWITCH <ROMID>
define lamp1 dummy
attr lamp1 cmdlist on off
define kitchen structure struct_kitchen lamp1 door
attr kitchen clientstate_priority An|on OK|Aus|off
attr lamp1 struct_kitchen_map on:An off:Aus
attr door struct_kitchen_map A:open:on A:closed:off
attr door2 struct_kitchen_map A
In deinem Fall sollte ein Attribut presence_map automatisch im TV_dummy verfügbar sein, sobald der Dummy in der Structure ist. dann sollte
attr TV_dummy on:present off:absent
eigentlich das tun, was du möchtest...
Zitat von: Spliddorama am 06 April 2017, 23:41:00
...Da sich Handys immer wieder mal aus dem WLAN verabschieden, möchte ich nun noch folgenden Dummy in diese "structure" übernehmen...
Zur "Handy-Anwesenheits-Überwachung" hat sich bei mehreren Usern (einschliesslich mir) die Methode über bluetooth als wesentlich stabiler und sicherer herausgestellt.
Vielleicht nur so als Tipp zur "Ursachenbekämpfung" ohne zusätzlichen Dummy; den musst Du ja sonst auch wieder manuell zurücksetzen. ;)
Zitat von: DeeSPe am 06 April 2017, 23:54:28Statt des structure solltest Du lieber RESIDENTS verwenden.
Für die Leute, die noch in den Tiefen des Forums nach zweckdienlichen Lösungen für Ihre Probleme suchen, hier eine
Begründung für die o.a. Aussage:
Bei structure wird die Anwesenheit sofort als absent angezeigt, auch wenn das PRESENCE-Device lediglich ein maybe absent übermittelte.
RESIDENTS verweilt so lange auf present, bis auch tatsächlich ein absent seitens des PRESENCE-Devices signalisiert wurde. Die Umschaltung von absent auf present funktioniert ebenso schnell, wie beim structure. Somit komme auch ich zu dem Fazit, dass RESIDENTS die bessere Wahl ist.
Welche wahren Vorteile sich sonst noch durch die Verwendung von RESIDENTS ergeben, kann ich (noch) nicht sagen.
Vielleicht möchte ein fortgeschrittener Benutzer hierzu ein paar Zeilen schreiben. :)
Gruß Chris
Zitat von: KernSani am 08 April 2017, 21:59:27
attr TV_dummy on:present off:absent
da fehlt der Attributname.
ZitatDa sich Handys immer wieder mal aus dem WLAN verabschieden, möchte ich nun noch folgenden Dummy in diese "structure" übernehmen.
Oder hier mal schauen: https://forum.fhem.de/index.php/topic,76342.msg682218.html#msg682218
Hatte ähnliche Probleme...
...jetzt nicht mehr... :)
Gruß, Joachim
lustig, was die Leute alles mit dummies anstellen.
In meiner FHEM Installation gibt es aktuell 242 devices, und keines davon ist vom Typ "dummy".
Count: 242 devices for devspec TYPE=.*
Count: 0 devices for devspec TYPE=dummy
Und trotzdem funktioniert alles, wie es soll. Mache ich irgendwas falsch?