FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: supergrobi am 22 Juli 2017, 13:58:04

Titel: Ausschalten diverser Geraete bei Abwesenheit
Beitrag von: supergrobi am 22 Juli 2017, 13:58:04
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
Titel: Antw:Ausschalten diverser Geraete bei Abwesenheit
Beitrag von: Otto123 am 22 Juli 2017, 14:14:51
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
Titel: Antw:Ausschalten diverser Geraete bei Abwesenheit
Beitrag von: kleineslichtHH am 22 Juli 2017, 14:15:37
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)
Titel: Antw:Ausschalten diverser Geraete bei Abwesenheit
Beitrag von: Amenophis86 am 22 Juli 2017, 15:24:08
@kleineslichtHH und supergrobi
Bitte Codetags nutzen, sonst wird es schwer zu lesen und zu helfen.
Titel: Antw:Ausschalten diverser Geraete bei Abwesenheit
Beitrag von: CoolTux am 22 Juli 2017, 15:34:21
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
Titel: Antw:Ausschalten diverser Geraete bei Abwesenheit
Beitrag 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

Titel: Antw:Ausschalten diverser Geraete bei Abwesenheit
Beitrag von: TiPpFeHlEr am 22 Juli 2017, 15:52:18
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
Titel: Antw:Ausschalten diverser Geraete bei Abwesenheit
Beitrag von: Damian am 22 Juli 2017, 16:11:15
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 :)


Titel: Antw:Ausschalten diverser Geraete bei Abwesenheit
Beitrag von: supergrobi am 22 Juli 2017, 18:59:33
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