Servicemeldungen *allinclusive* Script

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

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

Re: Servicemeldungen *allinclusive* Script

Beitrag von alchy » 22.11.2022, 19:13

Tomcar hat geschrieben:
22.11.2022, 18:49
Muss ich noch was ändern außer folgende Zeilen?
Sofern du ein minimum 5 kanaliges CUxDExec Gerät angelegt hast nicht.
Und solltest du Hilfe wollen, fehlt das Fehlerprotokoll zum Zeitpunkt der Auslösung.

Benutzt du noch eine andere Option des Scriptes? (Mailversand, Speichern in Systemvariable..)
wenn ja funktioniert dies? Wenn nein vielleicht einfach mal die Systemvariablenoption nutzen und checken.
leilei hat geschrieben:
18.11.2022, 18:46
kennt sich jemand mit dem Erzeugen des API-Keys für WhatsApp aus?
Auch wenn ich die Option in meinen Script anbiete, gehört die Frage zur Einrichtung desselben vielleicht woanders gestellt. (zumal die Fehlfunktion erstmal gar nichts mit meiner Benutzung zu tun hat)
Ich nutze selber WhatsApp nicht, gehe aber davon aus das das immer noch im Script funktioniert.

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.

Benutzeravatar
leilei
Beiträge: 110
Registriert: 12.02.2014, 02:03
Wohnort: Klagenfurt
Hat sich bedankt: 23 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von leilei » 22.11.2022, 19:16

Alchy Danke,
weiß ich eh, dass es nichts mit Deinem Skript zu tun hat.
Icxh hätte mir gedacht, dass jemand anderes das hier in Betrieb hat und mir vielleicht einen Tipp geben kann.
Die offiziellen Stellen bringen mich nicht weiter, vor allem, da die angegebenen Telefonnummern ständig wechseln und es trotzdem nicht funktioniert ...
Grüße unhd Danke
leilei

Tomcar
Beiträge: 38
Registriert: 20.08.2018, 22:51

Re: Servicemeldungen *allinclusive* Script

Beitrag von Tomcar » 22.11.2022, 19:36

Die Servicevariable hab ich eben eingerichtet --> funktioniert 1a.

Mein letztes Skript mit CUx ist schon etwas länger her und ich bin da fachlich nimmer ganz drinnen.
Aber beim letzten Skript hatte ich folgenden Code welcher funktioniert.

string s_cmd = "wget --no-check-certificate --quiet -O /dev/null \"https://api.telegram.org/bot444974471:A ... 7777&text=" # s.ToUTF8().UriEncode() # "\"";
dom.GetObject("CUxD.CUX2801001:5.CMD_EXEC").State (s_cmd);
o.State ("");
}

@ Alchy. Was meinst du mit Fehlerprotokoll? Wenn ich das Skript ausführe kommt ja kein Fehler. Es läuft reibungslos durch, sendet aber eben nur keine Telegramnachricht
Dateianhänge
Skript.jpg
service.jpg

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

Re: Servicemeldungen *allinclusive* Script

Beitrag von alchy » 22.11.2022, 20:22

Tomcar hat geschrieben:
22.11.2022, 19:36
Die Servicevariable hab ich eben eingerichtet --> funktioniert 1a.
damit ist das schon mal bewiesen.

Tomcar hat geschrieben:
22.11.2022, 19:36
Aber beim letzten Skript hatte ich folgenden Code welcher funktioniert.
Da du auch hier CUxD.CUX2801001:5 benutzt, sollte auch das allinc. Script funktionieren.
Sofern die Benutzerdaten ansonsten stimmen.....
Tomcar hat geschrieben:
22.11.2022, 19:36
Was meinst du mit Fehlerprotokoll?
Auf Seite 1 hier im Thread ist beschrieben und verlinkt was ich damit meine.

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.

Helmut.J
Beiträge: 2
Registriert: 23.11.2022, 11:41
System: CCU

Re: Servicemeldungen *allinclusive* Script

Beitrag von Helmut.J » 23.11.2022, 11:47

leilei hat geschrieben:
18.11.2022, 18:46
Hallo Zusammen,

kennt sich jemand mit dem Erzeugen des API-Keys für WhatsApp aus?
Wie hier z.B. beschrieben (https://www.callmebot.com/de/blog/koste ... chrichten/), soll man an eine Telefonnummer per Whatsapp eine Nachricht senden, und dann bekommt man die API zuurück.
Unter der Nummer +34 644 319 565 bekomme ich nun schon seit 3 Tagen nichts zurück -
und die Nummer +34 664 479 752 funktioniert gleich gar nicht ...

Danke für Eure Hilfe, hoffentlich
leilei
Bei mir hat es gestern funktioniert.
Wichtig ist das dun den Text mit den Anführungszeichen sendest:

„I allow callmebot to send me messages“


ich habe folgende Telefonnr. verwendet:
+34 644 47 97 52

Viele Grüße
Helmut

Helmut.J
Beiträge: 2
Registriert: 23.11.2022, 11:41
System: CCU

Re: Servicemeldungen *allinclusive* Script

Beitrag von Helmut.J » 23.11.2022, 18:22

wichtig ist, dass man zuerst einen Kontakt anlegt, danach kann die Meldung gesendet werden

Tomcar
Beiträge: 38
Registriert: 20.08.2018, 22:51

Re: Servicemeldungen *allinclusive* Script

Beitrag von Tomcar » 23.11.2022, 19:27

Tomcar hat geschrieben:
22.11.2022, 19:36
Die Servicevariable hab ich eben eingerichtet --> funktioniert 1a.

Mein letztes Skript mit CUx ist schon etwas länger her und ich bin da fachlich nimmer ganz drinnen.
Aber beim letzten Skript hatte ich folgenden Code welcher funktioniert.

string s_cmd = "wget --no-check-certificate --quiet -O /dev/null \"https://api.telegram.org/bot444974471:A ... 7777&text=" # s.ToUTF8().UriEncode() # "\"";
dom.GetObject("CUxD.CUX2801001:5.CMD_EXEC").State (s_cmd);
o.State ("");
}

@ Alchy. Was meinst du mit Fehlerprotokoll? Wenn ich das Skript ausführe kommt ja kein Fehler. Es läuft reibungslos durch, sendet aber eben nur keine Telegramnachricht
Ich habe es mit deinem Skript nicht zum laufen bekommen.
Mit einem kleinen umweg klappts hervoragend.
Dein Sktipt speichert den Text in die Variable.
Mit meinem Skript von oben lese ich die Variable aus und sende sie per Telegram.

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

Re: Servicemeldungen *allinclusive* Script

Beitrag von alchy » 23.11.2022, 20:36

Was für ein Chaos. :roll:
Du zitierst deinen eigenen Beitrag und antwortest jetzt wen? Dir selber? Mir? Ne kann ja nicht sein, den Hinweisen gehst du ja nicht nach.
Klar kann man auch auf den Rücken durch die Brust ins Auge :mrgreen: Jeder wie er will.

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.

Tomcar
Beiträge: 38
Registriert: 20.08.2018, 22:51

Re: Servicemeldungen *allinclusive* Script

Beitrag von Tomcar » 23.11.2022, 21:58

Ich wollte nur kurz Rückmeldung geben, dass ich es mit deinem Skript nicht geschafft habe und einen Umweg gefunden hab.
Ich zitiere meine eigenen Beitrag da dort das Skript drinsteht, welches ich nun zum Senden der Telegrammeldung benutze.
Sorry, wollte keinen verwirren, sondern eigentlich nur helfen, falls jemand ein ähnliches Problem mit Telegram haben sollte.

Skyscraper
Beiträge: 6
Registriert: 11.06.2017, 15:35

Re: Servicemeldungen *allinclusive* Script

Beitrag von Skyscraper » 26.11.2022, 18:28

Moin!

Kann es sein, dass in der aktuellen Version die Umlaute bei Pushover kaputt sind? Ich habe ein bisschen debugging betrieben und muss feststellen: Bei Servicemeldungen von Geräten mit Umlaut im Namen (bspw. "Haustür") kommt keine Pushover-Nachricht.

Ich habe mir mal den CURL-Aufruf im Script-Test mit ausgeben lassen:

Code: Alles auswählen

WriteLine("pushover: LD_LIBRARY_PATH=/usr/local/lib/ /usr/bin/curl -s -k -d token='"#TOKEN#"' -d user='"#USERKENNUNG#"' -d device='"#USERDEVICE#"' -d html='"#HTML#"' -d message='"#message#"' -d priority='"#PRIO_MAX#"' -d sound='"#SOUND#"' -d retry='"#RETRY#"' -d expire='"#EXPIRE#"' https://api.pushover.net/1/messages.json");
Die generierte message sieht so aus:
NEUE%20Servicemeldung%0D%0AHaust%3%±Cr%2DAlt%20%3A%20%0D%0A1x%20leere%20LR3%2FAAA%20%0D%0A [... gekürzt]
Das ganze mit CURL mit zusätzlichem Paramter -i auf der Shell ausgeführt, bekomme ich 400 Bad Request von Pushover zurück und entsprechend auch keine Pushnachricht.

Kürze ich allerdings die message auf:
NEUE%20Servicemeldung%0D%0AHaust
dann bekomme ich 200 OK und die Pushnachricht kommt an.

Long story short: Irgendwas ist an der Konvertierung des Gerätenamens "Haustür" kaputt. Kann ich wahrscheinlich auch selber beheben, aber vielleicht hatte das ja schon mal jemand? Man muss ja nicht immer das Rad neu erfinden ;)

EDIT: Das betrifft scheinbar längst nicht alle Systeme. Ich nutze debmatic (v3.65.8-95) als virtuelle Maschine. Auf einer piVCCU (v3.65.8-74), auf die ich ebenfalls Zugriff habe, tritt das Problem nicht auf. Dazu gab es vor 2,5 Jahren mal ein ähnliches Github-Ticket, bezogen auf RaspberryMatic, allerdings weiß ich nicht, an welcher Stelle das gefixt wurde.

EDIT2: Super simpler Workaround (hätte ich auch schon früher drauf kommen können): Pushover braucht kein UriEncode. Es reicht ToUTF8.
Also einfach die Zeile

Code: Alles auswählen

string message = slist.ToUTF8().UriEncode();
ändern zu

Code: Alles auswählen

string message = slist.ToUTF8();
und alles ist gut :) (zumindest solange man nur Pushover nutzt)

Viele Grüße
Der Sky

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“