FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Moonlightkid am 17 Oktober 2020, 21:49:02

Titel: DOIF für morgentliche Telegram-Nachricht, ob Rutschgefahr besteht
Beitrag von: Moonlightkid am 17 Oktober 2020, 21:49:02
Hallo zusammen :)

ich wähne mich eigentlich fast am Ziel :)

Das DOIF soll mir eine Nachricht schicken, wenn die Temperatur um 06:00 Uhr kleiner als 5°C ist.
Die Temperatur erhalte ich vom netatmo, die Uhrzeit durch die Angabe der Sekunden.

Die Uhrzeit klappt und mein Test sollte vorhin testweise die Nachricht schicken sollen. Deshalb die zu hohe Sekundenanzahl und die 15°C, weil wir aktuell knapp drunter liegen.

Leider erhalte ich die Telegram-Nachricht nicht und das list zeigt einen Fehler auf den ich nicht kapiere.

Vielleicht kann mir wer die Augen öffnen?
Was ich in der commandref und den vielen post gelesen habe was irgendwie passt, da komme ich zu meinem Ansatz/meiner Lösung

Internals:
   CFGFN     
   DEF        (([76920])and(netatmo temperature eq <15))(set SmartHomeBot message \@\@Ralph Achtung Strassenglätte!)
   FUUID
   MODEL      FHEM
   NAME       strassenGlaette
   NOTIFYDEV  global
   NR         341
   NTFY_ORDER 50-strassenGlaette
   STATE      initialized
   TYPE       DOIF
   VERSION    22913 2020-10-04 21:46:02
   READINGS:
     2020-10-17 21:21:16   cmd             0
     2020-10-17 21:22:00   error           condition c01: Unterminated <> operator, line 1.

     2020-10-17 21:21:16   mode            enabled
     2020-10-17 21:21:16   state           initialized
     2020-10-17 21:22:00   timer_01_c01    18.10.2020 21:22:00
   Regex:
     accu:
   condition:
     0          (::DOIF_time_once($hash,0,$wday))and(netatmo temperature eq <15)
   days:
   do:
     0:
       0          set SmartHomeBot message \@\@Ralph Achtung Strassenglätte!
     1:
   helper:
     DEVFILTER  ^global$
     NOTIFYDEV  global
     event      timer_1
     globalinit 1
     last_timer 1
     sleeptimer -1
     triggerDev
     triggerEvents:
       timer_1
     triggerEventsState:
       timer_1
   interval:
   intervalfunc:
   localtime:
     0          1603048920
   realtime:
     0          21:22:00
   time:
     0          76920
   timeCond:
     0          0
   timer:
     0          0
   timers:
     0           0
   triggertime:
     1603048920:
       localtime  1603048920
       hash:
   uiTable:
Attributes:
   room       DOIF,Zentrale


Ich hätte eben nur gerne die Nachricht, ob ich aufs Mopped steigen kann, oder lieber den Bus nehme :D

Ich würde mich sehr freuen, wenn das jemand korrekturlesen könnte...


Grüßle!
Titel: Antw:DOIF für morgentliche Telegram-Nachricht, ob Rutschgefahr besteht
Beitrag von: MadMax-FHEM am 17 Oktober 2020, 21:55:30
Warum kein einfaches at!?

Und: eq < ist Quatsch!

Da du numerisch vergleichen willst wohl eher <

EDIT: eq -> equal zum Vergleich von Zeichenketten ("Strings") und < > etc. zum Vergleich von numerischen Werten. Beides zusammen ist Quatsch! ;)

EDIT: und auch einfach (netatmo temperature) ist Quatsch. Mal commandref oder/und Wiki bzgl. DOIF Syntax lesen...

EDIT: und auch mal bzgl. Perl einlesen...

EDIT: in etwa so

define atFrost at *06:00:00 {if(ReadingsNum("netatmo","temperature",20) < 15){fhem("set SmartHomeBot message \@\@Ralph Achtung Strassenglätte!")}}

sofern dein netatmo Device "netatmo" heißt und das Readings für Temperatur "temperature" heißt und nat. der Befehl bzgl. Telegram-Nachricht korrekt ist...
...ansonsten halt anpassen...

EDIT: damit sollte jeden Tag um 06:00 geprüft werden, wie kalt es ist und unter 15 Grad eine Nachricht kommen...

Gruß, Joachim
Titel: Antw:DOIF für morgentliche Telegram-Nachricht, ob Rutschgefahr besteht
Beitrag von: yersinia am 17 Oktober 2020, 21:57:29
^- das und vor allem wäre es:
([netatmo:temperature] < 15)
Titel: Antw:DOIF für morgentliche Telegram-Nachricht, ob Rutschgefahr besteht
Beitrag von: viegener am 17 Oktober 2020, 22:14:05
Mmmh ich denke da geht noch einiges durcheinander - aber das haben ja andere bereits bemerkt

und bei telegram solltest Du besser keine Namen sondern eine Kontaktid verwenden, ich weiss nicht ob Telegram ids mehrfach vergibt


Titel: Antw:DOIF für morgentliche Telegram-Nachricht, ob Rutschgefahr besteht
Beitrag von: Moonlightkid am 17 Oktober 2020, 23:23:06
Okay - von "at" hab ich keinen Schimmer...

Wg. eq, ich versuche so gut wie möglich da rein zu kommen.
Die commandref ist auch das erste was ich mir anschaue. Perl ist aber keine von mir erlernte Programmiersprache. Es ist ein ausprobieren und zusammenreimen. Scheinbar sind meine Versuche wohl eher als stümperhaft zu betrachten...

Naja.

eq für Strings - check, ohne ist hier besser.

Ich hab es mit der KontaktId versucht, hat (warum auch immer) nicht funktioniert, aber ich versuche es nochmal.

Aber mal ehrlich - für einen Noob hab ich schonmal das \@\@ herausgefunden  8)


Danke auf jeden Fall!!!

Ich versuche den Ansatz von MadMax
Titel: Antw:DOIF für morgentliche Telegram-Nachricht, ob Rutschgefahr besteht
Beitrag von: Moonlightkid am 17 Oktober 2020, 23:47:12
... war noch nicht 100% - aber keine echte Fehlermeldung und schon was spät. Ich schau später nochmal drauf.

Schönes WE zusammen!