Telegram instant messaging TelegramBot - Empfangen und Senden per FHEM

Begonnen von viegener, 20 Juni 2015, 18:59:41

Vorheriges Thema - Nächstes Thema

JoWiemann

Zitat von: Ma_Bo am 19 April 2016, 20:48:24
wird bei mir nur mit der empfangenen Nachricht gefüllt, aber nicht mit der versendeten.

Grüße Marcel

Argh, falsch herum gelesen ...

Und das set generiert auch keinen Log-Eintrag...

Du kannst aber folgendes machen:


attr teleBot UserReadings MsgTextSend {InternalVal("teleBot","sentMsgText","none");;}
define teleBotLog FileLog ./log/teleBot-%Y.log teleBot:.*MsgTextSend.*


Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Ma_Bo

NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

viegener

Zitat von: Muschelpuster am 19 April 2016, 08:14:09
Also ich kann Florian zustimmen, allerdings finde ich Doku in Form von Forendiskusssionen doch eher unglücklich. Egal ob hier oder in anderen Bereichen muss man lange suchen, bis man alle Irrwege verlassen hat und zum Ziel kommt. Von daher ist die Auftrennung des Threads auch nur halbherzig.
Ich rufe lieber dazu auf, aktiv an dem entspr. Wiki-Artikel mitzuarbeiten. Das ist genau eine Seite, auf der alle Informationen stehen sollten und wenn der rund ist, braucht keiner seitenweise Forenthreads wälzen.

einseitige Grüße
Niels

Wiki-Seite finde ich jetzt auch eine gute Lösung. Ich versuche zwar auf jeden Fall die Commandref in englisch vollständig zu halten, verstehe aber, dass das u.U. nicht für jeden passt.

- Jeder kann gerne selber Beispiele und Inhalte zum Wiki hinzufügen, speziell Beispiele sind immer wieder angefragt
- Wenn jemand nicht selber ins wiki schreiben will, gerne auch Inhalte hier einstellen, ich kann das dann ins Wiki übertragen

Ansonsten, wenn es konkrete Punkte gibt, die Euch im wiki fehlen sagt gerne auch hier Bescheid. Ich möcte nämlich auch ins wiki nur Inhalte übertragen, die für jemanden hilfreich sind.

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

viegener

Zitat von: Muschelpuster am 19 April 2016, 20:18:37
Bei mir auch - aber mit der letzten empfangenen Nachricht.

Mein Bot wird mit Werbung versorgt und dabei kam es zu diesem Fehler:PollingLastError: Callback returned no valid JSON: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<html>\r\n<head><tit...") at ./FHEM/50_TelegramBot.pm line 1465Ist das relevant oder normal? Neue Nachrichten werden auf jeden Fall empfangen - da gibt es kein Problem.
Ich muss wohl doch die Privacy wieder einschalten.

gespammte Grüße
Niels

Nein das kommt immer mal wieder vor, das einzelne Zugriffe schief gehen. Wenn es stört, gibt es das Attribut: pollingVerbose mit dem Wert 1_Digest wird nur alle 24 Stunden ein Eintrag mit der Anzahl der Fehler geloggt, damit man sieht ob es wirklich ein Problem gibt.

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

viegener

Zitat von: Ma_Bo am 19 April 2016, 19:20:31
Hallo viegener,

ist es möglich, dass man die vom TelegramBot gesendete Nachricht auch als Reading bekommt, bzw. kannst du das einbauen?
Würde das gerne auch mit in ein Log schreiben.

Grüße Marcel

Ich kann das noch einbauen, wollte aber nicht zuviele Readings haben, deshalb hatte ich mich darauf beschränkt die Readings sentMsgResult und sentMsgId hinzugefügt, diese werden NACH Versand der Nachricht gesetzt und erlauben es dann den Text aus dem Internal sentMsgText herauszulesen. Wichtig ist, dass man auf das Setzen der Readings wartet, sonst ist die Nachricht vielleicht gar nicht gesendet.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Muschelpuster

Zitat von: viegener am 20 April 2016, 00:18:05- Wenn jemand nicht selber ins wiki schreiben will, gerne auch Inhalte hier einstellen, ich kann das dann ins Wiki übertragen
Da ich mich in Sachen Programmierung nicht beteiligen kann, gebe ich da auch gerne etwas zurück und kann im Rahmen meiner begrenzten Möglichkeiten behilflich sein.

Zitat von: viegener am 20 April 2016, 00:18:05Ansonsten, wenn es konkrete Punkte gibt, die Euch im wiki fehlen sagt gerne auch hier Bescheid. Ich möcte nämlich auch ins wiki nur Inhalte übertragen, die für jemanden hilfreich sind.
Oh ja, ein SVG-Plot als Bildchen versenden bitte. Das bekomme ich mit den bislang gefundenen Informationen nicht gebacken.

beschränkte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

abc2006

Zitat von: Muschelpuster am 20 April 2016, 06:32:11
Oh ja, ein SVG-Plot als Bildchen versenden bitte. Das bekomme ich mit den bislang gefundenen Informationen nicht gebacken.

+1
hätte ich auch gerne :-)

Grüße
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

JoWiemann

#592
[Hallo, zu SVG Plot hatte ich schon mal eine Lösung im WhatsApp Thread vorgestellt. Die beschriebene Erweiterung im SVG Modul konnte sich bisher nicht beim Maintainer durchsetzen.]

Nonsens, es war das RSS Modul gemeint.


Grüße Jörg

Gesendet von iPhone mit Tapatalk
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

marvin78

Das Problem verstehe ich nicht. Die in FHEM eingebaute Funktion

{plotAsPng("SVGDEV")}

Bereitet einen Plot als png auf. Das wiederum kann man einfach als image versenden.

Edit: Einfach unter favorites ablegen.

JoWiemann

Hallo,

ich habe Blödsinn erzählt. Ich meinte das RSS Modul. Damit kann man erstellte RSS Seiten als Bild ohne den Umweg über wget versenden.




Grüße Jörg

Gesendet von iPad mit Tapatalk
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Muschelpuster

Zitat von: marvin78 am 20 April 2016, 09:24:29
Das Problem verstehe ich nicht. Die in FHEM eingebaute Funktion
{plotAsPng("SVGDEV")}
Bereitet einen Plot als png auf. Das wiederum kann man einfach als image versenden.
Sorry, für meine begrenzten Fähigkeiten. Aber so einfach ist das für mich nicht:
set meinTelegramBot sendImage @meinZiel {plotAsPng("SVG_meinDiagamm")}
FAILED file :{plotAsPng("SVG_meinDiagamm")}: not found or empty


Da gibt es ja nun noch folgende Aussage, die ich aber auch nicht ernsthaft verstehe und umsetzen kann:
Zitat von: igami am 17 April 2016, 08:38:16
Habe es nun erst mal folgendermaßen gelöst:

{TelegramBot_ExecuteCommand($defs{myTelegramBot}, [myTelegramBot:msgPeerId], '{plotAsPng("test_SVG")}');; return;;}
{TelegramBot_ExecuteCommand($defs{meinTelegramBot}, [meinTelegramBot:meinZiel], '{plotAsPng("SVG_meinDiagamm")}');; return;;}
syntax error at (eval 344547) line 1, near "meinTelegramBot"


fehlerhafte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

marvin78

{TelegramBot_ExecuteCommand($defs{"TelegramBot"}, [msgPeerId], '{plotAsPng("PlotDevice")}');; return;;}

TelegramBot: Dein Bot Device
msgPeerId: Deine PeerID (auch herauszufinden über ReadingsVal())
PlotDevice: Dein plot Device

Einfacher geht es aber, wie gesagt, mit den favorites. Dort kann man es einfach so angeben:

/meinBefehl={plotAsPng("PlotDevice")};
Plots fordert man sicher sowieso eher an, als das man sie automatisch verschickt.

Muschelpuster

Zitat von: marvin78 am 20 April 2016, 10:35:53Plots fordert man sicher sowieso eher an, als das man sie automatisch verschickt.
Na ja, ich versende einen Alarm bei Unter- bzw. Überschreitung von Werten, da soll das Tagesplot eigentlich schon automatisch mitkommen

TelegramBot: telegramBot (zugegeben etwas unglücklich)
msgPeerId: 12345678
PlotDevice: Terrarium_1

{TelegramBot_ExecuteCommand($defs{"telegramBot"}, [@12345678], '{plotAsPng("Terrarium_1")}');; return;;}Das läuft nun so erst einmal durch, allerdings wird es nicht gesendet:
sentMsgResult -> NonBlockingGet: returned FAILED peer not found :ARRAY(0x31xxxb8)

Gleiches ohne das @-Zeichen in der PeerID (dadurch kam ich erst darauf, ob hier evtl. das @ benötigt wird).

mühsame Grüße
Niels

fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

marvin78

Ohne @ und das ist nicht die ID von deinem Bot, sondern die des Peers (dein Handy oder sonstiges). Gerade noch einmal getestet. Klappt einwandfrei.

Edit: und das ohne @ genau der gleiche Fehler erscheint, glaube ich nicht.

Muschelpuster

Zitat von: marvin78 am 20 April 2016, 12:37:18
Ohne @ und das ist nicht die ID von deinem Bot, sondern die des Peers (dein Handy oder sonstiges).
Ja klar die des Handys. Habe ich auch nochmal mit einer Textnachricht geprüft, dass die ok ist.

Zitat von: marvin78 am 20 April 2016, 12:37:18Edit: und das ohne @ genau der gleiche Fehler erscheint, glaube ich nicht.
Jo, nicht zu 100%, der Hex-Wert ist anders  ;)
Ich habe es jetzt nochmal an eine Gruppe versucht - gleicher Fehler, nur anderer Hex-Wert.

fehlerhafte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF