DOIF für morgentliche Telegram-Nachricht, ob Rutschgefahr besteht

Begonnen von Moonlightkid, 17 Oktober 2020, 21:49:02

Vorheriges Thema - Nächstes Thema

Moonlightkid

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!
Synology 220+, Hue, MAX!, Sonoff und weiteres

MadMax-FHEM

#1
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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

yersinia

viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

viegener

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


Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Moonlightkid

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
Synology 220+, Hue, MAX!, Sonoff und weiteres

Moonlightkid

... war noch nicht 100% - aber keine echte Fehlermeldung und schon was spät. Ich schau später nochmal drauf.

Schönes WE zusammen!
Synology 220+, Hue, MAX!, Sonoff und weiteres