ABFALL & Telegram

Begonnen von sinus444, 20 Februar 2018, 15:00:13

Vorheriges Thema - Nächstes Thema

sinus444

Guten Tag, lieber Fhemler,

wie alle anderen Unwissenden bin ich nagelneu im Thema, habe unter Anleitung der Tutorials den FHEMServer zum laufen bekommen und habe, mangels echten Geräten, den Müllplan mit dem ABFALLMODUL erstellt.
Soweit, so gut.
Nun möchte ich mir natürlich auch Push-Benachrichtungen schicken.

Leider ergab meine Suche nichts, an dem ich ansetzen kann. Der Herr Kleine beschränkt sich bei seinem alten Müllplan auf Pushover und geht bei seinem neuen Müllplan nicht auf Push-Notifications ein.

Uniqueck als Ersteller des AbfallModuls erwähnt den Code für Benachrichtigungen per Telegram:

ZitatBenachrichtigung
DOIF
TelegramBot Beispiel
[myABFALL:next_days] == 1) ( set fhemBot message 'Morgen wird [myABFALL:next_text] abgeholt')
[myABFALL:now_text] ne "") ( set fhemBot message 'Heute wird [myABFALL:now_text] abgeholt')

Ich habe versucht, diesen Command auszuführen und habe "Myabfall" durch den Namen meinen Devices für die Mülltonnen "MUELLTONNEN" ersetzt und den "fhembot" durch meinen "Telebot1".

Hat nicht funktioniert:

Zitat
Unknown command [MUELLTONNEN:next_days], try help.

Nun bin ich mit meinem Latein am Ende. Alle anderen Suchen haben nichts ergeben, da die Leute anscheinend schon weiter sind als, mit meinen Erkenntnissen zu FHEM.

Vielleicht wäre jemand so nett und könnte mir auf die Sprünge helfen!?

Vielen Dank!

Esjay

Gib mal bitte ein List von deinem Abfall Device.

Nimm mal das Komma hinter [MUELLTONNEN:next_days] weg. Das könnte dazu führen, dass er einen weiteren Command erwartet, und somit die Syntax durch die fehlende Klammer nicht mehr passt.

Grüße

oli82

Zitat von: sinus444 am 20 Februar 2018, 15:00:13
Hat nicht funktioniert:

sollte in etwa so aussehen:
define di.Abfall DOIF ([Google.Abfall:next_days] == 1) (set Smarthome message @#Smarthome ♻ Morgen wird [Google.Abfall:next_text] abgeholt. Bitte den Abfall raus bringen!)
poste bitte mal dein komplettes DOIF

nils_

poste mal bitte ein list von deinem Abfalldevice (list MUELLTONNEN in der fhem Eingabezeile) in  code-tags (das ist das #-Zeichen über den Smileys)
und ein list vom DOIF (list <DOIF-Name> )
viele Wege in FHEM es gibt!

sinus444

#4
Internals:
   DEF        muell 3600
   KALENDER   muell
   NAME       Muelltonnen
   NOTIFYDEV  muell
   NR         23
   NTFY_ORDER 50-Muelltonnen
   STATE      Gelbe(r) Sack/Tonne und Sperrmüll (wenn angemeldet) in 2 Tag(en)
   TYPE       ABFALL
   READINGS:
     2018-02-20 14:22:58   Altpapier_date  19.03.2018
     2018-02-20 14:22:58   Altpapier_days  27
     2018-02-20 14:22:58   Altpapier_description
     2018-02-20 14:22:58   Altpapier_location
     2018-02-20 14:22:58   Altpapier_text  Altpapier
     2018-02-20 14:22:58   Altpapier_uid   synthetic000009
     2018-02-20 14:22:58   Altpapier_weekday Montag
     2018-02-20 14:22:58   Biomuell_date   05.03.2018
     2018-02-20 14:22:58   Biomuell_days   13
     2018-02-20 14:22:58   Biomuell_description
     2018-02-20 14:22:58   Biomuell_location
     2018-02-20 14:22:58   Biomuell_text   Biomüll
     2018-02-20 14:22:58   Biomuell_uid    synthetic000299
     2018-02-20 14:22:58   Biomuell_weekday Montag
     2018-02-20 14:22:58   GelberSackTonne_date 22.02.2018
     2018-02-20 14:22:58   GelberSackTonne_days 2
     2018-02-20 14:22:58   GelberSackTonne_description
     2018-02-20 14:22:58   GelberSackTonne_location
     2018-02-20 14:22:58   GelberSackTonne_text Gelbe(r) Sack/Tonne
     2018-02-20 14:22:58   GelberSackTonne_uid synthetic000064
     2018-02-20 14:22:58   GelberSackTonne_weekday Donnerstag
     2018-02-20 14:22:58   Restmuell_date  05.03.2018
     2018-02-20 14:22:58   Restmuell_days  13
     2018-02-20 14:22:58   Restmuell_description
     2018-02-20 14:22:58   Restmuell_location
     2018-02-20 14:22:58   Restmuell_text  Restmüll
     2018-02-20 14:22:58   Restmuell_uid   synthetic000184
     2018-02-20 14:22:58   Restmuell_weekday Montag
     2018-02-20 14:22:58   Sperrmuellwennangemeldet_date 22.02.2018
     2018-02-20 14:22:58   Sperrmuellwennangemeldet_days 2
     2018-02-20 14:22:58   Sperrmuellwennangemeldet_description
     2018-02-20 14:22:58   Sperrmuellwennangemeldet_location
     2018-02-20 14:22:58   Sperrmuellwennangemeldet_text Sperrmüll (wenn angemeldet)
     2018-02-20 14:22:58   Sperrmuellwennangemeldet_uid synthetic000409
     2018-02-20 14:22:58   Sperrmuellwennangemeldet_weekday Donnerstag
     2018-02-20 14:22:58   next            GelberSackTonne|Sperrmuellwennangemeldet_2
     2018-02-20 14:22:58   next_date       22.02.2018
     2018-02-20 14:22:58   next_days       2
     2018-02-20 14:22:58   next_description
     2018-02-20 14:22:58   next_location   
     2018-02-20 14:22:58   next_text       Gelbe(r) Sack/Tonne und Sperrmüll (wenn angemeldet)
     2018-02-20 14:22:58   next_weekday    Donnerstag
     2018-02-20 14:22:58   state           2
Attributes:
   calendarname_praefix 0
   date_style date
   delimiter_reading |
   delimiter_text_reading und
   event-on-change-reading .*
   room       Draussen
   stateFormat next_text in next_days Tag(en)
   weekday_mapping Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag


Internals:
   FAILS      0
   NAME       telebot1
   NR         25
   OLD_POLLING 108
   POLLING    108
   SNAME      telebot1
   STATE      Polling
   TYPE       TelegramBot
   UPDATER    0
   WAIT       0
   me         *******
   Contacts:
     534102097  534102097:A******:
   HU_DO_PARAMS:
     header     agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
     hideurl    1
     method     GET
     timeout    30
     url       
   HU_UPD_PARAMS:
     FD         4
     NAME       
     addr       https://api.telegram.org:443
     auth       0
     buf       
     code       200
     compress   1
     displayurl <hidden>
     header     agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
     hideurl    1
     host       api.telegram.org
     hu_blocking 0
     hu_filecount 107
     hu_port    443
     hu_portSfx
     isPolling  update
     loglevel   4
     method     GET
     offset     0
     path       /****************/getUpdates?offset=0&limit=5&timeout=120
     protocol   https
     redirects  0
     timeout    245
     url        https://api.telegram.org/*******/getUpdates?offset=0&limit=5&timeout=120
     hash:
     sslargs:
   READINGS:
     2018-02-20 13:42:01   Contacts        534102097:A*******:
     2018-02-20 13:42:01   PollingErrCount 0
     2018-02-20 13:42:59   msgChat         ******
     2018-02-20 13:42:59   msgChatId       534102097
     2018-02-20 13:42:59   msgFileId       
     2018-02-20 13:42:59   msgId           3
     2018-02-20 13:42:59   msgPeer         ******
     2018-02-20 13:42:59   msgPeerId       534102097
     2018-02-20 13:42:59   msgReplyMsgId   
     2018-02-20 13:42:59   msgText         ****
     2018-02-20 13:42:59   prevMsgChat     *****
     2018-02-20 13:42:59   prevMsgFileId   
     2018-02-20 13:42:59   prevMsgId       2
     2018-02-20 13:42:59   prevMsgPeer     *******
     2018-02-20 13:42:59   prevMsgPeerId   534102097
     2018-02-20 13:42:59   prevMsgReplyMsgId
     2018-02-20 13:42:59   prevMsgText     Hallo
   inlinechats:
Attributes:
   pollingTimeout 120
   room       Geräte


Das ist der DOIF Eintrag aus dem Wiki. Dort hab ich mein Device Muelltonnen und den Telebot angepasst:

Zitat[myMuelltonnen:next_days] == 1) ( set telebot1 message 'Morgen wird [Muelltonnen:next_text] abgeholt')
[Muelltonnen:now_text] ne "") ( set telebot1 message 'Heute wird [Muelltonnen:now_text] abgeholt')

nils_

das list vom DOIF bitte auch noch


btw.
Muelltonnen != MUELLTONNEN
viele Wege in FHEM es gibt!

sinus444

Zitatbtw.
Muelltonnen != MUELLTONNEN

Anfänger, sag ich ja ::)

nils_

viele Wege in FHEM es gibt!

sinus444

ZitatUnknown command [Muelltonnen:next_days], try help.

leider nein

sinus444

unter "Devices" in der Navigation hab ich nur den Telegrambot.
Das Device "Muelltonnen" befindet sich im Raum "Draussen".... Hat das was damit zu tun, dass das DOIF mir den Unknown raushaut?

oli82

Zitat von: sinus444 am 20 Februar 2018, 16:19:07
unter "Devices" in der Navigation hab ich nur den Telegrambot.
Das Device "Muelltonnen" befindet sich im Raum "Draussen".... Hat das was damit zu tun, dass das DOIF mir den Unknown raushaut?

define di.Abfall DOIF ([Muelltonnen:next_days] == 1) (set telebot1 message ♻ Morgen wird [Muelltonnen:next_text] abgeholt. Bitte den Abfall raus bringen!)

Der Code sollte bei dir laufen. Ich glaube ja, dass du kein DOIF angelegt hast ;)

sinus444

ZitatDer Code sollte bei dir laufen. Ich glaube ja, dass du kein DOIF angelegt hast ;)

mag sein.... der Anfänger in mir denkt: man legt etwas an, indem man es oben in die Befehlszeile schreibt und dann auf Enter drückt. Das hab ich mit dem DOIF aus dem Wiki gemacht und dann die Namen mit meinen Namen ausgetauscht habe. Lieg ich da falsch?

Was genau tausche ich denn bei deinem DOIF aus?

sinus444

sorry...hast du schon angepasst...danke:)

sinus444

HA! Hat funktioniert!. Muss ich da jetzt noch was anpassen beim Telebot? Kann ich das DOIF testen?

oli82

#14
Zitat von: sinus444 am 20 Februar 2018, 16:40:49
HA! Hat funktioniert!. Muss ich da jetzt noch was anpassen beim Telebot? Kann ich das DOIF testen?

Also hast du das DOIF nicht erstellt ;)
Im Wiki steht nur, wie das DOIF lauten muss. Der Autor geht davon aus, dass man das DOIF anlegen kann ;)

Kannst es über set di.Abfall cmd_1 testen.

P.S.: setze bitte noch attr di.Abfall do always, dass dein DOIF auch funktioniert.

sinus444

Zitat2018.02.20 16:46:24 2: di.Abfall: set telebot1 message ♻ Morgen wird Gelbe(r) Sack/Tonne und Sperrmüll (wenn angemeldet) abgeholt. Bitte den Abfall raus bringen!: TelegramBot_Set: Command message, without explicit peer requires defaultPeer being set

das schreibt er ins log.....kommt aber nix an...wenn ich am handy in den bot schreibe kommt aber was beim server an...daran kanns ja nicht liegen...wie kann ich Kontakte hinzufügen oder steuern wem er das schickt?

sinus444

ZitatKannst es über
Code: [Auswählen]
set di.Abfall cmd_1
testen.

P.S.: setze bitte noch
Code: [Auswählen]
attr di.Abfall do always
, dass dein DOIF auch funktioniert.

Okay, hab ich alles gemacht.....

wenn ich oben set di.Abfall cmd_1 ausführe werden meine Readings für ne Millisekunde rot....am bot kommt nix an

oli82

Bitte verzeih mir, aber an der Stelle muss ich dich bitten mal die Hilfe zurate zu ziehen:
https://fhem.de/commandref.html#TelegramBot <- hier der Abschnitt defaultPeer
https://wiki.fhem.de/wiki/TelegramBot#Beispielszenarien

sinus444

Readings
cmd
1
2018-02-20 16:53:59
cmd_event
set_cmd_1
2018-02-20 16:53:59
cmd_nr
1
2018-02-20 16:53:59
error
set telebot1 message ♻ Morgen wird Gelbe(r) Sack/Tonne und Sperrmüll (wenn angemeldet) abgeholt. Bitte den Abfall raus bringen!: TelegramBot_Set: Command message, without explicit peer requires defaultPeer being set
2018-02-20 16:53:59
mode
enabled
2018-02-20 16:39:08
state
cmd_1


das gibt er mir als reading raus

oli82

Steht doch hier: TelegramBot_Set: Command message, without explicit peer requires defaultPeer being set
du musst deinem TelegramBot einen defaultPeer zuweisen.

sinus444

haha...hab ich gemacht, jetzt klappts! Ich sag ja, Anfänger:)

Danke, der Herr! Das war gut! ;D

oli82

Zitat von: sinus444 am 20 Februar 2018, 17:02:40
haha...hab ich gemacht, jetzt klappts! Ich sag ja, Anfänger:)

Danke, der Herr! Das war gut! ;D

Gern geschehen.
Deshalb habe ich dir auch die beiden Links gepostet.
Viele deiner Fragen hätten mit einem Blick in die Referenz oder das Wiki beantwortet werden können ;)

Frohes Müllrausbringen ;)

sinus444

Ja, du hast recht....aber so ist das mit Anfängen: Wald vor lauter Bäumen nicht sehen..... und das trifft wie die Faust ins Auge....