Hallo Forum,
ich bin Anfaenger mit FHEM, habe mir schon einige Aktoren zusammenkonfiguriert. Jedoch verzweifel ich an einer Sache: und zwar Abschalten bei Abwesenheit von zwei Geraeten.
Ich habe zwei Mobiltelefone, von denen der Status auch korrekt (absent/present) angezeigt wird. Wenn ich mir ein Notify erstelle mit einem Telefon, wird das Gerate (DECT200) auch abgeschaltet. Wenn ich jedoch eine UND-Verknuepfung erstelle, funkltioniert das nicht mehr. Also hab ich es als naechstes mit DOIF probiert. Aber hier das gleiche Problem.
hier mal die aktuelle DOIF:
define doif_AbschaltenBeiAbwesenheit DOIF ([Thomas_Wlan_Device_1:"absent"] and [Amanda_Wlan_Device_1:"absent"]) (set FBDECT_fbahahttp_24_65_11_C4_14_F1,FBDECT_fbahahttp_08761_0092440 off) DOELSEif (([Thomas_Wlan_Device_1:"present"] or [Amanda_Wlan_Device_1:"present"]) and [08:00-21:00]) (set FBDECT_fbahahttp_08761_0092440 on)
was mache ich hier falsch?
lg
Thomas
edit:
hier noch das notify, das auch nicht funktioniert:
define keiner_da notify { if ((Amanda_Wlan_Device_1:presence absent) && ((Thomas_Wlan_Device_1:presence absent))) } set FBDECT_fbahahttp_24_65_11_C4_14_F1,FBDECT_fbahahttp_08761_0092440 off
Hallo Thomas,
ich denke der Ansatz ist falsch. Ohne deinen Code jetzt genau zu durchdenken.
Mach als erstes eine Structure der Geräte und setze darauf Deine Aktionen an.
Ich habe das hier mal zum spielen beschrieben -> http://heinz-otto.blogspot.de/2016/01/anwesenheitserkennung.html
Edit: Dein notify ist grundlegend falsch, da fehlt der trigger! -> https://fhem.de/commandref_DE.html#notify
Zitatdefine <name> notify <Suchmuster> <Anweisung>
bzw. geht der trigger so nicht, das ist eine if Bedingung, trigger muss ein regEx sein
Zitat<Suchmuster> ist entweder der Name des auslösenden ("triggernden") Gerätes oder die Kombination aus Gerät und auslösendem Ereignis (Event) Gerätename:Event.
Gruß Otto
Zitat von: supergrobi am 22 Juli 2017, 13:58:04
define doif_AbschaltenBeiAbwesenheit DOIF ([Thomas_Wlan_Device_1:"absent"] and [Amanda_Wlan_Device_1:"absent"]) (set FBDECT_fbahahttp_24_65_11_C4_14_F1,FBDECT_fbahahttp_08761_0092440 off) DOELSEif (([Thomas_Wlan_Device_1:"present"] or [Amanda_Wlan_Device_1:"present"]) and [08:00-21:00]) (set FBDECT_fbahahttp_08761_0092440 on)
was mache ich hier falsch?
define doif_AbschaltenBeiAbwesenheit DOIF ([Thomas_Wlan_Device_1] eq "absent" and [Amanda_Wlan_Device_1] eq "absent") (set FBDECT_fbahahttp_24_65_11_C4_14_F1,FBDECT_fbahahttp_08761_0092440 off) DOELSEif (([Thomas_Wlan_Device_1] eq "present" or [Amanda_Wlan_Device_1] eq "present") and [08:00-21:00]) (set FBDECT_fbahahttp_08761_0092440 on)
@kleineslichtHH und supergrobi
Bitte Codetags nutzen, sonst wird es schwer zu lesen und zu helfen.
Thomas bevor Du die sicherlich funktionierenden Ideen die bis jetzt kamen um setzt, überlege ganz kurz ob Du bei den 3 Schaltaktoren bleiben willst oder da eventuell noch 10 dazu kommen. Willst du dann die weiteren 10 auch ins DOIF eintragen?
Empfehlung. Alle Aktoren in eine Strukture. Vielleicht sogar eine Strukture pro Raum und alle Strukturen in eine Wohnungsstruktur. Wenn dann der letzte die Wohnung verlässt machst du ein
set structureWohnungVerbraucher [FILTER=STATE!=off] off
Und alle Aktoren werden ausgeschalten
Structure ist für die Aktoren dein Freund. Da stimme ich CoolTux zu.
Hier ein DOIF Code der bei mir schon lange funktioniert. Ich schalte einen Dummy Anwesenheit on und off. Den kann ich dann überall wo benötigt abgreifen.
defmod DOIF_Anwesenheit DOIF ([Presence_Frank_IP:presence] eq "present" or [Presence_Kathrin_FB:presence] eq "present") (set Anwesenheit on)\
DOELSEIF ([Presence_Frank_IP:presence] eq "absent" and [Presence_Kathrin_FB:presence] eq "absent") (set Anwesenheit off)
attr DOIF_Anwesenheit do always
Gesendet von meinem S3_32 mit Tapatalk
hi, schau mal hier --> https://techblog.one/simple-anwesenheitserkennung-mit-fhem-die-jeder-einrichten-kann/
define handy_Andre PRESENCE lan-ping 192.168.2.22 600
attr handy_Andre userattr presence presence_map structexclude
attr handy_Andre icon it_smartphone
attr handy_Andre presence Anwesenheit
attr handy_Andre room Anwesenheit
define handy_Maik PRESENCE lan-ping 192.168.2.29 660
attr handy_Maik userattr presence presence_map structexclude
attr handy_Maik icon it_smartphone
attr handy_Maik presence Anwesenheit
attr handy_Maik room Anwesenheit
define Anwesenheit structure presence handy_Andre handy_Maik
attr Anwesenheit clientstate_behavior relative
attr Anwesenheit clientstate_priority present absent
attr Anwesenheit icon status_available
attr Anwesenheit room Anwesenheit
mfg maik
Zitat von: Frank_Huber am 22 Juli 2017, 15:45:35
Structure ist für die Aktoren dein Freund. Da stimme ich CoolTux zu.
Hier ein DOIF Code der bei mir schon lange funktioniert. Ich schalte einen Dummy Anwesenheit on und off. Den kann ich dann überall wo benötigt abgreifen.
defmod DOIF_Anwesenheit DOIF ([Presence_Frank_IP:presence] eq "present" or [Presence_Kathrin_FB:presence] eq "present") (set Anwesenheit on)\
DOELSEIF ([Presence_Frank_IP:presence] eq "absent" and [Presence_Kathrin_FB:presence] eq "absent") (set Anwesenheit off)
attr DOIF_Anwesenheit do always
Gesendet von meinem S3_32 mit Tapatalk
Anwesenheit DOIF ([#"_IP$:presence":presence:"present"]) DOELSEIF ([#"_IP$:presence":presence:"absent"] == 2)
attr Anwesenheit cmdState on|off
würde ohne Dummy und Structure funktionieren und wäre für beliebig viele User skalierbar :)
Danke für eure Hilfe.
Ich muss mir das mal in Ruhe anschauen. Mit den Structuren muss ich mich einarbeiten :)
viel zu tun. Aber bin schon weit gekommen. Dachte anfangs FHEM wäre doch easy...
leider ist die Zeit sehr knapp...
zum Winter muss die Heizungssteuerung auch laufen :)
lg
Thomas