Kein Telegram seid RaspberryMatic

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Dido
Beiträge: 29
Registriert: 14.08.2017, 10:54

Kein Telegram seid RaspberryMatic

Beitrag von Dido » 03.02.2018, 11:09

Hallo,

ich habe von CCU2 (2.29) auf RM (2.31) umgestellt. Läuft alles, außer sporadisch Telegram. Wenn ich eine Nachricht simuliere kommt ab und zu eine Meldung auf Telegram, aber zu 90 Prozent nicht.

Hier der Skript:

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("extra/curl -s -k 'https://api.telegram.org/botxxxxxxxxx-YSW2WNI/sendPhoto' -F chat_id=xxxxxxxxx -F photo='@/tmp/klingel.jpg' -F caption='Tor offen'");
Folgendermaßen vor gegangen:
- Backup von CCU2 ohne Addons, aber mit CuxD.
- Raspi installiert, Backup von CCU2 aufgespielt und CuxDRM drüber installiert.
- Min. 2 mal Neustart
- Internet Verbindung mit Skript geprüft, es kommt positive Rückmeldung
- Skript von "extra/curl" auf "curl" abgeändert, keine Verbesserung.
- Wieder auf alte CCU2 umgestellt und getestet, läuft alles zu 100% auch Telegram.
- Jetzt wieder Raspi, altes Problem.

Jetzt weiß ich nicht was ich noch machen kann, kann jemand helfen?

Für eine Rückmeldung wäre ich euch sehr dankbar.

Grüße

Benutzeravatar
jmaus
Beiträge: 9844
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 462 Mal
Danksagung erhalten: 1863 Mal
Kontaktdaten:

Re: Kein Telegram seid RaspberryMatic

Beitrag von jmaus » 03.02.2018, 12:57

Hast du mal versucht von CUxD Nutzung in dem Fall auf normales system.Exec() umzustellen? In der 2.31x Firmware sollte system.Exec() der richtige Kandidat für solch simple curl Aufrufe sein.

Bitte auch mal den curl aufruf in einer ssh Session manuell versuchen um zu sehen ob curl irgendwelche Fehler zurück gibt die das Verhalten erklären könnte.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Dido
Beiträge: 29
Registriert: 14.08.2017, 10:54

Re: Kein Telegram seid RaspberryMatic

Beitrag von Dido » 03.02.2018, 13:55

Hallo jmaus,

Danke für dein Projekt und die Rückmeldung.

Ich bin noch Anfänger in diesem Bereich und doch etwas überfordert.

1. Nein, ich wüste gar nicht wie ich auf system.Exec umstellen sollte, gibt es hier eine Hilfe.

2. Bei der Curl Prüfung per SSH bin ich auch unsicher.

Grüße

tinus16
Beiträge: 12
Registriert: 05.05.2017, 18:40

Re: Kein Telegram seid RaspberryMatic

Beitrag von tinus16 » 03.02.2018, 15:38

Hallo Dido,

bei mir funktioniert das so einwandfrei:

Code: Alles auswählen

string stderr;
string stdout;
string url="\"https://api.telegram.org/botxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/sendMessage?chat_id=xxxxxxxxx&text=Bewegungsmelder Terrasse ausgel%C3%B6st!\"";
system.Exec("wget --no-check-certificate -q -O - "#url, &stdout, &stderr);
Gruß
Tinus
Tinker S
RaspberryMatic auf Thinkerboard S + LAN Gateway
Diverse Aktoren Funk und Wired RS485 - 1-Wire zur Zählererfassung
IP-Symcon - FHZ 1300 PC mit einigen Temperatursendern

Dido
Beiträge: 29
Registriert: 14.08.2017, 10:54

Re: Kein Telegram seid RaspberryMatic

Beitrag von Dido » 03.02.2018, 16:33

Hallo Tinus,

vielen Dank für deinen Skript Vorschlag.

In meiner Programmierung habe ich noch ein Skript für das Foto von der Kamera, dieses muss sicherlich auch angepasst werden.

Skript:

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O '/tmp/klingel.jpg' 'http://xxx.xxx.xxx.xx:xx/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxxxxxxxcam&pwd=xxxxxxxxxx'");
Was müßte ich denn hier abändern? Vielen Dank schon einmal.

Gruß Dido
Zuletzt geändert von alchy am 03.02.2018, 20:29, insgesamt 1-mal geändert.
Grund: Code in Codetags posten

tinus16
Beiträge: 12
Registriert: 05.05.2017, 18:40

Re: Kein Telegram seid RaspberryMatic

Beitrag von tinus16 » 03.02.2018, 18:28

Hallo Dido,

da kann ich im Moment auch nicht helfen. Mein Kamerabild sende ich mit mit dem Email-Addon zu. Damit lassen sich ja Dateianhänge ganz einfach versenden.

Eventuell hilft Dir die Seite https://www.tutonaut.de/anleitung-einfu ... al-senden/ ja weiter.

Viel Glück
Tinus
Tinker S
RaspberryMatic auf Thinkerboard S + LAN Gateway
Diverse Aktoren Funk und Wired RS485 - 1-Wire zur Zählererfassung
IP-Symcon - FHZ 1300 PC mit einigen Temperatursendern

Benutzeravatar
jmaus
Beiträge: 9844
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 462 Mal
Danksagung erhalten: 1863 Mal
Kontaktdaten:

Re: Kein Telegram seid RaspberryMatic

Beitrag von jmaus » 03.02.2018, 19:48

tinus16 hat geschrieben: bei mir funktioniert das so einwandfrei:

Code: Alles auswählen

string stderr;
string stdout;
string url="\"https://api.telegram.org/botxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/sendMessage?chat_id=xxxxxxxxx&text=Bewegungsmelder Terrasse ausgel%C3%B6st!\"";
system.Exec("wget --no-check-certificate -q -O - "#url, &stdout, &stderr);
Das würde ich sogar noch wie folgt "optimieren":

Code: Alles auswählen

string url="\"https://api.telegram.org/botxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/sendMessage?chat_id=xxxxxxxxx&text=Bewegungsmelder Terrasse ausgel%C3%B6st!\"";
system.Exec("wget --no-check-certificate -q -O - "# url # " &");
Das hat den Vorteil das durch das angehängte " &" am Schluss der Kommandozeile das system.Exec() komplett im Hintergrund abgearbeitet wird und somit die ReGa nicht für den gesamte Zeitraum der Ausführung blockiert wird und andere Dinge dann parallel weiter erledigen kann.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

tinus16
Beiträge: 12
Registriert: 05.05.2017, 18:40

Re: Kein Telegram seid RaspberryMatic

Beitrag von tinus16 » 03.02.2018, 22:01

Danke jmaus für den Tip.

Hallo Dido,

habe mal getestet, bei mir funktioniert es so:

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:2.CMD_EXEC").State("extra/curl -s -k 'https://api.telegram.org/botxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/sendPhoto' -F chat_id=xxxxxxxxx -F photo='@/media/usb0/homematic/duty.jpg' -F caption='Es wurde geklingelt'");
Gefunden hier im Forum viewtopic.php?f=26&t=30507&start=20#p382121
Gruß Tinus
Dateianhänge
2018-02-03 21.59.02.png
Tinker S
RaspberryMatic auf Thinkerboard S + LAN Gateway
Diverse Aktoren Funk und Wired RS485 - 1-Wire zur Zählererfassung
IP-Symcon - FHZ 1300 PC mit einigen Temperatursendern

Bulli
Beiträge: 494
Registriert: 29.04.2014, 18:38
Hat sich bedankt: 2 Mal
Danksagung erhalten: 9 Mal

Re: Kein Telegram seid RaspberryMatic

Beitrag von Bulli » 03.02.2018, 22:52

Hallo Dido

ich würde keinen system.exec Aufruf verwenden.
jmaus hat geschrieben: Das würde ich sogar noch wie folgt "optimieren":

Code: Alles auswählen

string url="\"https://api.telegram.org/botxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/sendMessage?chat_id=xxxxxxxxx&text=Bewegungsmelder Terrasse ausgel%C3%B6st!\"";
system.Exec("wget --no-check-certificate -q -O - "# url # " &");
Das hat den Vorteil das durch das angehängte " &" am Schluss der Kommandozeile das system.Exec() komplett im Hintergrund abgearbeitet wird und somit die ReGa nicht für den gesamte Zeitraum der Ausführung blockiert wird und andere Dinge dann parallel weiter erledigen kann.
Wenn du das so machst hast du pro Aufruf einen Zombi Prozess auf deiner CCU oder Raspimatic :!:
Kannst ja mal "googlen" oder einen guten IT Admin Fragen ob solche Prozesse wirklick schön sind.

Gruß
Bulli

ps Ich würde das ganze jetzt auch zeigen. Aber meine chatid von Telegram werde ich hier im Forum nicht posten. Sonst habe ich wahrscheinlich mehr Meldungen auf meinen Handy, als es mir oder einen Mod zu melden. Solche Daten sollten schnell gelöschten werden und nicht blödsinn da mit gemacht werden. Beileid Al...

Dido
Beiträge: 29
Registriert: 14.08.2017, 10:54

Re: Kein Telegram seid RaspberryMatic

Beitrag von Dido » 04.02.2018, 08:21

Guten Morgen,

vielen Dank für eure Hilfe.

Ich habe den Vorschlag von jmaus angepasst und es scheint zu funktionieren.

Code: Alles auswählen

CODE: ALLES AUSWÄHLEN
string url="\"https://api.telegram.org/botxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/sendMessage?chat_id=xxxxxxxxx&text=Bewegungsmelder Terrasse ausgel%C3%B6st!\"";
system.Exec("wget --no-check-certificate -q -O - "# url # " &");
Jetzt fehlt mir nur noch das Foto von der Kamera.

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O '/tmp/klingel.jpg' 'http://xxx.xxx.xxx.xx:xx/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxxxxxx&pwd=xxxxxxxx'");
Kann mir jemand auch hier helfen wie ich die Meldung in Verbindung mit dem Foto erhalte?

Gruß Dido

Antworten

Zurück zu „RaspberryMatic“