FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Micky am 23 Februar 2018, 13:11:55

Titel: Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 13:11:55
Hi,

habe mal eine Frage kann man das DOIF so umschreiben das er automatisch dem Hausbewohnern bescheid gibt welcher G-Tag gerade anwesend ist.

Also jeder in dem Haus hat so ein G-TAG bluetooth Schlüsselanhänger!

Internals:
   ADDRESS    7C:2F:80:27:C6:E7
   CHANGED   
   DEF        lan-bluetooth 7C:2F:80:27:C6:E7 127.0.0.1:5333 120
   DeviceName 127.0.0.1:5333
   FD         47
   INTERVAL_NORMAL 120
   INTERVAL_PRESENT 120
   MODE       lan-bluetooth
   NAME       MickyGtag
   NOTIFYDEV  global
   NR         43
   NTFY_ORDER 50-MickyGtag
   PARTIAL   
   STATE      present
   TYPE       PRESENCE
   READINGS:
     2018-02-23 12:20:15   command_accepted yes
     2018-02-23 13:09:15   daemon          lepresenced V0.83
     2018-02-23 13:09:15   device_name     Gigaset G-tag
     2018-02-23 13:09:15   model           lan-lepresenced
     2018-02-23 13:09:15   presence        present
     2018-02-23 13:09:15   rssi            -80
     2018-02-23 13:09:15   state           present
   helper:
     CURRENT_STATE present
     CURRENT_TIMEOUT normal
Attributes:
   alias      Micky
   event-on-change-reading .*
   fp_Grundriss 50,200,1
   group      Bewohner
   room       Homekit,Residents
   userReadings battery


Also z.B.: Mein Vater soll immer bescheid bekommen wer gerade zuhause ist.

mein DOIF:

([HomeStatus] eq "away" and
[MickyGtag] eq "present")
(set HomeStatus home, set Pushnachricht msg 'Anwesenheit Micky' 'Micky ist bei dir zuhause - smarthome - wird deaktiviert!')


kann man das umschreiben z.B: Anstatt MickyGtag einfach $GTagName und dies dann in der Pushnachricht übernehmen sodass er weiss wer gerade Zuhause ist?

([HomeStatus] eq "away" and
[$GtagNAME] eq "present")
(set HomeStatus home, set Pushnachricht msg 'Anwesenheit $GtagName' '$GtagName ist bei dir zuhause - smarthome - wird deaktiviert!')

andernfalls müsste ich diese DOIF Bedingung für jeden Hausbewohner schreiben der ein Gtag besitzt ?


hab gerade gesehen wenn er sich verbindet bleibt der immer state Present obwohl ich ihn in alufolie packr und er somit absent sein sollte.
hier mal die log:
2018.02.23 13:20:40 5: ACK received, removing 0107000301020100f9 from dongle sendstack
2018.02.23 13:20:40 1: ERROR evaluating my $SELF='gtag_anwesenheit';my $EVTPART1='absent';my $EVENT='presence: absent';my $EVTPART0='presence:';my $NAME='MickyGtag';my $TYPE='PRESENCE';{
Anwesenheit_check("$EVTPART1", "$NAME"),
Anwesenheit_check_resi("$NAME")
}: Undefined subroutine &main::Anwesenheit_check called at (eval 60) line 2.

2018.02.23 13:20:40 3: gtag_anwesenheit return value: Undefined subroutine &main::Anwesenheit_check called at (eval 60) line 2.

2018.02.23 13:21:07 1: ERROR evaluating my $TYPE='PRESENCE';my $EVTPART0='presence:';my $NAME='MickyGtag';my $EVTPART1='present';my $EVENT='presence: present';my $SELF='gtag_anwesenheit';{
Anwesenheit_check("$EVTPART1", "$NAME"),
Anwesenheit_check_resi("$NAME")
}: Undefined subroutine &main::Anwesenheit_check called at (eval 75) line 2.

2018.02.23 13:21:07 3: gtag_anwesenheit return value: Undefined subroutine &main::Anwesenheit_check called at (eval 75) line 2.


danke auch hierfür nochmal
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 23 Februar 2018, 16:47:39
Ich würde Dir empfehlen das Residents und Roommate Modul zu installieren und ein zu richten. Da hast Du sowas wie, wer ist noch zu Hause, dann gleich als Reading.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 16:59:52
hi,

hatte es schonmal versucht bin aber irgendwie daran gescheitert beim einrichten.

Versuche jetzt erstmal das Problem zu lösen und dann versuche ich Roommate zu installieren


2018.02.23 16:47:07 1: ERROR evaluating my $TYPE='PRESENCE';my $EVTPART0='presence:';my $NAME='MickyGtag';my $EVTPART1='present';my $EVENT='presence: present';my $SELF='gtag_anwesenheit';{
Anwesenheit_check("$EVTPART1", "$NAME"),
Anwesenheit_check_resi("$NAME")
}: Undefined subroutine &main::Anwesenheit_check called at (eval 252) line 2.

2018.02.23 16:47:07 3: gtag_anwesenheit return value: Undefined subroutine &main::Anwesenheit_check called at (eval 252) line 2.


Danke für deine Antwort
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 23 Februar 2018, 17:01:12
Welches Problem meinst Du genau. Ich meine das der Fehler ja da steht. Du rufst anscheinend eine Sub auf die es nicht gibt.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 17:11:01
Also das was ich erkennen konnte, der erkennt meinen Bluetooth G-Tag und anschliessend bleibt er ständig also State Presence auch wenn ich das haus verlasse

Was meinst du mit Sub ?

thank you
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 23 Februar 2018, 17:15:34
Undefined subroutine &main::Anwesenheit_check called at (eval 252) line 2.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 17:25:10
Zitat von: CoolTux am 23 Februar 2018, 17:15:34
Undefined subroutine &main::Anwesenheit_check called at (eval 252) line 2.

also ich hab den jetzt Anwesenheit_check deaktiviert glaub den hatte ich erstellt wollte so ne Prüfung machen wer zuhause ist.

Komisch ist er erkennt den und dann bleibt er ständig online obwohl er alle 120 sec prüft ob er noch anwesend ist.


command_accepted
yes
2018-02-23 12:20:15
daemon
lepresenced V0.83
2018-02-23 17:23:12
device_name
Gigaset G-tag
2018-02-23 17:23:12
model
lan-lepresenced
2018-02-23 17:23:12
presence
present
2018-02-23 17:23:12
rssi
-94
2018-02-23 17:23:12
state
present
2018-02-23 17:23:12



EDIT: hab den G-Tag ca. 3 x in Alu folie gewickelt der zeigt immer noch anwesend, trotz fhem neustart usw.

scheint jetzt zu gehen gefüllt 3/4 mal eingewickelt in Folie.
Versuche jetzt Roomate Module zu installieren.

danke bis hierhin schonmal
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 19:11:55
also keine Fehlermeldungen mehr, aber Roommate will irgendwie keine Pushnachricht schicken wenn ich diese manuell abschicke kommt diese allerdings

hab das Wiki durchgeführt
https://wiki.fhem.de/wiki/PRESENCE

da G-Tag bei mir funktioniert hab ich ab dem Punkt:
Anwesenheitserkennung / Anwesenheitsbenachrichtigung mit G-Tags
angefangen.

Muss man noch ein Residents erstellen ?
es kommt kein Log.



99myUtils.pm
### GTAG ANWESENHEITS CHECK
sub Anwesenheit_check($$) {
my ($EVENT, $NAME) = @_;

# gtag_rot - Alias Marco
# gtag_schwarz - Alias Ulli
# gtag_gruen - Alias Frida
# gtag_orange - Alias Hannah

my $RESIDENT = "rr_"; # Alle GTAGs sind Standardmäßig Residents Roommate
# $RESIDENT = "rg_" if (($NAME eq "gtag_orange") xor ($NAME eq "gtag_weis")); # Hier nur Gäste (Roomguest) Auskommentiert, da ich es so nicht brauche
my $ROOMMATE = ("$RESIDENT" . "$NAME"); # Residentsname zusammenbauen
my $ALIASNAME = AttrVal($ROOMMATE,'alias',$ROOMMATE); # ALIAS des Roommates auslesen

my $GTAG1 = Value('gtag_rot'); # ELTERN
my $GTAG2 = Value('gtag_schwarz'); # ELTERN

my $STATUS = "wahrscheinlich gerade los";
$STATUS = "anwesend" if ($EVENT eq "present"); # Status: anwesend
$STATUS = "unterwegs" if ($EVENT eq "absent"); # Status: unterwegs

Log 1, "$ALIASNAME ist $STATUS."; # LOG Eintrag erzeugen

if (($EVENT eq "present" && Value("Alarm") eq "aktiv") && ($NAME eq "gtag_gruen" xor $NAME eq "gtag_orange")) {
#fhem("set teleBot send ALARMIERUNG BLEIBT AKTIV: $ALIASNAME ist da..."); # Telegram
fhem("set Pushnachricht msg 'ALARMIERUNG BLEIBT AKTIV' '$ALIASNAME ist da...'"); # Pushover

}
elsif (($EVENT eq "present" && Value("Alarm") eq "aktiv") && ($NAME eq "gtag_rot" xor $NAME eq "gtag_schwarz")) {
# fhem("set teleBot send ALARMIERUNG INAKTIV: $ALIASNAME ist da...; set Alarm inaktiv"); # Telegram
fhem("set Pushnachricht msg 'ALARMIERUNG INAKTIV' '$ALIASNAME ist da...'; set Alarm inaktiv"); # Pushover
}
elsif (($EVENT eq "absent" && Value("Alarm") eq "aktiv") && ($NAME eq "gtag_gruen" xor $NAME eq "gtag_orange")) {
# fhem("set teleBot send ALARMIERUNG BLEIBT AKTIV: $ALIASNAME hat das Haus verlassen."); # Telegram
fhem("set Pushnachricht msg 'ALARMIERUNG BLEIBT AKTIV' '$ALIASNAME hat das Haus verlassen.'"); # Pushover
}
elsif (($EVENT eq "absent" && Value("Alarm") eq "inaktiv") && ($GTAG1 eq "absent" && $GTAG2 eq "absent")) {
# fhem("set Alarm aktiv; set teleBot send ALARMIERUNG AKTIV: $ALIASNAME hat das Haus verlassen."); # Telegram
fhem("set Alarm aktiv; set Pushnachricht msg 'ALARMIERUNG AKTIV' '$ALIASNAME hat das Haus verlassen.' '' 0 ''"); # Pushover
}
}

### RESIDENTS
sub Anwesenheit_check_resi($) {
my ($NAME) = @_;
my $ALIASNAME = AttrVal($NAME,'alias',$NAME); # ALIASNAME des GTAGs auslesen

my $RESIDENT = "rr_"; # Als Standard sind alle GTAGs Roommates
$RESIDENT = "rg_" if (($NAME eq "gtag_orange") xor ($NAME eq "gtag_weis")); # Hier nur GTAG Namen der Gäste (Roomguest)
my $ROOMMATE = ("$RESIDENT" . "$ALIASNAME"); # Residentsname zusammenbauen

if (ReadingsVal($NAME,'presence',$NAME) eq "absent") {
fhem("set $ROOMMATE absent"); # Resisents Status von Roommates setzen
}
elsif(ReadingsVal($NAME,'presence',$NAME) eq "present") {
fhem("set $ROOMMATE home"); # Resisents Status von Roommates setzen
}
}


gtag_rot ist mein tag alias Micky

Internals:
   ADDRESS    7C:2F:80:27:C6:E7
   CFGFN     
   CHANGED   
   DEF        lan-bluetooth 7C:2F:80:27:C6:E7 127.0.0.1:5333 120
   DeviceName 127.0.0.1:5333
   FD         51
   INTERVAL_NORMAL 120
   INTERVAL_PRESENT 120
   MODE       lan-bluetooth
   NAME       gtag_rot
   NOTIFYDEV  global
   NR         272
   NTFY_ORDER 50-gtag_gruen
   PARTIAL   
   STATE      present
   TYPE       PRESENCE
   READINGS:
     2018-02-23 19:10:23   daemon          lepresenced V0.83
     2018-02-23 19:10:23   device_name     Gigaset G-tag
     2018-02-23 19:10:23   model           lan-lepresenced
     2018-02-23 19:10:23   presence        present
     2018-02-23 19:10:23   rssi            -55
     2018-02-23 19:10:23   state           present
   helper:
     CURRENT_STATE present
     CURRENT_TIMEOUT normal
Attributes:
   alias      Micky
   devStateIcon present:user_available maybe.*:user_unknown absent:user_away
   event-on-change-reading state
   presenceThreshold 1
   room       9.6_System,Anwesend,Homekit



hab den von grün auf rot umbenannt weil ich das nicht im utility Eltern ummodeln wollte

danke
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 23 Februar 2018, 19:18:19
Wo ist denn Dein Roommate Device?

Du erstellst ein Residents und mehrere Roommates, danach trägst Du bei den Roommates als Attribut Deine presence Devices ein. Dann schalten die presence die Roommates auf anwesend und abwesend. Danach kannst Du dann Deine notifys für die Meldungen auf die Roommates oder auf das Residents Device anlegen. Die Roommates schlaten automatisch das Residents.

Stell es Dir so vor. Das Residents ist Deine Wohnung, die Bewohner (Roommates) bilden ihren Status im Residents ab. Einer schläft einer ist weg das Residents ist also auf schlafend da der Zustand der Wohnung nicht abwesend ist sondern schlafend
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 19:26:33
hi CoolTux,

aber im Wiki steht davon nix ?

Gibt es ein HowTo

edit: also ich erstelle jetzt:

define Bewohner RESIDENTS
und die Roomates sind meine Bewohner also meine gtags diese hab ich ja schon ?

verstehe ich es richtig?

danke
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 23 Februar 2018, 19:30:13
Natürlich gibt es eine Commanderef und ein Wikieintrag zu Residents und Roommates.

https://fhem.de/commandref_DE.html#RESIDENTS

https://fhem.de/commandref_DE.html#ROOMMATE

https://wiki.fhem.de/wiki/Weckautomation#Notwendige_Devices_anlegen
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 19:46:05
danke .....hab jetzt einen

ROOMMATE

Internals:
   CFGFN     
   CHANGED   
   DEF        rgr_Residents
   DURATIONTIMER 1519411350.87665
   NAME       rr_Micky
   NOTIFYDEV  global,
   NR         442
   NTFY_ORDER 50-rr_Micky
   READY      1
   RESIDENTGROUPS rgr_Residents
   STATE      ???
   TYPE       ROOMMATE
   READINGS:
     2018-02-23 19:36:30   durTimerAbsence 00:00:00
     2018-02-23 19:36:30   durTimerAbsence_cr 0
     2018-02-23 19:36:30   durTimerPresence 00:00:00
     2018-02-23 19:36:30   durTimerPresence_cr 0
     2018-02-23 19:36:30   durTimerSleep   00:00:00
     2018-02-23 19:36:30   durTimerSleep_cr 0
   TIMER:
     rr_Micky_DurationTimer:
       HASH       rr_Micky
       MODIFIER   DurationTimer
       NAME       rr_Micky_DurationTimer
Attributes:
   alias      Status
   devStateIcon .*zuhause:user_available:absent .*anwesend:user_available:absent .*abwesend:user_away:home .*verreist:user_ext_away:home .*bettfertig:scene_toilet:asleep .*schlaeft:scene_sleeping:awoken .*schläft:scene_sleeping:awoken .*aufgestanden:scene_sleeping_alternat:home .*:user_unknown:home
   eventMap   home:zuhause absent:abwesend gone:verreist gotosleep:bettfertig asleep:schläft awoken:aufgestanden
   group      Micky
   icon       people_sensor
   room       Residents
   rr_realname group
   sortby     1
   webCmd     state
   widgetOverride state:zuhause,bettfertig,schläft,aufgestanden,abwesend,verreist


und RESIDENTS
angelegt:

Internals:
   CFGFN     
   CHANGED   
   DURATIONTIMER 1519411425.83724
   NAME       rgr_Residents
   NOTIFYDEV  global,rr_Micky
   NR         429
   NTFY_ORDER 50-rgr_Residents
   READY      1
   ROOMMATES  rr_Micky
   STATE      ???
   TYPE       RESIDENTS
   READINGS:
     2018-02-23 19:33:45   durTimerAbsence 00:00:00
     2018-02-23 19:33:45   durTimerAbsence_cr 0
     2018-02-23 19:33:45   durTimerPresence 00:00:00
     2018-02-23 19:33:45   durTimerPresence_cr 0
     2018-02-23 19:33:45   durTimerSleep   00:00:00
     2018-02-23 19:33:45   durTimerSleep_cr 0
   TIMER:
     rgr_Residents_DurationTimer:
       HASH       rgr_Residents
       MODIFIER   DurationTimer
       NAME       rgr_Residents_DurationTimer
Attributes:
   alias      Bewohner
   devStateIcon .*zuhause:user_available:absent .*anwesend:user_available:absent .*abwesend:user_away:home .*verreist:user_ext_away:home .*bettfertig:scene_toilet:asleep .*schlaeft:scene_sleeping:awoken .*schläft:scene_sleeping:awoken .*aufgestanden:scene_sleeping_alternat:home .*:user_unknown:home
   eventMap   home:zuhause absent:abwesend gone:verreist gotosleep:bettfertig asleep:schläft awoken:aufgestanden
   group      Zuhause Status
   icon       control_building_filled
   room       Residents
   webCmd     state
   widgetOverride state:zuhause,bettfertig,schläft,aufgestanden,abwesend,verreist


muss ich jetzt in der 99myUtils.pm

folgende daten anpassen übernehmen ?

my $RESIDENT = "[b]rr_[/b]"; # Alle GTAGs sind Standardmäßig Residents Roommate
my $ROOMMATE = ("$RESIDENT" . "$NAME"); # Residentsname zusammenbauen
my $ALIASNAME = AttrVal($ROOMMATE,'alias',$ROOMMATE); # ALIAS des Roommates auslesen


ersetzten mit Gruppe:
rgr_Residents
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 23 Februar 2018, 19:51:27
Deine myUtils kannste erstmal bei Seite legen. Jetzt machst erstmal bei Deinem Roommate ein Attribut presence und trägst da dein presence device ein.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 20:01:35
Zitat von: CoolTux am 23 Februar 2018, 19:51:27
Deine myUtils kannste erstmal bei Seite legen. Jetzt machst erstmal bei Deinem Roommate ein Attribut presence und trägst da dein presence device ein.

attr rgr_Residents presence

kann ich diesen Nutzen ? Sorry ich habs noch nicht verstanden

Internals:
   ADDRESS    7C:2F:80:27:C6:E7
   CFGFN     
   CHANGED   
   DEF        lan-bluetooth 7C:2F:80:27:C6:E7 127.0.0.1:5333 120
   DeviceName 127.0.0.1:5333
   FD         51
   INTERVAL_NORMAL 120
   INTERVAL_PRESENT 120
   MODE       lan-bluetooth
   NAME       gtag_rot
   NOTIFYDEV  global
   NR         272
   NTFY_ORDER 50-gtag_gruen
   PARTIAL   
   STATE      present
   TYPE       PRESENCE
   READINGS:
     2018-02-23 19:59:47   daemon          lepresenced V0.83
     2018-02-23 19:59:47   device_name     Gigaset G-tag
     2018-02-23 19:59:47   model           lan-lepresenced
     2018-02-23 19:59:47   presence        present
     2018-02-23 19:59:47   rssi            -56
     2018-02-23 19:59:47   state           present
   helper:
     CURRENT_STATE present
     CURRENT_TIMEOUT normal
Attributes:
   alias      Micky
   devStateIcon present:user_available maybe.*:user_unknown absent:user_away
   event-on-change-reading state
   presenceThreshold 1
   room       9.6_System,Anwesend,Homekit
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 23 Februar 2018, 20:03:21
du nutzt gar nichts vom presence Device für die Anweseneit.


attr rr_Micky rr_presenceDevices gtag_rot


Das machst Du erstmal
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 20:04:53
ok.

dache

attr r_Micky rr_presenceDevices gtag_rot

wäre schon ein Bewohner ...  :'(

habs gemacht:

attr rr_Micky rr_presenceDevices gtag_rot

muss ich jetzt in der myUtility

rr_Micky eintragen ?
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 23 Februar 2018, 20:13:41
Jetzt testest du erstmal. Wenn presence Device absent ist muss der Roommate auch absent sein und wenn Presence Device present an zeigt muss Roommate home haben.

In der Zwischenzeit schau ich mir mal deine myUtils an.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 23 Februar 2018, 20:20:46
Deine myUtils kannst weg werfen. Nimm dir die Zeit und schaue dir das Residents Device in Ruhe an. Lese dir die Readings durch und schaue was passiert wenn du ein Roommate von hand auf absent und wieder Home stellst.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 20:30:12
hi ja ich stelle packe den g-tag weg (alufolie)

und es switch auf absent und umgekehrt klappt auch.

presence abwesend
sowie
presence anwesend



Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 23 Februar 2018, 20:31:55
Na dann

Zitat von: CoolTux am 23 Februar 2018, 20:20:46
Deine myUtils kannst weg werfen. Nimm dir die Zeit und schaue dir das Residents Device in Ruhe an. Lese dir die Readings durch und schaue was passiert wenn du ein Roommate von hand auf absent und wieder Home stellst.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 20:34:45
Zitat von: CoolTux am 23 Februar 2018, 20:20:46
Deine myUtils kannst weg werfen. Nimm dir die Zeit und schaue dir das Residents Device in Ruhe an. Lese dir die Readings durch und schaue was passiert wenn du ein Roommate von hand auf absent und wieder Home stellst.

also kann ich aus der myUtils

##### GTAG ANWESENHEITS CHECK
sub Anwesenheit_check($$) {
my ($EVENT, $NAME) = @_;

wieder raus nehmen ?

das war ja nur von der Wiki, wollte das dann umschreiben ?
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 20:38:34
Wenn ich es von hand ändere Springen beide auf das was ich geändert habe

genau so wie wenn der gtag anwesend bzw. abwesend ist.

lastState
home
2018-02-23 20:35:43
presence
absent
2018-02-23 20:35:43
residentsAbsent
1
2018-02-23 20:35:43
residentsAbsentDevs
rr_Micky
2018-02-23 20:35:43


Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 23 Februar 2018, 20:43:01
Kannst alles löschen. Deine Nachrichten kann man mit kurzen Notifys oder wegen meiner einer einfachen vernünftigen Sub machen.


Bitte lese dir in Ruhe die Readings Deines Residents Devices durch. Dort findest du alle Infos welche du in der myUtils angegeben hast.

Was genau willst du nun eigentlich machen wenn ein Roommate absent ist oder wenn alle Roommates absent und somit Residents auch absent ist?
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 20:55:07
Hi CoolTux,

danke nochmal für deine Mühe

also ich will das zB.: ich Mitteilung bekommt per Pushnachricht dies habe ich schon eingerichtet und funktioniert super über Pushover wenn jemand zuhause ist.

hatte das über DOIF allerdings nur bei mir, wenn ich zuhause ankam gab es eine Mitteilung
du bist zuhause, smarthome wird auf home State = HOME gestellt und smart home bleibt Inaktiv.

Wenn ich das haus verlassen habe, wurden die Nachricht zugesendet
du bist abwesend, smarthome wird auf home state = away geteilt und smart home ist aktiviert.
(lichter sind aus gegangen wenn ich sie angelassen habe und Rollo Steuerung wurde bei Away ebenso per DOIF gemacht sprich runtergefahren nach Uhrzeit)

Jetzt wollte ich mehrere Leute einbinden per GTAG und im DOIF hätte ich dann alles 3-4 mal kopieren müssen und den GTAG name eintragen müssen.
deshalb mittels Roommate

kannst du mir bitte sagen wie ich das mal so Renamen kann rr_Micky wäre doch jetzt mein ROOMMATE richtig ?

also wenn es stimmt das rr_ mein Roommate ist würde ich es

rr_Micky rename Roommate ändern der übersichtshalber

also Roommate = Bewohner
und das Residents = Wohnung

hab das Gefühl das es bei mir andersrum ist.

Internals:
   AUTOGONE   1519544143
   DEF        rgr_Residents
   DURATIONTIMER 1519415623.97118
   NAME       rr_Micky
   NOTIFYDEV  global,gtag_rot
   NR         117
   NTFY_ORDER 50-rr_Micky
   READY      1
   RESIDENTGROUPS rgr_Residents
   STATE      abwesend
   TYPE       ROOMMATE
   READINGS:
     2018-02-23 20:52:43   durTimerAbsence 00:17:00
     2018-02-23 20:52:43   durTimerAbsence_cr 17
     2018-02-23 20:22:19   durTimerPresence 00:00:00
     2018-02-23 20:22:19   durTimerPresence_cr 0
     2018-02-23 19:36:30   durTimerSleep   00:00:00
     2018-02-23 19:36:30   durTimerSleep_cr 0
     2018-02-23 20:35:35   lastArrival     2018-02-23 20:35:35
     2018-02-23 20:35:43   lastDeparture   2018-02-23 20:35:43
     2018-02-23 20:35:35   lastDurAbsence  00:13:16
     2018-02-23 20:35:35   lastDurAbsence_cr 13
     2018-02-23 20:35:43   lastDurPresence 00:00:08
     2018-02-23 20:35:43   lastDurPresence_cr 0
     2018-02-23 20:22:19   lastLocation    home
     2018-02-23 20:35:43   lastMood        calm
     2018-02-23 20:35:43   lastState       home
     2018-02-23 20:22:19   location        underway
     2018-02-23 20:35:43   mood            -
     2018-02-23 20:35:43   presence        absent
     2018-02-23 20:35:43   state           absent
     2018-02-23 19:47:37   wayhome         0
   TIMER:
     rr_Micky_AutoGone:
       HASH       rr_Micky
       MODIFIER   AutoGone
       NAME       rr_Micky_AutoGone
     rr_Micky_DurationTimer:
       HASH       rr_Micky
       MODIFIER   DurationTimer
       NAME       rr_Micky_DurationTimer
Attributes:
   alias      Status
   devStateIcon .*zuhause:user_available:absent .*anwesend:user_available:absent .*abwesend:user_away:home .*verreist:user_ext_away:home .*bettfertig:scene_toilet:asleep .*schlaeft:scene_sleeping:awoken .*schläft:scene_sleeping:awoken .*aufgestanden:scene_sleeping_alternat:home .*:user_unknown:home
   eventMap   home:zuhause absent:abwesend gone:verreist gotosleep:bettfertig asleep:schläft awoken:aufgestanden
   group      Micky
   icon       people_sensor
   room       Residents
   rr_presenceDevices gtag_rot
   rr_realname group
   sortby     1
   webCmd     state
   widgetOverride state:zuhause,bettfertig,schläft,aufgestanden,abwesend,verreist



Internals:
   AUTOGONE   1519470801
   DURATIONTIMER 1519415684.00395
   NAME       rgr_Residents
   NOTIFYDEV  global,rr_Micky
   NR         116
   NTFY_ORDER 50-rgr_Residents
   READY      1
   ROOMMATES  rr_Micky
   STATE      abwesend
   TYPE       RESIDENTS
   READINGS:
     2018-02-23 20:53:44   durTimerAbsence 00:18:01
     2018-02-23 20:53:44   durTimerAbsence_cr 18
     2018-02-23 20:22:19   durTimerPresence 00:00:00
     2018-02-23 20:22:19   durTimerPresence_cr 0
     2018-02-23 19:33:45   durTimerSleep   00:00:00
     2018-02-23 19:33:45   durTimerSleep_cr 0
     2018-02-23 20:35:43   lastActivity    absent
     2018-02-23 20:35:43   lastActivityBy  Micky
     2018-02-23 20:35:43   lastActivityByDev rr_Micky
     2018-02-23 20:35:35   lastArrival     2018-02-23 20:35:35
     2018-02-23 20:35:43   lastDeparture   2018-02-23 20:35:43
     2018-02-23 20:35:35   lastDurAbsence  00:13:16
     2018-02-23 20:35:35   lastDurAbsence_cr 13
     2018-02-23 20:35:43   lastDurPresence 00:00:08
     2018-02-23 20:35:43   lastDurPresence_cr 0
     2018-02-23 20:35:43   lastState       home
     2018-02-23 20:35:43   presence        absent
     2018-02-23 20:35:43   residentsAbsent 1
     2018-02-23 20:35:43   residentsAbsentDevs rr_Micky
     2018-02-23 20:35:43   residentsAbsentNames Micky
     2018-02-23 19:47:37   residentsAsleep 0
     2018-02-23 19:47:37   residentsAsleepDevs -
     2018-02-23 19:47:37   residentsAsleepNames -
     2018-02-23 19:47:37   residentsAwoken 0
     2018-02-23 19:47:37   residentsAwokenDevs -
     2018-02-23 19:47:37   residentsAwokenNames -
     2018-02-23 19:47:37   residentsGone   0
     2018-02-23 19:47:37   residentsGoneDevs -
     2018-02-23 19:47:37   residentsGoneNames -
     2018-02-23 19:47:37   residentsGotosleep 0
     2018-02-23 19:47:37   residentsGotosleepDevs -
     2018-02-23 19:47:37   residentsGotosleepNames -
     2018-02-23 20:35:43   residentsHome   0
     2018-02-23 20:35:43   residentsHomeDevs -
     2018-02-23 20:35:43   residentsHomeNames -
     2018-02-23 19:47:37   residentsTotal  1
     2018-02-23 20:35:43   residentsTotalAbsent 1
     2018-02-23 20:35:43   residentsTotalAbsentDevs rr_Micky
     2018-02-23 20:35:43   residentsTotalAbsentNames Micky
     2018-02-23 19:47:37   residentsTotalGuests 0
     2018-02-23 19:47:37   residentsTotalGuestsAbsent 0
     2018-02-23 19:47:37   residentsTotalGuestsAbsentDevs -
     2018-02-23 19:47:37   residentsTotalGuestsAbsentNames -
     2018-02-23 19:47:37   residentsTotalGuestsPresent 0
     2018-02-23 19:47:37   residentsTotalGuestsPresentDevs -
     2018-02-23 19:47:37   residentsTotalGuestsPresentNames -
     2018-02-23 20:35:43   residentsTotalPresent 0
     2018-02-23 20:35:43   residentsTotalPresentDevs -
     2018-02-23 20:35:43   residentsTotalPresentNames -
     2018-02-23 19:47:37   residentsTotalRoommates 1
     2018-02-23 20:35:43   residentsTotalRoommatesAbsent 1
     2018-02-23 20:35:43   residentsTotalRoommatesAbsentDevs rr_Micky
     2018-02-23 20:35:43   residentsTotalRoommatesAbsentNames Micky
     2018-02-23 20:35:43   residentsTotalRoommatesPresent 0
     2018-02-23 20:35:43   residentsTotalRoommatesPresentDevs -
     2018-02-23 20:35:43   residentsTotalRoommatesPresentNames -
     2018-02-23 19:47:37   residentsTotalWakeup 0
     2018-02-23 19:47:37   residentsTotalWakeupDevs -
     2018-02-23 19:47:37   residentsTotalWakeupNames -
     2018-02-23 19:47:37   residentsTotalWayhome 0
     2018-02-23 19:47:37   residentsTotalWayhomeDelayed 0
     2018-02-23 19:47:37   residentsTotalWayhomeDelayedDevs -
     2018-02-23 19:47:37   residentsTotalWayhomeDelayedNames -
     2018-02-23 19:47:37   residentsTotalWayhomeDevs -
     2018-02-23 19:47:37   residentsTotalWayhomeNames -
     2018-02-23 20:35:43   state           absent
   TIMER:
     rgr_Residents_AutoGone:
       HASH       rgr_Residents
       MODIFIER   AutoGone
       NAME       rgr_Residents_AutoGone
     rgr_Residents_DurationTimer:
       HASH       rgr_Residents
       MODIFIER   DurationTimer
       NAME       rgr_Residents_DurationTimer
Attributes:
   alias      Bewohner
   devStateIcon .*zuhause:user_available:absent .*anwesend:user_available:absent .*abwesend:user_away:home .*verreist:user_ext_away:home .*bettfertig:scene_toilet:asleep .*schlaeft:scene_sleeping:awoken .*schläft:scene_sleeping:awoken .*aufgestanden:scene_sleeping_alternat:home .*:user_unknown:home
   eventMap   home:zuhause absent:abwesend gone:verreist gotosleep:bettfertig asleep:schläft awoken:aufgestanden
   group      Zuhause Status
   icon       control_building_filled
   room       Residents
   webCmd     state
   widgetOverride state:zuhause,bettfertig,schläft,aufgestanden,abwesend,verreist


danke
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 23 Februar 2018, 21:13:55
Zitat von: Micky am 23 Februar 2018, 20:55:07
Hi CoolTux,

danke nochmal für deine Mühe

also ich will das zB.: ich Mitteilung bekommt per Pushnachricht dies habe ich schon eingerichtet und funktioniert super über Pushover wenn jemand zuhause ist.

hatte das über DOIF allerdings nur bei mir, wenn ich zuhause ankam gab es eine Mitteilung
du bist zuhause, smarthome wird auf home State = HOME gestellt und smart home bleibt Inaktiv.

Wenn ich das haus verlassen habe, wurden die Nachricht zugesendet
du bist abwesend, smarthome wird auf home state = away geteilt und smart home ist aktiviert.
(lichter sind aus gegangen wenn ich sie angelassen habe und Rollo Steuerung wurde bei Away ebenso per DOIF gemacht sprich runtergefahren nach Uhrzeit)

Jetzt wollte ich mehrere Leute einbinden per GTAG und im DOIF hätte ich dann alles 3-4 mal kopieren müssen und den GTAG name eintragen müssen.
deshalb mittels Roommate

kannst du mir bitte sagen wie ich das mal so Renamen kann rr_Micky wäre doch jetzt mein ROOMMATE richtig ?

also Roommate = Bewohner
und das Residents = Wohnung

hab das Gefühl das es bei mir andersrum ist.

Internals:
   AUTOGONE   1519544143
   DEF        rgr_Residents
   DURATIONTIMER 1519415623.97118
   NAME       rr_Micky
   NOTIFYDEV  global,gtag_rot
   NR         117
   NTFY_ORDER 50-rr_Micky
   READY      1
   RESIDENTGROUPS rgr_Residents
   STATE      abwesend
   TYPE       ROOMMATE
   READINGS:
     2018-02-23 20:52:43   durTimerAbsence 00:17:00
     2018-02-23 20:52:43   durTimerAbsence_cr 17
     2018-02-23 20:22:19   durTimerPresence 00:00:00
     2018-02-23 20:22:19   durTimerPresence_cr 0
     2018-02-23 19:36:30   durTimerSleep   00:00:00
     2018-02-23 19:36:30   durTimerSleep_cr 0
     2018-02-23 20:35:35   lastArrival     2018-02-23 20:35:35
     2018-02-23 20:35:43   lastDeparture   2018-02-23 20:35:43
     2018-02-23 20:35:35   lastDurAbsence  00:13:16
     2018-02-23 20:35:35   lastDurAbsence_cr 13
     2018-02-23 20:35:43   lastDurPresence 00:00:08
     2018-02-23 20:35:43   lastDurPresence_cr 0
     2018-02-23 20:22:19   lastLocation    home
     2018-02-23 20:35:43   lastMood        calm
     2018-02-23 20:35:43   lastState       home
     2018-02-23 20:22:19   location        underway
     2018-02-23 20:35:43   mood            -
     2018-02-23 20:35:43   presence        absent
     2018-02-23 20:35:43   state           absent
     2018-02-23 19:47:37   wayhome         0
   TIMER:
     rr_Micky_AutoGone:
       HASH       rr_Micky
       MODIFIER   AutoGone
       NAME       rr_Micky_AutoGone
     rr_Micky_DurationTimer:
       HASH       rr_Micky
       MODIFIER   DurationTimer
       NAME       rr_Micky_DurationTimer
Attributes:
   alias      Status
   devStateIcon .*zuhause:user_available:absent .*anwesend:user_available:absent .*abwesend:user_away:home .*verreist:user_ext_away:home .*bettfertig:scene_toilet:asleep .*schlaeft:scene_sleeping:awoken .*schläft:scene_sleeping:awoken .*aufgestanden:scene_sleeping_alternat:home .*:user_unknown:home
   eventMap   home:zuhause absent:abwesend gone:verreist gotosleep:bettfertig asleep:schläft awoken:aufgestanden
   group      Micky
   icon       people_sensor
   room       Residents
   rr_presenceDevices gtag_rot
   rr_realname group
   sortby     1
   webCmd     state
   widgetOverride state:zuhause,bettfertig,schläft,aufgestanden,abwesend,verreist



Internals:
   AUTOGONE   1519470801
   DURATIONTIMER 1519415684.00395
   NAME       rgr_Residents
   NOTIFYDEV  global,rr_Micky
   NR         116
   NTFY_ORDER 50-rgr_Residents
   READY      1
   ROOMMATES  rr_Micky
   STATE      abwesend
   TYPE       RESIDENTS
   READINGS:
     2018-02-23 20:53:44   durTimerAbsence 00:18:01
     2018-02-23 20:53:44   durTimerAbsence_cr 18
     2018-02-23 20:22:19   durTimerPresence 00:00:00
     2018-02-23 20:22:19   durTimerPresence_cr 0
     2018-02-23 19:33:45   durTimerSleep   00:00:00
     2018-02-23 19:33:45   durTimerSleep_cr 0
     2018-02-23 20:35:43   lastActivity    absent
     2018-02-23 20:35:43   lastActivityBy  Micky
     2018-02-23 20:35:43   lastActivityByDev rr_Micky
     2018-02-23 20:35:35   lastArrival     2018-02-23 20:35:35
     2018-02-23 20:35:43   lastDeparture   2018-02-23 20:35:43
     2018-02-23 20:35:35   lastDurAbsence  00:13:16
     2018-02-23 20:35:35   lastDurAbsence_cr 13
     2018-02-23 20:35:43   lastDurPresence 00:00:08
     2018-02-23 20:35:43   lastDurPresence_cr 0
     2018-02-23 20:35:43   lastState       home
     2018-02-23 20:35:43   presence        absent
     2018-02-23 20:35:43   residentsAbsent 1
     2018-02-23 20:35:43   residentsAbsentDevs rr_Micky
     2018-02-23 20:35:43   residentsAbsentNames Micky
     2018-02-23 19:47:37   residentsAsleep 0
     2018-02-23 19:47:37   residentsAsleepDevs -
     2018-02-23 19:47:37   residentsAsleepNames -
     2018-02-23 19:47:37   residentsAwoken 0
     2018-02-23 19:47:37   residentsAwokenDevs -
     2018-02-23 19:47:37   residentsAwokenNames -
     2018-02-23 19:47:37   residentsGone   0
     2018-02-23 19:47:37   residentsGoneDevs -
     2018-02-23 19:47:37   residentsGoneNames -
     2018-02-23 19:47:37   residentsGotosleep 0
     2018-02-23 19:47:37   residentsGotosleepDevs -
     2018-02-23 19:47:37   residentsGotosleepNames -
     2018-02-23 20:35:43   residentsHome   0
     2018-02-23 20:35:43   residentsHomeDevs -
     2018-02-23 20:35:43   residentsHomeNames -
     2018-02-23 19:47:37   residentsTotal  1
     2018-02-23 20:35:43   residentsTotalAbsent 1
     2018-02-23 20:35:43   residentsTotalAbsentDevs rr_Micky
     2018-02-23 20:35:43   residentsTotalAbsentNames Micky
     2018-02-23 19:47:37   residentsTotalGuests 0
     2018-02-23 19:47:37   residentsTotalGuestsAbsent 0
     2018-02-23 19:47:37   residentsTotalGuestsAbsentDevs -
     2018-02-23 19:47:37   residentsTotalGuestsAbsentNames -
     2018-02-23 19:47:37   residentsTotalGuestsPresent 0
     2018-02-23 19:47:37   residentsTotalGuestsPresentDevs -
     2018-02-23 19:47:37   residentsTotalGuestsPresentNames -
     2018-02-23 20:35:43   residentsTotalPresent 0
     2018-02-23 20:35:43   residentsTotalPresentDevs -
     2018-02-23 20:35:43   residentsTotalPresentNames -
     2018-02-23 19:47:37   residentsTotalRoommates 1
     2018-02-23 20:35:43   residentsTotalRoommatesAbsent 1
     2018-02-23 20:35:43   residentsTotalRoommatesAbsentDevs rr_Micky
     2018-02-23 20:35:43   residentsTotalRoommatesAbsentNames Micky
     2018-02-23 20:35:43   residentsTotalRoommatesPresent 0
     2018-02-23 20:35:43   residentsTotalRoommatesPresentDevs -
     2018-02-23 20:35:43   residentsTotalRoommatesPresentNames -
     2018-02-23 19:47:37   residentsTotalWakeup 0
     2018-02-23 19:47:37   residentsTotalWakeupDevs -
     2018-02-23 19:47:37   residentsTotalWakeupNames -
     2018-02-23 19:47:37   residentsTotalWayhome 0
     2018-02-23 19:47:37   residentsTotalWayhomeDelayed 0
     2018-02-23 19:47:37   residentsTotalWayhomeDelayedDevs -
     2018-02-23 19:47:37   residentsTotalWayhomeDelayedNames -
     2018-02-23 19:47:37   residentsTotalWayhomeDevs -
     2018-02-23 19:47:37   residentsTotalWayhomeNames -
     2018-02-23 20:35:43   state           absent
   TIMER:
     rgr_Residents_AutoGone:
       HASH       rgr_Residents
       MODIFIER   AutoGone
       NAME       rgr_Residents_AutoGone
     rgr_Residents_DurationTimer:
       HASH       rgr_Residents
       MODIFIER   DurationTimer
       NAME       rgr_Residents_DurationTimer
Attributes:
   alias      Bewohner
   devStateIcon .*zuhause:user_available:absent .*anwesend:user_available:absent .*abwesend:user_away:home .*verreist:user_ext_away:home .*bettfertig:scene_toilet:asleep .*schlaeft:scene_sleeping:awoken .*schläft:scene_sleeping:awoken .*aufgestanden:scene_sleeping_alternat:home .*:user_unknown:home
   eventMap   home:zuhause absent:abwesend gone:verreist gotosleep:bettfertig asleep:schläft awoken:aufgestanden
   group      Zuhause Status
   icon       control_building_filled
   room       Residents
   webCmd     state
   widgetOverride state:zuhause,bettfertig,schläft,aufgestanden,abwesend,verreist


danke

Die Namen passen entsprechend zum TYPE. Alles okay.


Das mag für Dich komisch klingen, aber du kannst keine Nachricht bekommen wenn jemand zu Hause ist. FHEM arbeitet Ereignisorientiert. Das klingt plump aber auf sowas muss man achten. Du kannst also nur eine Nachricht bekommen wenn jemand nach Hause kommt oder das Haus verlässt. Die Nachricht wiederum kann dann natürlich mehr Daten enthalten.

Schau dir im Residents Device man das Reading residentsTotalPresent an. Darauf ein Notify zum auslösen. Kleine Abfrage ob $EVTPART1 größer null ist wenn ja schicke per Push die Nacht Reading residentsTotalPresentNames sind noch zu Hause
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 21:22:21
wenn ich jetzt weitere anlegen möchte, muss ich erstmal

bluetooth gtag anlegen und dann

attr rr_Micky rr_presenceDevices NEUER GTAG_NAME?

ich finde es schon etwas verwirrend finde den Namen rr_Micky auch nicht gut wenn das die Bewohner sind dann passt es doch nicht.

Würde es eher umschreiben von rr_Micky in rr_bewohner
und
rgr_Residents = rgr_Home

sorry liegt an mir, verstehe das nicht so ganz.

Werde mir deine genannten Punkte durchlesen.

danke nochmals
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 23 Februar 2018, 21:27:29
Meinst Du jetzt neue Bewohner oder neue GTags für den selben Bewohner. Also so das der Bewohner 2 oder 3 GTags hat?
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 21:30:27
bspl. Frau Gtag2 , kind gtag3, usw.

selbe Wohnung
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 21:41:28
entweder bin ich zu dumm oder Roommate ist unlogisch

wenn ich

HOME auf abwesend stelle sprich rgr_Residents
springt auch

Micky auf abwesend sprich rr_Micky

ist doch doppelt gemoppelt ?
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 23 Februar 2018, 21:43:12
attr rr_Micky rr_presenceDevices NEUER GTAG_NAME?

Würde es eher umschreiben von rr_Micky in rr_bewohner



Natürlich legst Du für Deine Frau und Dein Kind jeweils weitere Roommates an.
Das machst Du mit

set rgr_Residents addRoommate NAMEderFRAU

Du kannst vorher auch Deine Residents umbenennen.

copy rgr_Residents rgr_Wohnung

Du wirst dann einfach in Deinem schon vorhanden Roommate noch mal unter Detail des Roommate Devices auf DEF klicken müssen und die Zeile auf das neue Residents an passen.
Danach kannst dann die anderen Roommates erstellen.
Dann die anderen presence devices und die presence devices entsprechend den Roommates zu ordnen.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 23 Februar 2018, 21:45:30
Zitat von: Micky am 23 Februar 2018, 21:41:28
entweder bin ich zu dumm oder Roommate ist unlogisch

wenn ich

HOME auf abwesend stelle sprich rgr_Residents
springt auch

Micky auf abwesend sprich rr_Micky

ist doch doppelt gemoppelt ?

Was ist HOME? Welches Device stellst Du auf abwesend? Man stellt immer und ausschließlich ein Roommate Device und sonst nichts. Nichts anderes macht ja auch des presence Device. Nur die Roommate Devices reagieren auf das entsprechend zugeordnete presence device
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 21:46:52
Zitat von: CoolTux am 23 Februar 2018, 21:13:55
Schau dir im Residents Device man das Reading residentsTotalPresent an. Darauf ein Notify zum auslösen. Kleine Abfrage ob $EVTPART1 größer null ist wenn ja schicke per Push die Nacht Reading residentsTotalPresentNames sind noch zu Hause

residentsTotalPresentNames = Gerätealias aller aktiven Bewohner, die momentan zu Hause sind
residentsTotalPresentDevs = Gerätename aller aktiven Bewohner, die momentan zu Hause sind

das sind tolle INFOs, diese könnte man doch per Pushnachricht senden wer gerade zuhause angekommen Home ist
fhem("set Pushnachricht msg 'Smarthome wird deaktiviert' '$ALIASNAME ist da...'")
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 21:51:46
Zitat von: CoolTux am 23 Februar 2018, 21:45:30
Was ist HOME? Welches Device stellst Du auf abwesend? Man stellt immer und ausschließlich ein Roommate Device und sonst nichts. Nichts anderes macht ja auch des presence Device. Nur die Roommate Devices reagieren auf das entsprechend zugeordnete presence device

ich habe bei beiden  Auswahlmöglichkeiten unter Group Residents die gleichen Eigenschaften

rgr_Residents --   zuhause / bettfertig / schläft / anwesend /abwesend  / verreist
rr_Micky --   zuhause / bettfertig / schläft / anwesend /abwesend  / verreist

sobald ich bei einem bettfertig stelle spring  es bei dem Anderen ebenso darauf und umgekehrt auch
schläft bei rr_Micky dann ist rgr_Residents ebenso schläft ....doppelt gemoppelt ?
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 23 Februar 2018, 21:56:24
Kann man machen.
fhem("set Pushnachricht msg 'Smarthome wird deaktiviert' '$ALIASNAME ist da...'")
ist aber totaler Unfug. Warum gehst Du auf Perl Ebene um dann doch wieder einen FHEM Befehl aus zu führen

set Pushnachricht msg title=ISmarthome wird deaktiviert! [rgr_Wohnung:residentsTotalPresentNames] ist noch zu Hause.

Genau so kannst Du es machen




Zitat von: Micky am 23 Februar 2018, 21:51:46
ich habe bei beiden  Auswahlmöglichkeiten unter Group Residents die gleichen Eigenschaften

rgr_Residents --   zuhause / bettfertig / schläft / anwesend /abwesend  / verreist
rr_Micky -- rgr_Residents --   zuhause / bettfertig / schläft / anwesend /abwesend  / verreist

sobald ich bei einem bettfertig stelle spring  es bei dem Anderen ebenso darauf und umgekehrt auch
schläft bei rr_Micky dann ist rgr_Residents ebenso schläft ....doppelt gemoppelt ?


Natürlich ist so. Wenn Du nur einen Bewohner hast so ist der Zustand dieses einen Bewohners auch gleich der Zustand der Wohnung. Hast Du 2 Bewohner sieht es schon anders aus.
Einer ist home einer ist schlafend bedeutet die Wohnung ist home. Denn nur weil nur einer schläft heißt es ja nicht das die Wohnung schläft.
Stell Dir vor Du willst das alles aus geht (Licht und Verbraucher) wenn die Wohnung schläft, ausserdem soll die Heizung runter gedreht werden wenn die Wohnung schläft. Wenn nun einer schlafen geht ist der andere im kalten und dunklen. Daher ist die Wohnung immer nur schlafend wenn alle Bewohner schlafen. Logisch, oder?
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 22:06:09
 ;D

stimmt sorry CoolTux

naja man kann das einstellen wenn ich der jenige bin der schläft ist doch alles gut !   :D

na hast recht und habs verstanden.
Hab also nur den Alias name geändert
danke

Zitat von: CoolTux am 23 Februar 2018, 21:43:12
attr rr_Micky rr_presenceDevices NEUER GTAG_NAME?

Würde es eher umschreiben von rr_Micky in rr_bewohner



Natürlich legst Du für Deine Frau und Dein Kind jeweils weitere Roommates an.
Das machst Du mit

set rgr_Residents addRoommate NAMEderFRAU

Du kannst vorher auch Deine Residents umbenennen.

copy rgr_Residents rgr_Wohnung

Du wirst dann einfach in Deinem schon vorhanden Roommate noch mal unter Detail des Roommate Devices auf DEF klicken müssen und die Zeile auf das neue Residents an passen.
Danach kannst dann die anderen Roommates erstellen.
Dann die anderen presence devices und die presence devices entsprechend den Roommates zu ordnen.

Also ich habe ja schon gtag_FRau usw. eingerichtet

list:

Internals:
   ADDRESS    22:22:22:22:22:22
   CHANGED   
   DEF        lan-bluetooth 22:22:22:22:22:22 127.0.0.1:5333 120
   DeviceName 127.0.0.1:5333
   FD         4
   INTERVAL_NORMAL 120
   INTERVAL_PRESENT 120
   MODE       lan-bluetooth
   NAME       FrauGtag
   NOTIFYDEV  global
   NR         38
   NTFY_ORDER 50-FrauGtag
   PARTIAL   
   STATE      absent
   TYPE       PRESENCE
   READINGS:
     2018-02-23 12:20:16   command_accepted yes
     2018-02-23 22:04:14   daemon          lepresenced V0.83
     2018-02-23 22:04:14   model           lan-lepresenced
     2018-02-23 22:04:14   presence        absent
     2018-02-23 22:04:14   rssi            unreachable
     2018-02-23 22:04:14   state           absent
   helper:
     ABSENT_COUNT 2
     CURRENT_TIMEOUT normal
Attributes:
   absenceThreshold 3
   alias      Frau
   bluetoothHciDevice 22:22:22:22:22:22
   devStateIcon present:user_available maybe.*:user_unknown absent:user_away
   event-on-change-reading state
   fp_Grundriss 50,200,1
   presenceThreshold 1
   room       9.6_System,Anwesend,HomeKit
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 23 Februar 2018, 22:09:25
Hast auch schon ein Roommate angelegt?

set rgr_Residents addRoommate NAMEderFRAU
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 22:13:29
ja hab ich.

jetzt muss ich den gtag wieder als Attribut reinnehmen ?


attr rr_Frau rr_presenceDevices gtag_FRAU

?
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 23 Februar 2018, 22:15:55
Zitat von: Micky am 23 Februar 2018, 22:13:29
ja hab ich.

jetzt muss ich den gtag wieder als Attribut reinnehmen ?


attr rr_Micky rr_presenceDevices gtag_FRAU

?

NEIN

attr rr_ROOMMATEderFRAU rr_presenceDevices gtag_FRAU

Ich hoffe doch das Du dem Roommate Deiner Frau nicht den Namen rr_Micky gegeben hast
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 23 Februar 2018, 22:33:17
ne hab noch nicht gemacht ausser das die GTAGS blanco hinterlegt sind.

also so wollte ich vorgehen:

set rgr_Residents addRoommate rr_Frau


attr rr_Frau rr_presenceDevices gtag_FRAU

ist es so richtig von der Vorgehensweise ?

Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 23 Februar 2018, 22:35:17
Jepp. Perfekt.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 24 Februar 2018, 01:57:38
also würdest du es auch über DOIF realisieren ?

das ist die Begrüßung bei Ankunft

([HomeStatus] eq "home")
(set Pushnachricht msg title=Smarthome wird deaktiviert! [rgr_Residents:residentsTotalPresentNames] ist zu Hause.)


beim gehen:


([HomeStatus] eq "home" and [rgr_Residents:residentsHome] eq "0" )
(set HomeStatus away, set gesamtes_licht off, set Pushnachricht msg title=Smarthome wird deaktiviert! Es wird auf Smarthome AWAY umgeschaltet!)



kann man das umschreiben damit man verschiedene Devices schicken kann, so geht es aber nicht mit der Kombination der [rgr_Residents:residentsTotalPresentNames] ist zu Hause, da schickt er nur
"- ist zuhause"

([HomeStatus] eq "away" and
[MickyGtag] eq "present")
(set HomeStatus home, set Pushnachricht msg 'Anwesenheit entdeckt' 'Willkommen in deinem Reich smarthome bleibt Inaktiv!''Micky-Smartphone' 0 'persistent')



danke gute nacht
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 24 Februar 2018, 07:15:05
Zitat von: Micky am 24 Februar 2018, 01:57:38
also würdest du es auch über DOIF realisieren ?

das ist die Begrüßung bei Ankunft

([HomeStatus] eq "home")
(set Pushnachricht msg title=Smarthome wird deaktiviert! [rgr_Residents:residentsTotalPresentNames] ist zu Hause.)


beim gehen:


([HomeStatus] eq "home" and [rgr_Residents:residentsHome] eq "0" )
(set HomeStatus away, set gesamtes_licht off, set Pushnachricht msg title=Smarthome wird deaktiviert! Es wird auf Smarthome AWAY umgeschaltet!)



kann man das umschreiben damit man verschiedene Devices schicken kann, so geht es aber nicht mit der Kombination der [rgr_Residents:residentsTotalPresentNames] ist zu Hause, da schickt er nur
"- ist zuhause"

([HomeStatus] eq "away" and
[MickyGtag] eq "present")
(set HomeStatus home, set Pushnachricht msg 'Anwesenheit entdeckt' 'Willkommen in deinem Reich smarthome bleibt Inaktiv!''Micky-Smartphone' 0 'persistent')



danke gute nacht

Guten Morgen,

Wieso willst Du schon wieder den gtag abrufen? Der ist außen vor und wird nie nie niemals abgerufen. Es wird immer der Zustand eines Roommates abgerufen oder darauf reagiert.
Und was genau ist bitte HomeStatus? Gib mal bitte ein list HomeStatus


set Pushnachricht msg 'Anwesenheit entdeckt' 'Willkommen in deinem Reich smarthome bleibt Inaktiv!''Micky-Smartphone' 0 'persistent'

Vergiss diese Schreibweise für Pushover, das ist die alte schreibweise und kommt bestimmt bald entfernt. Nimm bitte die neue.

So schickst Du eine Nachricht an alle Geräte welche in Pushover eingebunden sind

set pushmsg msg title=Anwesenheit entdeckt'! Willkommen in deinem Reich smarthome!



So schickst Du nur Dir eine Nachricht

set pushmsg msg title=Anwesenheit entdeckt'! device=Micky-Smartphone Willkommen in deinem Reich smarthome!



So nur Dir mit Priorität

set pushmsg msg title=Anwesenheit entdeckt'! device=Micky-Smartphone priority=1 Willkommen in deinem Reich smarthome!

Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 24 Februar 2018, 10:07:28
Guten Morgen,

Danke !

Ja weiss ich das war der Doif der davor funktioniert wir roommate eingerichtet hatten,hatte es als bspl.
hatte.

vielen Dank ich teste es heute Abend
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 24 Februar 2018, 10:09:26
Und dann schauen wir mal was Deine Infos machen. Da besteln wir schöne Notifys. DOIF ist nicht so mein Ding.
Und ich muss noch wissen was dieses HomeStatus ist wenn ich Dich da unterstützen soll.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 24 Februar 2018, 10:29:02
Stimmt,

also HomeStatus ist eigentlich für die tablet UI gedacht.

Wollte so ein Tablet in die Wohnung an die Wand anbringen und worüber man auch schalten kann.
Homestatus
Away /holiday / sleep / home

Wenn man was anklickt werden halt die doifs angestoßen die ich erstellt
Habe.

Bei home passier nix da man zuhause sebst alles steuert, bei away fährt er die Rollos
Hoch je nach Uhrzeit oder halt runter und licht wird deaktiviert.

Hab die tablet ui etawas vernachlässigt da ich mit der homekit app von apple gut klar komme bzw eve von elgato.

Hab für den externen zugriff eine apple tv angeschlossen.

Das nur als info
Dank dir!
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 24 Februar 2018, 22:26:19
CoolTux eine frage habe ich noch, wieso nutzt du nur Notify bzw. wieso soll ich es verwenden, ich finde DOIF doch eigentlich ne super Lösung ?

Das heisst du machst alles per PERL, also doch über die MyUtilitys und hast einige Notify's ?


und hier ein list HomeStatus sorry nochmal habs überlesen

Internals:
   NAME       HomeStatus
   NR         32
   STATE      away
   TYPE       dummy
   READINGS:
     2018-02-24 01:19:06   state           away
Attributes:
   group      Home-Status
   room       Home-Status,Homekit
   setList    state:home,away,holiday,night
   webCmd     home:away:holiday:night



Zitat von: CoolTux am 24 Februar 2018, 07:15:05

set Pushnachricht msg 'Anwesenheit entdeckt' 'Willkommen in deinem Reich smarthome bleibt Inaktiv!''Micky-Smartphone' 0 'persistent'

Vergiss diese Schreibweise für Pushover, das ist die alte schreibweise und kommt bestimmt bald entfernt. Nimm bitte die neue.

So schickst Du eine Nachricht an alle Geräte welche in Pushover eingebunden sind

set pushmsg msg title=Anwesenheit entdeckt'! Willkommen in deinem Reich smarthome!



So schickst Du nur Dir eine Nachricht

set pushmsg msg title=Anwesenheit entdeckt'! device=Micky-Smartphone Willkommen in deinem Reich smarthome!



So nur Dir mit Priorität

set pushmsg msg title=Anwesenheit entdeckt'! device=Micky-Smartphone priority=1 Willkommen in deinem Reich smarthome!


Kannst du mir noch sagen wie man noch das [rgr_Residents:residentsTotalPresentNames] mit angibt, klappt beim mir nicht, habs schon so oft versucht.
set pushmsg msg title=Smarthome wird deaktiviert! [rgr_Residents:residentsTotalPresentNames] ist zu Hause. device=Micky-Iphone

Nachricht:
Smarthome
wird deaktiviert!
[rgr_Residents:residentsTotalPresentNames] ist zu Hause.

der Name wird nicht mit gesendet sonder wie es steht nur das Reading.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 25 Februar 2018, 07:29:52
Zitat von: Micky am 24 Februar 2018, 22:26:19
CoolTux eine frage habe ich noch, wieso nutzt du nur Notify bzw. wieso soll ich es verwenden, ich finde DOIF doch eigentlich ne super Lösung ?

Das heisst du machst alles per PERL, also doch über die MyUtilitys und hast einige Notify's ?


und hier ein list HomeStatus sorry nochmal habs überlesen

Internals:
   NAME       HomeStatus
   NR         32
   STATE      away
   TYPE       dummy
   READINGS:
     2018-02-24 01:19:06   state           away
Attributes:
   group      Home-Status
   room       Home-Status,Homekit
   setList    state:home,away,holiday,night
   webCmd     home:away:holiday:night



Kannst du mir noch sagen wie man noch das [rgr_Residents:residentsTotalPresentNames] mit angibt, klappt beim mir nicht, habs schon so oft versucht.
set pushmsg msg title=Smarthome wird deaktiviert! [rgr_Residents:residentsTotalPresentNames] ist zu Hause. device=Micky-Iphone

Nachricht:
Smarthome
wird deaktiviert!
[rgr_Residents:residentsTotalPresentNames] ist zu Hause.

der Name wird nicht mit gesendet sonder wie es steht nur das Reading.

Du kannst natürlich auch DOIF nehmen, kenne mich damit aber nicht besonders aus. Ich mache das meiste mit notifys und größere Sachen dann in einer myUtils.
SetMagic, also das [rgr_Residents:residentsTotalPresentNames], scheint mit dem Pushover Modul in der Tat nicht zu funktionieren. Da müssen wir wohl auf Perl ausweichen.

{ fhem("set pushmsg msg title=Smarthome wird deaktiviert! " . ReadingsVal('rgr_Residents','residentsTotalPresentNames',0) . " ist zu Hause. device=Micky-Iphone") }


Als Notify wäre das ganze dann so, damit Du alle Roommates triggerst.


define notifyRoommates notify rr_.*:home { fhem("set pushmsg msg title=Smarthome wird deaktiviert! " . ReadingsVal('rgr_Residents','residentsTotalPresentNames',0) . " ist zu Hause. device=Micky-Iphone") }
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 25 Februar 2018, 14:38:54
Dh  ich könnte doif doch alle bedingungen ausführen und auf den notify für die pushnachricht referenzieren?

Oder komplett per perl? Wie würdest du es realisieren?

Ich hab halt alles in doif da ich wie gesagt sunset rollen auf usw verschachtelt habe.
Sowie abwesend lichter aus usw.

Danke nochmal
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 25 Februar 2018, 14:46:38
Wenn Du mit DOIF besser klar kommst kannst Du das auch gerne in ein DOIF gießen. Eine myUtils lohnt sich bei umfangreichen Code.

Zeig mal was Du nun hast. Den HomeStatus Dummy brauchst Du ja nun nicht mehr, der wird ja durch Residenz abgelöst.
Lass uns mal klein anfangen. Was soll passieren wenn der erste Bewohner nach Hause kommt und somit ein Roommate home geht und die Residenz home geht?
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 25 Februar 2018, 16:19:40
Doif
Home_Status_Away


([HomeStatus] eq "away" and
[MickyGtag] eq "present")
(set HomeStatus home, set Pushnachricht msg title='Anwesenheit entdeckt' device=Micky-Iphone 'Willkommen in deinem Reich smarthome bleibt Inaktiv!')

DOELSEIF
([HomeStatus] eq "away" and
[MickyGtag] eq "absent" and [Gesamtes_Licht:state] =~ m/undefined|on/)
(set Gesamtes_Licht off, set Pushnachricht msg title='Abwesenheit und Lichter angelassen' device=Micky-Iphone 'Es wird von Home auf AWAY umgeschaltet und Lichter Deaktiviert {(localtime)}')

DOELSEIF
([HomeStatus] eq "away" and [{twilight ("LichtWetter","sr_indoor","08:00","11:00")}] and [Wetter:condition] =~ m/Gewitter|Schnee|Regen|Schauer|Schnee/)
(set Gesamtes_Licht off, set alle_Rollos dim 60, set Pushnachricht msg 'Info' device=Micky-Iphone 'Wetter ist wechselhaft ROLLO werden um 40% geschlossen {(localtime)}')

DOELSEIF
([HomeStatus] eq "away" and [{twilight ("LichtWetter","sr_indoor","08:00","11:00")}] and [Wetter:condition] =~ m/neblig|Dunst|heiss|windig|kalt|sonne|bewölkt|Klar|sonnig|Wechselhaft|wolkig|überwiegend wolkig/)
(set Gesamtes_Licht off, set alle_Rollos up, set Pushnachricht msg 'Info' device=Micky-Iphone 'Wetter ist gut Rolladen werden komplett geöffnet {(localtime)}')

DOELSEIF
([HomeStatus] eq "away" and [{twilight ("LichtWetter","ss_astro","19:00","22:45")}])
(set Gesamtes_Licht off, set alle_Rollos dim 40, set Pushnachricht msg 'Info' device=Micky-Iphone 'Rolladen schliessen um 60% aufgrund Dämmerung {(localtime)}')

DOELSEIF
([HomeStatus] eq "away" and [{twilight ("LichtWetter","ss_astro","19:00","22:45")}])
(set Flur_Licht on-for-timer 30, set Flur_Lampe dim 5, set Pushnachricht msg 'Info' device=Micky-Iphone 'Lichtspiel geht für 30sek an {(localtime)}')

DOELSEIF
([HomeStatus] eq "away" and
[DOIF_HomeS_AWAY:state] eq "cmd_6")
(set Kueche_Licht on-for-timer 10, set Kueche_Lampe dim 5, set Pushnachricht msg 'Info' device=Micky-Iphone 'Lichtspiel geht für 10sek an {(localtime)}')

DOELSEIF


Einiges hat kein sinn also lichtspiel wollte ich eigentlich das die räume abens abwechselt beleuchtet werden, alelrdingns hab ich das noch nicht richtig hinbekommen.

Und auch mit der Uhrzeit ist es unschön gelöst wurde eher nur mit sunset und sunrise arbeiten.

Da bei away die lichter ausgehen ist das Problem das bei lichterspiel abends die licjter deaktiviert werden deshalb hab ich bei cmd_2 eine ausnahme geschrieben. Klappt aber nicht so.

Das kann ich alles löschen geht mir nur darum das man so halbegs versteht was ich machen wollte


Sorry das ist jetzt meine rasberry pi hier arbeite ich noch mit gtag da ich kein Roommate instlliet habe.

Aber so ist es bei der raspberry meiner eltern auch so, geht ja nur ums prinzip was ich so für dummheiten umsetzten will

Danke
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 25 Februar 2018, 17:04:56
Wir fangen klein an


define doifBewohnerZuHause doif (["^rr_Micky:^home$"]) ( { fhem("set pushmsg msg title=Smarthome wird deaktiviert! $DEVICE ist nach Hause gekommen und es sind nun" . ReadingsVal('rgr_Residents','residentsTotalPresentNames',0) . " zu Hause. device=Micky-Iphone") } )
attr doifBewohnerZuHause do always


Lass uns damit testen und dann erweitern wir.
Willst Du denn wirklich wissen wer noch zu Hause ist oder wollen wir einfach die Rolladensteuerung und Licht machen?
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 25 Februar 2018, 17:20:21
Hi,

ne glaub du hast recht das wird denke ich auf dauer nervig mit den mitteilungen.
Ich bin in 30 min bei den eltern und teste es.

Edit: wieso

rr_Micky = home ?
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 25 Februar 2018, 18:29:44
Weil ich noch die pushmeldung im Kopf hatte.

Machen wir es jetzt mal richtig.

Fangen wir mit dem Licht schalten an, das ist schon komplex genug.
Wir versuchen erstmal das ab zu decken was passiert wenn jemand nach Hause kommt. Das ist unser Ereignis.

define doifLichsteuerung doif ([rgr_Residents:state] eq "home") and [?LichtWetter:state] > 6 and [?LichtWetter:twilight_weather] < 55)  (Gesamtes_Licht on)


Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 25 Februar 2018, 19:43:48
danke CoolTux,

also bin jetzt endlich wieder da.

Zitat von: CoolTux am 25 Februar 2018, 18:29:44
Fangen wir mit dem Licht schalten an, das ist schon komplex genug.
Wir versuchen erstmal das ab zu decken was passiert wenn jemand nach Hause kommt. Das ist unser Ereignis.

define doifLichsteuerung doif ([rgr_Residents:state] eq "home") and [?LichtWetter:state] > 6 and [?LichtWetter:twilight_weather] < 55)  (Gesamtes_Licht on)


ok, aber nicht das wenn man die Lichter dann ausschaltet dann doif wieder alles anschaltet. Also wäre es nur bei Ankunft ?
define doifLichsteuerung doif ([rgr_Residents:state] eq "home") and [?LichtWetter:state] > 6 and [?LichtWetter:twilight_weather] < 55)  (Flur_Licht on)

hab mal geändert das nur das Flur licht angeht wenn man gerade zB bei Dämmerung mit Einkäufen rein kommt, richtig ?

Könnte man auch sagen wenn man zB beim Nachbarn ist, kommt und geht die Bluetooth Verbindung, das man es Manuell deaktiviert, also z.B wenn man Roommate auf zuhause stellt ?
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 25 Februar 2018, 19:51:55
Ja das wäre nur bei Ankunft. Und zwar auch nur wenn der erste nach Hause kommt. Also eine ganz einfache Schaltung
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 25 Februar 2018, 19:57:37
ok perfekt.

beim define kommt ein Fehler
define DOIF_Lichsteuerung DOIF ([rgr_Residents:state] eq "home") and [?LichtWetter:state] > 6 and [?LichtWetter:twilight_weather] < 55)  (set Flur_Licht on)

DOIF_Lichsteuerung DOIF: expected DOELSEIF or DOELSE

Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 25 Februar 2018, 19:59:52
Zitat von: Micky am 25 Februar 2018, 19:43:48
Könnte man auch sagen wenn man zB beim Nachbarn ist, kommt und geht die Bluetooth Verbindung, das man es Manuell deaktiviert, also z.B wenn man Roommate auf zuhause stellt ?

Verstehe ich nicht ganz. Wenn Du zum Nachbarn gehst und leiner weiter zu Hause ist soll ja das Licht ausgehen. Und dann muß es auch wieder an gehen wenn Du nach Hause kommst. Macht ja sonst keinen Sinn.
Du kannst natürlich bei Deinen GTags ein Attribut angeben
absenceThreshold
Zitat
Die Anzahl an Checks, welche in "absent" resultieren müssen, bevor der Status der PRESENCE-Definition auf "absent" wechselt. Mit dieser Funktion kann man die Abwesenheit eines Gerätes verifizieren bevor der Status final auf "absent" geändert wird. Wenn dieses Attribut auf einen Wert >1 gesetzt ist, werden die Readings "state" und "presence" auf den Wert "maybe absent" gesetzt, bis der Status final auf "absent" wechselt.

Damit verzögerst Du das absent. Falls Du mal den Müll runter bringst
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 25 Februar 2018, 20:02:27
Zitat von: CoolTux am 25 Februar 2018, 19:59:52
Verstehe ich nicht ganz. Wenn Du zum Nachbarn gehst und leiner weiter zu Hause ist soll ja das Licht ausgehen. Und dann muß es auch wieder an gehen wenn Du nach Hause kommst. Macht ja sonst keinen Sinn.
Du kannst natürlich bei Deinen GTags ein Attribut angeben
absenceThreshold
Damit verzögerst Du das absent. Falls Du mal den Müll runter bringst

Problem ist nur, hab schon oft pushnachrichten bekommen ....

"Willkommen in deinem Home" und dann wieder "du bist abwesend schalte smarthome ein" und das im Wechsel. da der Empfang machmal abgerissen ist.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 25 Februar 2018, 20:07:37
Deswegen ja das verzögerte absent beim presence Device.

Mach mal erstmal

define DOIF_Lichsteuerung DOIF ([rgr_Residents:state] eq "home") and [?LichtWetter:state] > 6 and [?LichtWetter:twilight_weather] < 55)  (set Flur_Licht on) DOELSE ()
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 25 Februar 2018, 20:10:17
Zitat von: CoolTux am 25 Februar 2018, 20:07:37
Deswegen ja das verzögerte absent beim presence Device.

Mach mal erstmal

define DOIF_Lichsteuerung DOIF ([rgr_Residents:state] eq "home") and [?LichtWetter:state] > 6 and [?LichtWetter:twilight_weather] < 55[b]) [/b] (set Flur_Licht on) DOELSE ()


Gute Idee mit dem verzögern.

define DOIF_Lichsteuerung DOIF ([rgr_Residents:state] eq "home") and [?LichtWetter:state] > 6 and [?LichtWetter:twilight_weather] < 55)  (set Flur_Licht on)

DOIF_Lichsteuerung DOIF: expected DOELSEIF or DOELSE: and [?LichtWetter:state] > 6 and [?LichtWetter:twilight_weather] < 55) (set Flur_Licht on) DOELSE ()

Edit:
glaub da ist ne öffnende klammer Zuwenig !??

so geht es

define DOIF_Lichsteuerung DOIF [b](([/b][rgr_Residents:state] eq "home") and [?LichtWetter:state] > 6 and [?LichtWetter:twilight_weather] < 55)  (set Flur_Licht on)

Getestet es funktioniert mit dem Flurlicht bei Anwesenheit.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 25 Februar 2018, 20:15:52
Stimmt, ich Dussel. Aber mach mal bitte eher eine Weg. Also jetzt zwei


define DOIF_Lichsteuerung DOIF ([rgr_Residents:state] eq "home" and [?LichtWetter:state] > 6 and [?LichtWetter:twilight_weather] < 55)  (set Flur_Licht on)


Deins ist nicht falsch aber so ist der Code sauberer.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 25 Februar 2018, 20:20:25
editiert!

funktioniert schon mal hab es mal etwas editiert sodass das flurlicht nur für 60 Sekunden an sein soll.

DEFINE DOIF_Lichtersteuerung DOIF ([rgr_Residents:state] eq "home" and [?LichtWetter:state] > 6 and [?LichtWetter:twilight_weather] < 55) (set Flur_Licht on-for-timer 60) DOELSE ()
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 25 Februar 2018, 20:28:31
Und nun erweitern wir das ganze



DEFINE DOIF_Lichtersteuerung DOIF ([rgr_Residents:state] eq "home" and [?LichtWetter:state] > 6 and [?LichtWetter:twilight_weather] < 55) (set Flur_Licht on-for-timer 60) DOELSEIF ([rgr_Residents:state] eq "absent") (set Gesamtes_Licht off)
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 25 Februar 2018, 20:38:23

aktuell:
([rgr_Residents:state] eq "home" and [?LichtWetter:state] > 6 and [?LichtWetter:twilight_weather] < 55)
(set Flur_Licht on-for-timer 60)


DOELSEIF
([rgr_Residents:state] eq "absent")
(set Gesamtes_Licht off)


DOELSE ()


getestet und funktioniert, beim verlassen wird das licht Deaktivert !
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 25 Februar 2018, 20:53:39
ist es besser wenn man das alles so trennt ?

also Lichtersteuerung .... und dann einzelne DOIF mit Notify oder mit Perl myUtilities kombiniert um Pushnachrichten zu bekommen ?
dann rollosteuerung usw...

ich hatte vorher nur away / HOME aber alles rein.


kann man jetzt zB sagen


([rgr_Residents:state] eq "home" and [?LichtWetter:state] > 6 and [?LichtWetter:twilight_weather] < 55)
(set Flur_Licht on-for-timer 60)


DOELSEIF
([rgr_Residents:state] eq "absent" and not [DOIF_Lichtersteuerung:state] =~ m/cmd_3/)
(set Gesamtes_Licht off)

DOELSEIF
([rgr_Residents:state] eq "home" and [{twilight ("LichtWetter","ss_astro","19:00","22:45")}])
(set Flur_Licht on-for-timer 3600, set Flur_Lampe dim 5)

DOELSE



allerdings würde jetzt die cmd_2 also Bedingung 2 das licht sofort wieder deaktivieren, ergibt es sinn es so umzuschreiben wie ich es umgeschrieben habe ?
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 25 Februar 2018, 21:08:01
Nein. So gar nicht.
Am besten ist Du unterscheidest zwischen Ereignis und Zustandsabfrage. Nach Möglichkeit sollte versucht werden sich auf ein Ereignis zu beschränken und dann Zustände ab zu fragen.
Das DOELSE kannst Du nun weg lassen.

([rgr_Residents:state] eq "home" and [?LichtWetter:state] > 6 and [?LichtWetter:twilight_weather] < 55)
(set Flur_Licht on-for-timer 60)


DOELSEIF
([rgr_Residents:state] eq "absent")
(set Gesamtes_Licht off)


DOELSEIF
([{twilight ("LichtWetter","ss_astro","19:00","22:45")}] and [?rgr_Residents:state] eq "home")
(set Flur_Licht on-for-timer 3600, set Flur_Lampe dim 5)


Du hast verstanden wofür die Fragezeichen stehen?
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 25 Februar 2018, 21:14:59
ok mach ich.

die Fragezeichen vor den Readings, nein nicht wirklich.

würde jetzt nicht cmd_2 das licht immer wieder deaktivieren ?
hab im letzten Befehl auf absent gestellt das soll nur passieren wenn ich nicht da bin. Und der Reinfolge nach Morgens Abens.


([rgr_Residents:state] eq "home" and [?LichtWetter:state] > 6 and [?LichtWetter:twilight_weather] < 55)
(set Flur_Licht on-for-timer 60)

DOELSEIF
([{twilight ("LichtWetter","ss_astro","19:00","22:45")}] and [?rgr_Residents:state] eq "absent")
(set Flur_Licht on-for-timer 3600, set Flur_Lampe dim 5)

DOELSEIF
([rgr_Residents:state] eq "absent")
(set Gesamtes_Licht off)
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 25 Februar 2018, 21:31:04

DOELSEIF
([{twilight ("LichtWetter","ss_astro","19:00","22:45")}] and [?rgr_Residents:state] eq "absent")
(set Flur_Licht on-for-timer 3600, set Flur_Lampe dim 5)


Warum eq absent. Das Licht soll doch nur angehen wenn auch einer zu Hause ist.

Die Fragezeichen bedeuten das nur abgefragt werden soll aber nicht auf Veränderungen reagiert. Bitte lese die DOIF Commandref wenn Du es verwenden willst.

Bei den obigen Beispiel soll das Licht angehen wenn ss_astro geschalten wird. Aber wie gesagt es macht ja nur Sinn wenn auch einer zu Hause ist.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 25 Februar 2018, 21:42:23
Zitat von: CoolTux am 25 Februar 2018, 21:31:04
Bei den obigen Beispiel soll das Licht angehen wenn ss_astro geschalten wird. Aber wie gesagt es macht ja nur Sinn wenn auch einer zu Hause ist.

ist zur Abschreckung ... als wäre jemand zuhause also bei absent !

will sogar das Flur_Licht, dann Kueche_Licht , Bad_Licht abwechselt angehen und wieder aus
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 25 Februar 2018, 22:40:29
warum eigentlich die >6 es gibt doch nur max 6 steht zumindest hier: https://wiki.fhem.de/wiki/Twilight

Wie kann man das für die Rollo'S Regeln ? finde das so total unübersichtlich
Morgens bei normalen wetter aufgehen .... und tagsüber prüfen ob Gewitter Orkan usw.... dann runterfahren andernfalls erst gegen 22 Uhr runterfahren ?



([rgr_Residents:state] eq "absent" and [{twilight ("LichtWetter","sr_indoor","08:00","10:00")}] > 6 and [Wetter:condition] =~ m/|kalt|Klar|sonnig|bewölkt|teilweise|überwiegend/)
(set alle_Rollos up)

DOELSEIF
([rgr_Residents:state] eq "absent" and [{twilight ("LichtWetter","sr_indoor","11:00","17:00")}] > 6 and [Wetter:condition] =~ m/|kalt|Klar|sonnig|bewölkt|teilweise|überwiegend/)
(set alle_Rollos up)

DOELSEIF
([rgr_Residents:state] eq "absent" and [{twilight ("LichtWetter","sr_indoor","11:00","17:00")}] > 6 and [Wetter:condition] =~ m/windig|Gewitter|Schnee|Regen|Schauer|Schnee|Eisregen|vereinzelt/)
(set alle_Rollos dim 40)


DOELSEIF
([rgr_Residents:state] eq "absent" and [{twilight ("LichtWetter","sr_indoor","11:00","17:00")}] > 6 and [Wetter:condition] =~ m/Tornado|schwer|Regen|Schauer|Schnee|Hagel|Smog|blustery/)
(set alle_Rollos down)

DOELSEIF
([rgr_Residents:state] eq "absent" and [?LichtWetter:state] > 6 and [?LichtWetter:twilight_weather] < 55)
(set alle_Rollos dim 40)

DOELSEIF
([rgr_Residents:state] eq "absent" and [{twilight("Sonnenstand","ss_astro","17:00","23:00")}])
(set alle_Rollos down)

DOELSE


danke
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 25 Februar 2018, 22:46:17
Der state geht bis 12 das light Reading bis 6

Du kannst ein Rollo Modul nehmen oder machst Notify mit myUtils. Gibt viele Wege.
Alleine meine Lichtsteuerung hat in einer myUtils 50 Zeilen Code.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 25 Februar 2018, 22:50:08
kannst du mir so ein Auszug zeigen, also meine eine Aktion ?
Damit ich es für die meine übernehmen kann ?

doelseif geht also nicht ?

hab so ein structure mit allen Rollos
kann man das nicht verwenden ?

Internals:
   ATTR       alle_Rollos
   CHANGEDCNT 0
   DEF        alle_Rollos Bad_Rollo Kueche_Rollo AZ_Rollo WZ_Rollo_Links WZ_Rollo_Rechts SZ_Rollo_Links SZ_Rollo_Rechts
   NAME       alle_Rollos
   NR         37
   NTFY_ORDER 50-alle_Rollos
   STATE      dim 40
   TYPE       structure
   READINGS:
     2018-02-25 19:47:25   state           dim 40
Attributes:
   devStateIcon up:fts_shutter_10@green down:fts_shutter_100@white s/[0-9]|1\d.*:fts_shutter_90 s/[0-9]|2\d.*:fts_shutter_80 s/[0-9]|3\d.*:fts_shutter_70 s/[0-9]|4\d.*:fts_shutter_60 s/[0-9]|5\d.*:fts_shutter_50 s/[0-9]|6\d.*:fts_shutter_40 s/[0-9]|7\d.*:fts_shutter_30 s/[0-9]|8\d.*:fts_shutter_20 s/[0-9]|9\d.*:fts_shutter_10 s/[0-9]|99\d.*:fts_shutter_10
   disable    1
   eventMap   on:up off:down
   icon       fts_shutter_10
   room       Homekit,Wohnung,ZWave
   stateFormat 0
   webCmd     dim:up:down:dim 20:dim 40:dim 60:dim 80
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 26 Februar 2018, 05:40:38
Guten Morgen,

Wie meinst Du das, DOELSEIF geht also nicht?
Dein DOIF oben für die Rolladen? Kann man so machen. Vielleicht weniger Auslöser. Also die Anwesenheit zum Beispiel würde ich nur abfragen.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 26 Februar 2018, 11:09:05
Guten Morgen,

ich hab wenig Ahnung mit DOIF und noch viel weniger mit Perl.
Deshalb meinte ich kannst du mir so einen ausschnitt erstellen von zB den Doif Rollo den ich hab in Perl?
Evtl nur eine aktion bei unwetter schliessen den Rest versuche ich dann und zeige dir das ergebnis.
Nur um dir nicht so viel Zeit und nerven zu kosten.

Vielen Dank!
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 26 Februar 2018, 11:35:01
Muss ich mal schauen. Habe ja keine Rolladen.
Das DOIF kann man ja lassen. Du musst nur schauen das Du nicht auf alles triggerst. Oder Du schaust Dir das Rolladenmodul an.
https://forum.fhem.de/index.php/topic,73964.0.html
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 26 Februar 2018, 11:40:56
Wie meinst du es auf alles triggerst?

Da man ja mit einem
Stricture nur auf das tructure triggert und dort stecken alle rolladen drinnen

Schaue kir auch das modul mal an danke
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 26 Februar 2018, 11:44:56
Nein, das verstehst Du falsch. Du schaltest die Structure, die ist außen vor.


([rgr_Residents:state] eq "absent" and [{twilight ("LichtWetter","sr_indoor","08:00","10:00")}] > 6 and [Wetter:condition] =~ m/|kalt|Klar|sonnig|bewölkt|teilweise|überwiegend/)


Das meine ich. Hier wird auf jedes der Devices reagiert. Finde ich persönlich unnötig. Man müßte mal schauen schauen was hier wichtig ist und den Rest kann man dann halt nur mit ? abfragen lassen.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 26 Februar 2018, 14:09:42
mit dem "?" vorneweg wie bei den DOIF_Lichtersteuerung

hmm, evtl. alles rausnehmen wenn es zu komplex wir und zu viel getriggert wird, dann einfach nur bei Sturm Komplett Runterfahren.
Ist es per Perl einfacher ?

Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 26 Februar 2018, 14:14:01
Zitat von: Micky am 26 Februar 2018, 14:09:42
mit dem "?" vorneweg wie bei den DOIF_Lichtersteuerung

hmm, evtl. alles rausnehmen wenn es zu komplex wir und zu viel getriggert wird, dann einfach nur bei Sturm Komplett Runterfahren.
Ist es per Perl einfacher ?

Wenn Du Perl nicht kannst ist es nicht einfacher. Reines Perl könnte wenn nur flexibler sein.

Kleiner Tip. Ich würde nicht auf Wetter:condition testen sondern auf Wetter:code
Da kannst Du mit größer kleiner testen
https://developer.yahoo.com/weather/documentation.html#codes
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 26 Februar 2018, 18:50:55
Cool danke, gibt es so einen übersicht auch gür Twilight LichtWetter?
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 26 Februar 2018, 19:16:23
Nein. Das Lichtwetter von Twilight ist eine Berechnung innerhalb des Modules. Hier wird zwar von Yahoo die Condition oder besser der Code abgefragt aber es spielen noch andere Faktoren eine Rolle für die Berechnung.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 28 Februar 2018, 08:33:22
Guten Morgen,

Hier mal ein Beispiel

["^weatherStahnsdorfYahoo$:^wind_speed:",0] > 45
and (([?weatherStahnsdorfYahoo:code] >= 0 and [?weatherStahnsdorfYahoo:code] < 5) or ([?weatherStahnsdorfYahoo:code] > 22 and [?weatherStahnsdorfYahoo:code] < 25) )
and [?structureFensterWohnung] ne "geschlossen")

({indoorMessage("Die Fenster in der Wohnung stehen offen und der Wind nimmt extrem zu.")})
(set pushmsg msg 'Wohnungsstatus kritisch!!!' 'Die Fenster in der Wohnung stehen offen und der Wind nimmt extrem zu.' 'handy-marko' 0 '')


DOELSEIF (["^weatherStahnsdorfYahoo$:^wind_speed:",0] > 30
and (([?weatherStahnsdorfYahoo:code] >= 0 and [?weatherStahnsdorfYahoo:code] < 5) or ([?weatherStahnsdorfYahoo:code] > 22 and [?weatherStahnsdorfYahoo:code] < 25) )
and [?structureFensterSuedWest] ne "geschlossen" and [?structureFensterOst] eq "offen" )

({indoorMessage("Die Fenster auf beiden Seiten in der Wohnung stehen offen und der Wind nimmt zu. Es droht Durchzug.")})
(set pushmsg msg 'Wohnungsstatus kritisch!!!' 'Die Fenster auf beiden Seiten in der Wohnung stehen offen und der Wind nimmt zu. Es droht Durchzug.' 'handy-marko' 0 '')


DOELSE (set pushmsg msg 'Wohnungsstatus normalisiert!!!' 'Der Wind hat nachgelassen und ist unter dem kritischen Schwellpunkt.' 'handy-marko' 0 '')


In meinem Fall reagiere ich auf Wind und frage die anderen Werte nur ab.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 02 März 2018, 17:30:26
danke für das DOIF bsp..

bzgl. Twilight, woher weiss man wann Sonnenaufgang ist und wann Sonnenuntergang  ?
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 02 März 2018, 18:05:51
https://wiki.fhem.de/wiki/SUNRISE_EL

;D
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 03 März 2018, 01:04:08
Zitat von: CoolTux am 26 Februar 2018, 19:16:23
Nein. Das Lichtwetter von Twilight ist eine Berechnung innerhalb des Modules. Hier wird zwar von Yahoo die Condition oder besser der Code abgefragt aber es spielen noch andere Faktoren eine Rolle für die Berechnung.

aber wie kann ich denn alle Codes abfragen ?
and not  [?Wetter:code] <= 4 also wenn der code nicht von 0 bis 4 ist evtl mit ungleich ?    !=

eigentlich soll fhem ständig prüfen zB wenn es tagsüber auf einmal gewittert fahrt Rollladen auf 50% runter bei Tornado schliessen. bei Sonnenschein / klar / bewölkt komplett öffnen

habe Rollosteuerung_DOIF angefangen :

Zitat
# morgens wenn wetter code nicht 1 -4 hochfahren
([rgr_Residents:state] eq "home" and [?LichtWetter:state] >= 6 and [?LichtWetter:twilight_weather] < 55 and not [?Wetter:code] <= 4)
(set alle_Rollos up)

#sunset runterfahren aber nicht vor 22:46
DOELSEIF
([rgr_Residents:state] eq "absent" and [?LichtWetter:state] > 7 and [?LichtWetter:twilight_weather] < 30 and [22:46-23:00])
(set alle_Rollos closed)

# wenn tornado   /tropical storm/ hurricane /severe thunderstorms   /thunderstorms rollos schliessen
DOELSEIF
([rgr_Residents:state] eq "absent" and [?Wetter:code] <= 4)
(set alle_Rollos closed)

DOELSE
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 03 März 2018, 06:06:06
Zitat von: Micky am 03 März 2018, 01:04:08
aber wie kann ich denn alle Codes abfragen ?
and not  [?Wetter:code] <= 4 also wenn der code nicht von 0 bis 4 ist evtl mit ungleich ?    !=

habe Rollosteuerung_DOIF angefangen :

Zitat
and not  [?Wetter:code] <= 4 also wenn der code nicht von 0 bis 4 ist evtl mit ungleich ?    !=
Das ist nicht ganz korrekt. Hier wird ja gefragt ist nicht <=4 bei != heißt es ist ist nicht ungleich 4

Zitat
eigentlich soll fhem ständig prüfen zB wenn es tagsüber auf einmal gewittert fahrt Rollladen auf 50% runter bei Tornado schliessen. bei Sonnenschein / klar / bewölkt komplett öffnen
Und genau das ist das Problem. Hierfür ist sowohl Twilight als auch Yahoo Wetter ungeeignet. Eigene Sensoren wären hier besser.
Es kann sein das Yahoo Code Sturm sagt, das sagt er aber den ganzen Tag lang, in Wirklichkeit kommt erst Abends was um die 30km/h. Dann sitzt Du den ganzen Tag bei geschlossenen Rollos.

Am besten Du fängst klein an mit Deinem DOIF. Mach es erstmal einfach so das bei Sonnenuntergang und Sonnenaufgang die Rollos fahren. Glaube mir da hast Du schon genug mit zu tun.
Nur mal das Du auf den Geschmack kommst. Die Rollos sollen runter fahren wenn Sonnenaufgang ist, frühstens 5 Uhr (frühst mögliche Aufstehzeit bei Dir im Haus???) spätestens 9 Uhr. Das ist ja noch einfach.
Aber nur wenn die Bewohner wach sind und nur in den Bereichen wo die Bewohner schon wach sind.
Du siehst da gibt es sehr sehr viele Faktoren wenn man es mal richtig fertig hat.

Oder Du benutzt das verlinkte Rollomodul.


Von allen mal ab, Wir sind nun mega Off vom Eingangstopic. Daher empfehle ich Dir wenn Du mit DOIF weiter Rolladen machen willst einen neuen Thread im DOIF Forum.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 03 März 2018, 10:34:01
Danke werde ich machen.

Bezogen auf Roommate da nutze ich aktuell nur mittels gtag, away und presence. Wie macht man das mit dem schlafen gehen

Mittels uhrzeit?

Wenn 22 Uhr und anwesend set sleeping? 
Da es ja umständlich wäre wenn jeder bewohner den status einstellen müsste bzw auch wenn nur einer.

Danke dir
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 03 März 2018, 10:47:39
Thema schlafen gehen ist so eine Sache. Bei mir macht es meine Tochter alleine, ich selbst stelle mich und meinen Sohn schlafen. Bei meiner Freundin passiert das automatisch sobald sie ihren Wecker auf dem Handy stellt.

Du kannst auch ein Sensor unter die Matratze legen  ;D
Du siehst es gibt kein wirkliches Patentrezept.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 04 März 2018, 20:45:40
 :D :D :D

coole Idee,
wie ist es verknüpft sobald sie Ihr Wecker stellt ?

Und du stellst dich auf sleep über ein Tablet UI oder direkt in FHEM backend.


Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 04 März 2018, 20:55:42
Zitat von: Micky am 04 März 2018, 20:45:40
:D :D :D

coole Idee,
wie ist es verknüpft sobald sie Ihr Wecker stellt ?

Und du stellst dich auf sleep über ein Tablet UI oder direkt in FHEM backend.

Jeder Bewohner hat in FHEM einen Wecker. Denn kann man mit Hilfe des Roommate Devices erstellen. Das Handy meiner Freundin ist über AMADNG mit FHEM verbunden. Stellt sie im Handy den Wecker erscheint es als Reading in ihrem AMAD Device und ein Notify triggert darauf und stellt die selbe Zeit in ihrem FHEM Wecker, ausserdem wird ihr Roommate schlafend gestellt.

Meine Tochter und ich verwenden TabletUI. Sie für Handy ich für Tablet. Damit stellen wir uns schlafend oder home nach dem Aufstehen.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 04 März 2018, 21:07:12
Tablet UI hab ich auch angefangen und habs dann ohne Fertigzustellen nie abgeschlossen.

Das mit dem Wecker ist ja ne super Lösung.

danke für die Infos
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 04 März 2018, 21:34:11
Hi CoolTux,

AMAD Device läuft allerdings per Wecker nur mit Android richtig ?

Danke dir nochmal.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 05 März 2018, 05:34:16
Guten Morgen,

AMAD läuft nur mit Android!
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 11 März 2018, 23:04:27
Hi CoolTux,

habe leider ein Problem mit Residents festgestellt. Durch das einbinden im

NAME    rr_Micky,MickyGtag

"MickyGtag" wird beim HomeKit app der Status nicht mehr aktualisiert.
Dh wenn ich heim komme wird der Status Micky anwesend gestellt und wenn ich gehe bleibt es dabei.

Sobald ich die Homebridge neustarte aktualisiert er wieder Micky auf abwesend.

Dachte erst es liegt an Homebridge aber als ich schliesslich in

NAME rr_Micky,MickyGtag

MickyGtag raus lösche geht es wieder innerhalb von Sekunden und vor allem vollautomatisch ohne homebridge restart.

Hast du eine Idee?
Danke
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 12 März 2018, 05:39:05
Guten Morgen,

Leider kenne ich Homebride nicht. Aber was zeigt denn in dem Moment die Quelle an, also das Device MickyGtag. Der rr_Micky reagiert ja eigentlich nur auf den Zustand den MickyGtag angenommen hat.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 15 März 2018, 18:42:28
Hi,

ne alles gut dauert nur 2 min. länger bis rr_Micky den zustand annimmt sollte gehen, werde es beobachten.

danke
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 16 März 2018, 17:28:19
 :-[
Liegt an der Homebridge, der zustand bleibt auf anwesend trotz Abwesenheit.
Sobald ich homebridge neu starte werde ich auf Abwesend gestellt.

kann es sein das homebridge den zustand von rr_Micky in diesem fall nicht versteht ?

Wobei bei meinen Eltern gehts aber.... verstehe es nicht.

Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 16 März 2018, 17:30:57
Such mal im Forum nach lepresenced und Homebride. Eventuell gab es das schon mal.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 16 März 2018, 20:44:39
danke, werde ich mal schauen!

bin aktuell bei den Eltern und habe ein Problem, wenn ein Bewohner die für rein kommt soll immer Flur Licht für 60 Sekunden angehen, wenn allerdings jemand im haus ist dann macht er dies nicht, bzw. liegt daran das beim DOIF auf cmd_1 bleibt.
habs mit do always versucht aber dann gibts ein dauen brennen der Flur Lampe


## beim reinkommen
([?rgr_Residents:state] eq "home" and [LichtWetter:state] >= 8  and [LichtWetter:twilight_weather] < 82)
(set Flur_Licht on-for-timer 60)

##bei dämmerung - FAKELICHT
DOELSEIF
([?rgr_Residents:state] eq "absent" and [LichtWetter:state] == 12 and [LichtWetter:twilight_weather] >10 and [LichtWetter:twilight_weather] < 22)
(set Flur_Licht on-for-timer 3600, set Flur_Licht dim 20)

## bei dunkelheit und wenn nicht state 2 - FAKELICHT dann alles deaktivieren
DOELSEIF
([?rgr_Residents:state] eq "absent" and [DOIF_Lichtersteuerung:state] ne "cmd_2")
(set Gesamtes_Licht off)

DOELSE
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 16 März 2018, 20:49:12
Ich brauche ein list vom DOIF und bitte noch mal genau beschreiben was passieren soll und was nicht passiert
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 16 März 2018, 20:57:54
Sorry, also hab jetzt so oft probiert und es nicht hinbekommen.

es sind zB. 3 Bewohner im Residents mittels GTAG Bluetooth

wenn jetzt einer dieser die Wohnung betritt mit dem Gtag springt Bewohner:State von absent auf home und somit auch rgr_Residents:state auf home

wenn ich jetzt aber will das egal wer reinkommt das licht im Flur für 60 sec. bei Dunkelheit angeht, passiert das nicht da DOIF_Lichtsteuerung schon auf cmd_1 und dort bleibt es gibt also kein state wechsel. Dadurch wird erst wieder ausgeführt wenn DOIF_Lichtersteuerung nicht mehr auf cmd_1 ist sondern auf einen anderen wert.
Evtl. denke ich zu umständlich.

Wie gesagt egal wer per Bluetooth state home soll Flur_Licht angeschaltet werden für 60 sec.


list


Internals:
   DEF        ## beim reinkommen
([?rgr_Residents:state] eq "home" and [LichtWetter:state] >= 8  and [LichtWetter:twilight_weather] < 82)
(set Flur_Licht on-for-timer 60)

##bei dämmerung - FAKELICHT
DOELSEIF
([?rgr_Residents:state] eq "absent" and [LichtWetter:state] == 12 and [LichtWetter:twilight_weather] >10 and [LichtWetter:twilight_weather] < 22)
(set Flur_Licht on-for-timer 3600, set Flur_Licht dim 20)

## bei dunkelheit und wenn nicht state 2 - FAKELICHT dann alles deaktivieren
DOELSEIF
([?rgr_Residents:state] eq "absent" and [DOIF_Lichtersteuerung:state] ne "cmd_2")
(set Gesamtes_Licht off)

DOELSE
   NAME       DOIF_Lichsteuerung
   NR         116
   NTFY_ORDER 50-DOIF_Lichsteuerung
   STATE      initialized
   TYPE       DOIF
   READINGS:
     2018-03-16 20:51:40   cmd             0
     2018-03-16 20:51:40   mode            enabled
     2018-03-16 20:51:40   state           initialized
   Regex:
   condition:
     0          ReadingValDoIf($hash,'rgr_Residents','state') eq "home" and ReadingValDoIf($hash,'LichtWetter','state') >= 8  and ReadingValDoIf($hash,'LichtWetter','twilight_weather') < 82
     1          ReadingValDoIf($hash,'rgr_Residents','state') eq "absent" and ReadingValDoIf($hash,'LichtWetter','state') == 12 and ReadingValDoIf($hash,'LichtWetter','twilight_weather') >10 and ReadingValDoIf($hash,'LichtWetter','twilight_weather') < 22
     2          ReadingValDoIf($hash,'rgr_Residents','state') eq "absent" and ReadingValDoIf($hash,'DOIF_Lichtersteuerung','state') ne "cmd_2"
   devices:
     0           LichtWetter
     1           LichtWetter
     2           DOIF_Lichtersteuerung
     all         LichtWetter DOIF_Lichtersteuerung
   do:
     0:
       0          set Flur_Licht on-for-timer 60
     1:
       0          set Flur_Licht on-for-timer 3600, set Flur_Licht dim 20
     2:
       0          set Gesamtes_Licht off
     3:
       0         
   helper:
     DOIF_Readings_events
     DOIF_eventas
     globalinit 1
     last_timer 0
     sleeptimer -1
   itimer:
   readings:
     0           LichtWetter:state LichtWetter:twilight_weather
     1           LichtWetter:state LichtWetter:twilight_weather
     2           DOIF_Lichtersteuerung:state
     all         LichtWetter:state LichtWetter:twilight_weather DOIF_Lichtersteuerung:state
   uiState:
   uiTable:
Attributes:


Kann es nur umständlich lösen indem ich einzelne Bedienungen im DOIF schreibe also mittels zB rr_Bewohner abfrage ?
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 16 März 2018, 21:23:27
([?rgr_Residents:state] eq "home" and [LichtWetter:state] >= 8  and [LichtWetter:twilight_weather] < 82)

Das kann ja auch nur einmal gehen. Desweiteren wird hier aber auch nicht auf Residents getriggert sondern nur auch LichtWetter.
So wie Du es beschrieben hast musst Du es umgekehrt machen mit dem ?
Bei Residents das ? weg und bei den LichtWetter hin.
Und Residents kann auch nur einmal den Zustand home annehmen. Denn sobald wenigstens einer zu Hause ist wird home gesetzt und belbt auch home. Was Du machen kannst, schau Dir bitte die weiteren Readigs für Residents an. Da kann man welche nehmen die man triggern kann. Die verändern sich nämlich immer wenn ein Roommate geht oder kommt.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 16 März 2018, 21:59:46
danke für den Tip,

funktioniert jetzt hab ein das reading lastActivityBy hinzugefügt weiss net ob es die beste Lösung ist aber tut was es soll, habe jetzt die "?" auch so angepasst wie du meintest!

danke dir


## beim reinkommen
([rgr_Residents:state] eq "home" and [rgr_Residents:lastActivityBy] eq "Lori" and [?LichtWetter:state] >= 8  and [?LichtWetter:twilight_weather] < 82)
(set Flur_Licht on-for-timer 120)

DOELSEIF
([rgr_Residents:state] eq "home" and [rgr_Residents:lastActivityBy] eq "Lello" and [?LichtWetter:state] >= 8  and [?LichtWetter:twilight_weather] < 82)
(set Flur_Licht on-for-timer 20)

DOELSEIF
([rgr_Residents:state] eq "home" and [rgr_Residents:lastActivityBy] eq "Micky" and [?LichtWetter:state] >= 8  and [?LichtWetter:twilight_weather] < 82)
(set Flur_Licht on-for-timer 20)

##bei dämmerung - FAKELICHT
DOELSEIF
([rgr_Residents:state] eq "absent" and [?LichtWetter:state] == 12 and [?LichtWetter:twilight_weather] >10 and [?LichtWetter:twilight_weather] < 22)
(set Flur_Licht on-for-timer 3600, set Flur_Licht dim 20)

## bei dunkelheit und wenn nicht state 2 - FAKELICHT dann alles deaktivieren
DOELSEIF
([rgr_Residents:state] eq "absent" and [?DOIF_Lichtersteuerung:state] ne "cmd_2")
(set Gesamtes_Licht off)

DOELSE
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 16 März 2018, 22:05:07
warum nicht

residentsTotal > 0
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 16 März 2018, 22:14:44
Zitat von: CoolTux am 16 März 2018, 22:05:07
warum nicht

residentsTotal > 0


dann würde er nur schalten beim ersten, dann ist er ja > 0 und es passiert nix mehr, oder sehe ich das falsch ?
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 16 März 2018, 22:24:51
Hast Recht. Nicht wegen > 0 aber dann wäre er ja im cmd und bliebe da. Ist halt DOIF. Dann lass es so wie du hast. Geht ja
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 16 März 2018, 22:42:17
mach ich danke,

sorry das ich nochmal das gleiche erwähne aber es scheint tatsächlich am Roomate zu liegen das meine Homebridge nicht Funktioniert bzw. nicht von present auf absent wechselt.

Da es bei den Eltern genau so ist. In FHEM wird gtag auf absent gestellt bei einpacken in alu folie zb allerdings nicht in der HOME app nur nach homebridge Neustart.

Lösche ich den aus rr_Micky das Attribut
rr_presenceDevices MickyGtag

dann funktioniert es wieder.
:-\

EDIT: kann es mit dem state PRESENT anstatt state home zu tun haben vom ROOMATE ?
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 16 März 2018, 22:46:00
Also
MickyGtag
wechselt immer korrekt aber
rr_Micky
nicht, bzw nur wenn Homebride neu gestartet wird?
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 16 März 2018, 22:50:44
ja sorry schlecht erklärt.

in FHEM stimmen die states absent und present

wenn im rr_Micky
attribut
rr_presenceDevices MickyGtag

gesetzt ist dann wird es nicht in HOMEKIT weitergegeben ...also auf dem IPHONE bleibt der Status immer gleich Anwesend.

bis ich die Homebridge neu starte.

wenn ich allerdings im rr_Micky
das attribut
rr_presenceDevices MickyGtag
lösche und quasi nur GTAG wieder habe dann läuft im HOMEKIT wieder alles rund ...anwesend bei anwesend, abwesend bei abwesend

kann es evtl. an verschiedene states liegen, STATE present bei GTAG und STATE home bei Roomate ?

rr_Micky wechselt den STATE synchron zu MickyGtag dennoch wird es im Home app nicht weitergegeben wenn wie gesagt
rr_presenceDevices MickyGtag gesetzt ist im rr_Micky

Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: CoolTux am 17 März 2018, 06:13:03
Ach so, jetzt verstehe ich. Aber da kann ich leider nicht helfen, kenne mich damit überhaupt nicht aus.
Da wirst wohl einen neuen Thread aufmachen müssen.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 17 März 2018, 12:35:08
hab ich danke.
Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: Micky am 17 März 2018, 12:50:39
erledigt.

also man muss in der Homkit nicht den GTAG drinnen behalten sondern vom rr_Micky in homekit aufnehmen also die Bewohner von Roomate !

dann klappt alles wunderbar.

danke cooltux

Titel: Antw:Anwesenheit per G-TAG der Einwohner im Haus
Beitrag von: KernSani am 17 März 2018, 13:57:57
Bitte noch [Gelöst] vor das Subject des ersten Posts schreiben:-)


Kurz, weil mobil...