Push-Nachrichten per Telegram - was geht?

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

fischmir
Beiträge: 972
Registriert: 03.02.2014, 18:04
Wohnort: Münsterland
Hat sich bedankt: 27 Mal
Danksagung erhalten: 8 Mal

Re: Push-Nachrichten per Telegram - was geht?

Beitrag von fischmir » 29.03.2016, 21:11

F***. Ja, das sieht danach aus. Danke für die Links, ich les' dann mal erst eine Weile...

Benutzeravatar
Manu
Beiträge: 126
Registriert: 17.10.2014, 01:49
Wohnort: Ruhrpott

Re: Push-Nachrichten per Telegram - was geht?

Beitrag von Manu » 29.03.2016, 23:10

Wow, ich dachte schon, ich hätte viele Variablen...

Ich habe da übrigens die Erfahrung gemacht, wenn ich die gleichen Variablen-Namen in verschiedenen Scripts nutze (diese dürfen natürlich NIE gleichzeitig laufen), dann ist es für die CCU eine Variable. Tlw. nutze ich dieses "Feature" um in einem Script eine Variable zu beschreiben und in einem anderen Script diese dann auszulesen.
Vielleicht hilft es Dir beim Einsparen von Variablen :wink:
Gruß
Manu

Telegram-Messenger zur Interaktion mit der CCU(2) | [Yamaha AVR] nicht nur schalten, auch abfragen | Daten der HM-Wetterstation bei wetter.com bereitstellen

1x HM-CCU2 | 1x HM-CFG-LAN | 1x HM-CC-SCD | 1x HM-ES-PMSw1-DR | 3x HM-ES-PMSw1-Pl | 1x HM-LC-B|1-FM | 6x HM-LC-Bl1PBU-FM | 8x HM-LC-Dim1PWM-CV | 1x HM-LC-Sw1-Ba-PCB | 8x HM-LC-Sw1-FM | 4x HM-LC-Sw1PBU-FM | 2x HM-LC-Sw1-Pl-2 | 7x HM-LC-Sw2-FM | 1x HM-LC-Sw4-Ba-PCB | 1x HM-LC-Sw4-PCB | 1x HM-LC-Sw4-WM | 1x HM-MOD-EM-8 | 1x HM-MOD-Re-8 | 1x HM-OU-CF-Pl | 1x HM-OU-CM-PCB | ix HM-OU-LED16 | 3x HM-PB-2-WM55 | 5x HM-PB-2-WM55-2 | 10x HM-PB-6-WM55 | 1x HM-SCI-3-FM | 1x HM-SWI-3-FM | 1x HM-PBI-4-FM | 2x HM-RC-4-2 | 1x HM-Sec-MDIR-2 | 4x HM-Sec-RHS | 1x HM-Sec-SC-2 | 3x HM-Sec-SCo | 8x HM-Sec-SD | 1x HM-Sec-WDS-2 | 1x HM-Sen-MDIR-WM55 | 1x HM-Sys-sRP-Pl | 2x HM-TC-IT-WM-W-EU | 1x HM-WDS100-C6-O | 2x HM-WDS30-OT2-SM | 1x HM-WDS40-TH-I | 1x WA100HM | 3x Fritz!DECT200 via CUxD
geplant: HM-Dis-WM55

Xel66
Beiträge: 14297
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 601 Mal
Danksagung erhalten: 1529 Mal

Re: Push-Nachrichten per Telegram - was geht?

Beitrag von Xel66 » 29.03.2016, 23:41

Solche systemweite Datenübergabe würde ich eher nicht nutzen. Ein solches Handling ist im Allgemeinen eher unüblich. In sonstigen Programmierumgebungen sind die Variablen exclusiv. Das heißt, sie existieren nur zur Programm-/Scriptlaufzeit. Bei Homematic ist das leider nicht so und die Ursache für Fehlfunktionen. Man sollte im Normalfall davon ausgehen, daß dieses in künftigen Firmwareversionen gefixt wird (auch wenn ELV das Problem durch das Erwähnen der 200er Grenze in der Anleitung zum Feature gemacht hat). Dann funktionieren auch Deine Scripts ohne Vorwarnung nicht mehr.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

dtp
Beiträge: 10685
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 330 Mal
Danksagung erhalten: 507 Mal

Re: Push-Nachrichten per Telegram - was geht?

Beitrag von dtp » 30.03.2016, 12:15

Hi Manu,

da muss ich Xel66 Recht geben. Hinzu kommt, dass es extrem schwierig werden kann, den Zustand einer undefinierten, lokalen Variablen zu bestimmen. Noch schlimmer wird dies, wenn Du nicht nur zwei, sondern gleich mehrere Skripte mit derartigen Variablen nutzt und sie ggf. auch noch durch verschiedene WebUI-Programme triggerst.

Ich persönlich definiere jede lokale Variable zu Beginn eines Skripts und übergebe ihren Inhalt an ein anderes Skript oder WebUI-Programm per Systemvariable.

Gruß,

Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

fischmir
Beiträge: 972
Registriert: 03.02.2014, 18:04
Wohnort: Münsterland
Hat sich bedankt: 27 Mal
Danksagung erhalten: 8 Mal

Re: Push-Nachrichten per Telegram - was geht?

Beitrag von fischmir » 30.03.2016, 21:43

Nur für die, die es interessiert. Jetzt kann klappt auch Telegram bei mir. Schau jetzt mal, wie ich Bilder mitschicken kann...

XBiT
Beiträge: 127
Registriert: 14.12.2011, 20:48
Wohnort: nähe Erfurt
Hat sich bedankt: 4 Mal
Danksagung erhalten: 1 Mal

Re: Push-Nachrichten per Telegram - was geht?

Beitrag von XBiT » 31.03.2016, 14:13

Hallo,

falls noch wer mit dem Raspi versucht das Bild einer Webcam zu senden ich habe es mir mal so Zusammengefrickelt und sollte so laufen.
Nur Daten ändern und das CUxD Gerät anpassen.

Code: Alles auswählen

! +++++ Settings +++++
string msg = "Es wurde geklingelt";
string photo = "klingel.jpg";
string camurl = "http://192.168.XXX.XXX/snapshot.jpg";
string chatid = "XXXXXXXXXX";
string botAPI = "XXXXXXXXXX";

! +++++ Nachricht Senden +++++
dom.GetObject("CUxD.CUX2801999:1.CMD_EXEC").State("extra/curl -s -k https://api.telegram.org/bot"#botAPI#"/sendMessage -F text='"#msg#"' -F chat_id="#chatid);

! +++++ Klingelbild von Haustür holen +++++
dom.GetObject("CUxD.CUX2801999:1.CMD_EXEC").State("wget -O "#photo#" "#camurl#"");

! +++++ Klingelbild versenden +++++
dom.GetObject("CUxD.CUX2801999:1.CMD_EXEC").State("extra/curl -s -k https://api.telegram.org/bot"#botAPI#"/sendPhoto -F chat_id="#chatid#" -F photo='@"#photo#"'");

fischmir
Beiträge: 972
Registriert: 03.02.2014, 18:04
Wohnort: Münsterland
Hat sich bedankt: 27 Mal
Danksagung erhalten: 8 Mal

Re: Push-Nachrichten per Telegram - was geht?

Beitrag von fischmir » 01.04.2016, 21:21

Danke, das hat gut funktioniert. Allerdings habe ich den um die Angabe von user+password ergänzt.

Code: Alles auswählen

! +++++ Klingelbild von Haustür holen +++++
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget --http-user=admin --http-password=secrect -O "#photo#" "#camurl#"");
Gruß,
Christian

homefisch
Beiträge: 75
Registriert: 12.09.2012, 11:19

Re: Push-Nachrichten per Telegram - was geht?

Beitrag von homefisch » 04.04.2016, 16:36

Sorry wenn ich lästig werde ;-)
aber ich bekomm irgend wie kein Bild verschickt, normale Nachrichten bekomme ich geschickt.
Frage: wie kann ich ein Bild verschicken das ich auf einem Webserver liegen habe verschicken. Pfad also http://192.168.111.xx/Tuer.jpg ?
Kann bei meiner Instar Cam leider nicht direkt auf ein JPG zugreifen, sondern muss den Umweg über ein cgi machen.

Gruß
Thomas

alchy
Beiträge: 10768
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 675 Mal

Re: Push-Nachrichten per Telegram - was geht?

Beitrag von alchy » 04.04.2016, 19:15

Was hast du denn schon probiert, und wie sind die Fehlermeldungen / was sagt das log?
Sollte z.B. mit Bildern der CUXD funktion so gehen:

Code: Alles auswählen

! Bild  SCHICKEN 
string chatid = "++++++"; ! chat_id des Empfängers
string botAPI = "++++++++++++++++"; ! API des eingerichteten Bots
string foto = "/tmp/snapshots/CUX9104002/CUX9104002_001.jpg";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("extra/curl -s -k https://api.telegram.org/bot"#botAPI#"/sendPhoto -F chat_id="#chatid#" -F photo='@/tmp/snapshots/CUX9104002/CUX9104002_000.jpg'");
Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

homefisch
Beiträge: 75
Registriert: 12.09.2012, 11:19

Re: Push-Nachrichten per Telegram - was geht?

Beitrag von homefisch » 05.04.2016, 15:02

Leider bekomme ich kein Bild geschickt, daher wende ich mich nochmals mit meinem COde + Fehlerprotokoll

Code: Alles auswählen

! Bild  SCHICKEN
string message = "Bild.";
string chatid = "168210xxx"; ! chat_id des Empfängers
string botAPI = "13x9528x4:AAEAtoGQyx5u4iWdxeh-isq8d_zyyPY20OOA"; ! API des eingerichteten Bots
string foto = "http://www.xyz.de/logo.jpg";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("extra/curl -s -k https://api.telegram.org/bot"#botAPI#"/sendPhoto -F chat_id="#chatid#" -F photo='@http://www.xyz.de/logo.jpg'");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("extra/curl -s -k https://api.telegram.org/bot"#botAPI#"/sendMessage -d text='"#message#"' -d chat_id="#chatid);
Im Protokoll kommt folgendes:
Apr 5 12:57:33 homematic-ccu2 daemon.info cuxd[6046]: system(extra/curl -s -k https://api.telegram.org/bot139528104:A ... /sendPhoto -F chat_id=168210597 -F photo='@http://www.xyz.de/logo.jpg') exit(26) 0s

Antworten

Zurück zu „Projektvorstellungen“