FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Wasserwerk33 am 26 März 2017, 21:56:54

Titel: Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: Wasserwerk33 am 26 März 2017, 21:56:54
Hallo ich habe ein problem mit meinem Zeitstempel. Vielleicht mache ich es ja auch falsch. Konnte aber über die suchfunktion nichts finden was mit dabei Hilft mein Define umzuschreiben.

define watchdog_Urlaub watchdog Eltern:absent 08:00:00 Eltern:present {fhem("set Pushbullet message | Habt ihr eure Haus auf Urlaub gestellt??")}

Zurzeit bekomme ich nach 8 stunden eine nachrricht geschickt wenn wir nicht da sind. Ich würde diese aber gerne Nachts um 1 Uhr erhalten. Falls wir nicht da sind. Wo muss ich die Uhrzeit den eintragen. Mit at *01:00:00 funktioniert dieses nicht.

Kann mir bitte wer helfen??

Titel: Antw:Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: betateilchen am 26 März 2017, 22:08:59
Naja, abgesehen davon, dass der Stern bei 01:00:00 falsch wäre, sollte eigentlich nichts dagagen sprechen, im Ausführungsteil Deines watchdog ein entsprechendes at zu definieren, das um 1 Uhr eine Nachricht verschickt, wenn es notwendig ist

Ausserdem heisst es "Euer Haus" und nicht "eure Haus".
Titel: Antw:Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: Wasserwerk33 am 26 März 2017, 22:26:05
Danke für den Rechtschreibung.  ::)

Habe es gerade ausprobiert
define watchdog_Urlaub watchdog Eltern:absent at 01:00:00 Eltern:present {fhem("set Pushbullet message | Habt ihr Euer Haus auf Urlaub gestellt??")}

Bekomme eine Fehlermeldung (Wrong timespec, must be HH:MM[:SS])
Titel: Antw:Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: betateilchen am 26 März 2017, 22:41:13
Völlig falsche syntax. Du hast nicht verstanden, was ich geschrieben hatte.

Prinzip:



define bla watchdog <event1> 08:00:00 <event2> define blub at 01:00:00 set Pushbullet message ...



Zur Not halt nochmall in die commandref schauen, das hilft ungemein.
Titel: Antw:Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: Wasserwerk33 am 27 März 2017, 14:55:43
Danke

Hat geklappt. So wie es soll. Super sache. Danke nochmals.
Titel: Antw:Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: Wasserwerk33 am 02 April 2017, 08:19:06
Hallo nochmals ich.

Also meine Nachrichten bekommen ich. Mein Problem ist nur ich erhalte sie jede Nacht obwohl ich zuhause bin und auch  anwesend bin. Habe schon im forum und im wiki geschaut finde aber keine Fehler. Er soll ja nur auslösen wenn wir nachts um 1Uhr nicht zuhause sind.

defmod watchdog_Urlaub watchdog Eltern:absent 00:00:10 Eltern:present define Nachricht at 01:00:00 set Pushbullet message | Habt ihr Euer Haus auf Urlaub gestellt??
attr watchdog_Urlaub autoRestart 1
attr watchdog_Urlaub regexp1WontReactivate 1
attr watchdog_Urlaub room Anwesend

setstate watchdog_Urlaub defined
setstate watchdog_Urlaub 2017-04-02 08:13:56 Activated activated
setstate watchdog_Urlaub 2017-04-02 08:14:06 Triggered triggered

Gesendet von meinem ALE-L21 mit Tapatalk

Titel: Antw:Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: Thorsten Pferdekaemper am 02 April 2017, 08:27:17
Hi,
das, was Du jetzt definiert hast, bedeutet so viel wie "wenn wir mindestens 10 Sekunden abwesend sind". Vorher war das "wenn wir mindestens 8 Stunden abwesend sind". Dazu schreibst Du noch "wenn wir nachts um 1 Uhr nicht zuhause sind".
Du musst Dich schon entscheiden, da das alles unterschiedliche Bedingungen.
Gruß,
   Thorsten
Titel: Antw:Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: CoolTux am 02 April 2017, 08:28:19
Schon ne komische Art die Anforderung ab zu decken.
Ich würde jede Nacht um 1 Uhr ein at starten welches als Bedingung schaut ob Eltern zu Hause sind, wenn nicht soll eine Nachricht verschickt werden.
Titel: Antw:Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: Wasserwerk33 am 02 April 2017, 13:31:47
Also eigentlich reicht mir das wenn es nachts um 1 Uhr ist.

Und ist der watchdog nicht das passende modul dafür?

Gesendet von meinem ALE-L21 mit Tapatalk

Titel: Antw:Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: viegener am 02 April 2017, 13:57:47
Das Problem ist aus meienr Sicht nicht der Watchdog, sondern eine klare Formulierung der Bedingungen, die Du haben möchtest. Auch wenn man das dann vermutlich auf mehrere Arten erfüllen kann.

Wie Thorsten schon schreibt, momentan trigger Dein Watchdog wenn IRGENDWANN für mindestens 10 Sekunden absent ohne darauffolgendes present gilt. Danach wird um 1 eine Benachrichtigung geschickt - selbst wenn inzwsichen wieder present gilt.
Zitat von: Wasserwerk33 am 02 April 2017, 13:31:47
Also eigentlich reicht mir das wenn es nachts um 1 Uhr ist.

Das ist jedenfalls keine klare Beschreibung.
Achso und die setstate-Befehle verstehe ich nicht

Ich versuche mal den Anfang zu machen:

- Wenn für 8h auf den event ...absent kein event ...present erfolgt, soll eine Nachricht verschickt werden
- Diese Nachricht soll um 1 Uhr verschickt werden

Wenn Du jetzt noch um 1 Uhr überprüfen willst ob inzwischen ...present wieder erfüllt ist, kannst Du doch mit einem IF diese Bedingung überprüfen bevor die Nachricht versandt wird

so etwas wie:


defmod watchdog_Urlaub watchdog Eltern:absent 00:00:10 Eltern:present define Nachricht at 01:00:00 IF ( [Eltern] ne "present") ( set Pushbullet message | Habt ihr Euer Haus auf Urlaub gestellt?? )


Ohne das jetzt bei mir ausprobiert zu haben




Titel: Antw:Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: Wasserwerk33 am 02 April 2017, 14:08:35
Danke ich werde es mal probieren. Ja ich tu mich sau schwer mit dem programmieren. Den trotz lesen  verstehe ich nicht immer wann man zusätzlich ein at oder if setzt. Danke nochmals

Gesendet von meinem ALE-L21 mit Tapatalk

Titel: Antw:Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: Thorsten Pferdekaemper am 02 April 2017, 15:27:43
Hi,
ich glaube, dass Wasserwerk33 nur das hier will:

define Nachricht at *01:00:00 IF ( [Eltern] ne "present") ( set Pushbullet message | Habt ihr Euer Haus auf Urlaub gestellt?? )

Gruß,
   Thorsten
Titel: Antw:Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: CoolTux am 02 April 2017, 16:20:26
Zitat von: Thorsten Pferdekaemper am 02 April 2017, 15:27:43
Hi,
ich glaube, dass Wasserwerk33 nur das hier will:

define Nachricht at *01:00:00 IF ( [Eltern] ne "present") ( set Pushbullet message | Habt ihr Euer Haus auf Urlaub gestellt?? )

Gruß,
   Thorsten

Mein Reden  ;D
Titel: Antw:Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: viegener am 02 April 2017, 17:06:26
Zitat von: CoolTux am 02 April 2017, 16:20:26
Mein Reden  ;D

Wenn es so einfach ist - das heisst aber auch, dass man die Meldung vermutlich immer an Neujahr erhält  ;)
Titel: Antw:Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: Wasserwerk33 am 02 April 2017, 17:31:05
Danke für die hilfreichen define und antworten. Aber habe ich es so falsch mit einem Watchdog gemacht?

Ich werden eure define mit at nehmen.

Danke nochmals dafür

Gesendet von meinem ALE-L21 mit Tapatalk

Titel: Antw:Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: Thorsten Pferdekaemper am 02 April 2017, 18:05:18
Zitat von: Wasserwerk33 am 02 April 2017, 17:31:05Aber habe ich es so falsch mit einem Watchdog gemacht?
Naja, Watchdog verwendet man, wenn man überwachen möchte, ob ein bestimmtest Event während einer bestimmten Zeit (nicht) eintritt. D.h. wenn Du feststellen willst, ob für 8 Stunden niemand zuhause ist, dann ist Watchdog schon richtig. Wenn Du aber immer um 1:00 Uhr feststellen willst, ob jemand zuhause ist, dann ist Watchdog falsch.
Gruß,
   Thorsten
Titel: Antw:Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: Wasserwerk33 am 02 April 2017, 20:27:58
Ah okay.
Jetzt habe ich es begriffen. Danke

Gesendet von meinem ALE-L21 mit Tapatalk

Titel: Antw:Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: Wasserwerk33 am 03 April 2017, 05:14:11
Morgen

Eine Frage habe ich nochmals.
Und zwar frag ich ja ab ob meine Frau und ich zuhause sind.
So:
defmod Eltern structure anwesend Stefan Christin
attr Eltern room Anwesend

setstate Eltern undefined
setstate Eltern 2017-04-03 05:08:50 LastDevice Stefan
setstate Eltern 2017-04-03 05:08:50 LastDevice_Abs Stefan
setstate Eltern 2017-04-03 05:08:50 state undefined

Jetzt steht der status ja als undefined weil er es nicht besser weiß. Gibt es eine Möglichkeit diesen auf definiert zu setzten oder halt eben bei der if Abfrage es so zuschreiben das ich ; undefinert noch mit reinpacken kann?
Den bekomme nachts eine Meldung ;)

In wiki steht nur bei status abfragen ohne & drin dort steht ich würde es dann mit : oder ; schreiben und "undefined"

Ist das richtig?

Gesendet von meinem ALE-L21 mit Tapatalk
Titel: Antw:Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: Thorsten Pferdekaemper am 03 April 2017, 08:25:32
Hi,
der Code, den Du da postest, wo kommt der her? (Und außerdem: Könntest Du das mal in Code-Tags packen?)
Ich meine damit: Wo kommt das "setstate" her? Wenn das in der fhem.cfg steht, dann ist das falsch.
Normalerweise stellt FHEM den letzten Zustand wieder her, wenn es sauber durchgestartet wird. Außerdem dürfte Dein Problem sowieso nur auftreten, wenn FHEM neu gestartet wird. Das kommt aber in der Praxis normalerweise eher selten vor. ...und dann wird, wie gesagt, der letzte Zustand wieder hergestellt.
Gruß,
   Thorsten
Titel: Antw:Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: CoolTux am 03 April 2017, 08:56:41
Für Structure gibt es die zwei Attribute clientstate_priority und clientstate_behavior. Eventuell hilft das
Titel: Antw:Bekomme es nicht mit dem Zeitstempel hin
Beitrag von: rabehd am 03 April 2017, 10:00:52
Das hilft  8), denn so mache ich es schon länger.