Ausschalten diverser Geraete bei Abwesenheit

Begonnen von supergrobi, 22 Juli 2017, 13:58:04

Vorheriges Thema - Nächstes Thema

supergrobi

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

Otto123

#1
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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

kleineslichtHH

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)

Amenophis86

@kleineslichtHH und supergrobi
Bitte Codetags nutzen, sonst wird es schwer zu lesen und zu helfen.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

CoolTux

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
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Frank_Huber

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


TiPpFeHlEr

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

Damian

#7
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 :)


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

supergrobi

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