Hauptmenü

verständnisfrage :sec

Begonnen von the ratman, 02 Mai 2017, 16:39:18

Vorheriges Thema - Nächstes Thema

the ratman

hiho
ich versuche mir grade eine anwesenheitskontrolle zu basteln.
dazu gehört unter anderem auch das handy der jeweiligen person - das wird per bt und presence geprüft.... [handy1:presence] eq "present" and [handy1:presence:sec] < 60 ...
ich hätte das so verstanden, dass sich der status von handy1 in den letzten 60 sek. auf present geändert haben muß, damit das teil triggert.
irgenwas hab ich da wohl falsch verstanden, weil auch bei > 60 sekunden/keiner presence-änderung getriggert wird.

was denk ich da wieder falsch?
wie kann ich 100% sicher prüfen, ob sich der status geändert hat?

ich bitte somit wieder mal um (entwicklungs)hilfe ..
→do↑p!dnʇs↓shit←

kumue

[handy1:presence:sec]
wo kann man das nachlesen, daß es so funktionieren sollte ?

the ratman

→do↑p!dnʇs↓shit←

CoolTux

Nicht ganz. Das bedeutet das der Timestamp des Readings presence älter wie 60s sein muss.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

the ratman

#4
hi cooltux, mein rächer der entnervten *g*

wäre mir auch recht - hauptsache, das ding triggert nicht permanent
könnts am presence-modul liegen?

ich glaub, ich stell hier mal alles rein:

doif1 - stellt fest, ob jemand rein gekommen ist (ich hab ne aussen und ne innen-tür)

(
   [MK_Aussentuer:state] eq "closed"
)

()()


DOELSEIF

(
   [MK_Wohnzimmer_Innenzugang:state] eq "closed"
  and
   $cmd == 1.1
)

(
set ratOtab_AMAD ttsMSG willkommen;
)
das funzt
dann prüf ich mit nem anderen doif, wer da kommt:

([Aussentuer_Rein:cmd_nr] == 2 and [Aussentuer_Rein:cmd_nr:sec] < 5 and [xxx:presence] eq "present" and [xxx:presence:sec] < 60)

(set ratOtab_AMAD ttsMSG xxx;)

DOELSEIF

... anderes handy
er plärrt immer den namen xxx - egal, ob die zutrittskontrolle getriggert hat, obwohl das handy immer da war oder auch bt ein/aus war
→do↑p!dnʇs↓shit←

CoolTux

Mach doch ein event-on-change-reading presence beim Presence Device.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

the ratman

#6
hab ich gemacht - nutzt nix
btw - 1 beitrag vorher gibts ergänzungen

defmod xxx PRESENCE local-bluetooth xx:xx:xx:22:5e:a2
attr Bastet DbLogExclude .*
attr Bastet alias Handy xxx
attr Bastet devStateIcon absent:it_smartphone@red present:it_smartphone@green
attr Bastet event-on-change-reading .*
attr Bastet group Anwesenheit
attr Bastet icon it_smartphone
attr Bastet room Anwesenheit
→do↑p!dnʇs↓shit←

the ratman

#7
mom, jetzt seh ich erst:


ZitatNicht ganz. Das bedeutet das der Timestamp des Readings presence älter wie 60s sein muss.
=
[handy1:presence:sec] < 60

dann wäre > 60 unter 60 sek?
wenn das mein mathe le(e/h)rer sieht, gibts haue...
→do↑p!dnʇs↓shit←

Damian

[handy1:presence:sec] < 60 macht nur dann Sinn wenn handy1 ein Event erzeugt, bei dem presence sich nicht ändert, ansonsten ist die sec-Definition gleich Null.
DOIF ([irgend ein Trigger] and [?handy1:presence:sec] < 60 ) macht möglicherweise mehr Sinn, weil presence hier nicht triggert.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

CoolTux

Nein habe mich vertan. > Bedeutet größer < kleiner.

> 60 also timestamp älter 60s
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

the ratman

#10
dann kann ich :sec also löschen([Aussentuer_Rein:cmd_nr] == 2 and [xxx:presence] eq "present")

(set ratOtab_AMAD ttsMSG xxx;)

DOELSEIF
... nur bimmelt dann die begrüssung genau so bei "nur" bt-änderung ohne aussentür-änderung und vice versa


btw cool: somit hast deinen 1. fehler mir gegenüber gemacht == kommt in den kalender *g*
→do↑p!dnʇs↓shit←