Abfall Push Mitteilung per Telegram versenden

Begonnen von tuxnerd, 12 April 2017, 15:39:23

Vorheriges Thema - Nächstes Thema

tuxnerd

Hallo zusammen,

ich bin absoluter Neuling in Sachen FHEM und habe die folgende Frage:

Ich habe einen Telegram Bot erstellt, über den ich schon mal eine Steckdose schalten kann.

Nun habe ich über das ABFALL-Modul den kommunalen Abfallkalender importiert (ics) und möchte deshalb gern automatisiert über den Telegram Bot Benachrichtigungen an eine Telegram-Gruppe versenden.

Im Wiki (https://wiki.fhem.de/wiki/ABFALL#Benachrichtigung) steht dazu der Vorschlag DOIF, was durchaus vernünftig klingt. Nur die Frage ist: Wie und an welcher Stelle richte ich das worüber ein?

Am Ende möchte ich erreichen, dass ich anhand der Angaben im Abfallkalender (Termin) 1 Tag vorher eine Benachrichtigung von fhem aus an die Telegram-Gruppe versenden lassen kann. Diese Benachrichtigung soll einmalig pro Termin und Abfall-Art verschickt werden (meine Abfall-Arten sind: Gelber Sack, Restmüll, Papiertonne).

Kann mir da jemand von Euch weiterhelfen?

Grüße an die Füße.

DeeSPe

#1
Ich mache das per at jeden Abend um 19 Uhr anhand des "next_tage" Readings.

Etwa so:
define at_Abfall at *19:00 { fhem "set TB msg ABFALL: Morgen wird abgeholt [Name-ABFALL-device:next_text]" if (ReadingsNum("Name-ABFALL-device","next_tage",5) == 1) }

Damit wird jeden Abend um 19 Uhr geprüft ob morgen (next_tage == 1) etwas abgeholt werden soll und wenn das der Fall ist, so wird der Wert des Readings next_text per TB versendet.

Gruß
Dan

EDIT: Hoffe der Code stimmt so! Ist ungetestet gerade nur aus dem Kopf geschrieben.
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

UweUwe

Hallo, zur Vervollständigung für die nächsten "Hilfesuchenden" :  hier noch der getestete Befehl:

define at_ABFALL_1 at *9:00 {fhem "set telexxx message \@#Senxxx Abfall: Morgen wird angeholt [Muelltonxxx:next_text]" if (ReadingsNum("Muelltonxxx","next_days",5)==1)}

Ich habe die Namen, die angepasst werden müssen, mit xxx versehen.
==> telexxx   (devicename des Bot)
==> Senxxx   (name der Gruppe, an die der TELEBOT schicken soll
==> Muelltonnen ==> Name des Abfall devices in FHEM