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 » 16.01.2017, 09:47

Zum Log:
Welche Art Servicemeldung hast du erzeugt, um das Programm zu starten damit dir mein Script die Servicemeldung per Telegram geschickt wird?


Bitte konfiguriere im Script mal "Speichern in Systemvariable" zusätzlich zum Versand per Telegram auf ja.
Dazu einfach eine Systemvariable anlegen
Typ: Zeichenkette Name:
Name deiner Speichervariable
und im Script aus dem Nein bei Systemvariariable ein Ja.

Dann kannst du besser nachschauen, ob das Script gelaufen ist.

Alchy

Und wenn du nicht erstmal die Originalversion von mir nimmst, dann bist du schneller auf meiner Blacklist wie du mir antworten kannst.
Nur mal damit das einfach klar ist. :wink:

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.

dtp
Beiträge: 10658
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von dtp » 16.01.2017, 10:02

jawr hat geschrieben:

Code: Alles auswählen

...
string svname = "telegram_chat_id";
object svObj = dom.GetObject(svname);
var valList = svObj.ValueList();
var sys_chatid = valList.StrValueByIndex(";",svObj.Value());

string svname1 = "telegram_api";
object svObj1 = dom.GetObject(svname1);
var valList1 = svObj1.ValueList();
var sys_botAPI = valList1.StrValueByIndex(";",svObj1.Value());

...

!++++++ TELEGRAM +++++++++
var USE_TELEGRAM = "ja"; ! ja oder nein für die Verwendung TELEGRAM direkt im Script;
var CHATID = sys_chatid; ! selbsterklärend
var BOTAPI = sys_botAPI ; ! dito
var TELEGRAM_CUXD_ID = "CUX2801001:2"; !welches CUXD.EXEC Gerät mit Kanal soll verwendet werden ?
Uiuiui, da geht aber jemand sehr großzügig mit den so kostbaren, lokalen Skriptvariablen um. ;)

Wozu überhaupt die Unterscheidung in "svname" und "svname1", "svObj" und "svObj1" sowie "valList" und "valList1"? Die Skriptvariablen brauchst Du später doch nie wieder.

Und Du bist Dir sicher, dass "sys_chatid" und "sys_botAPI" letztlich die korrekten Werte liefern?

Nur mal so.

Gruß,

Thorsten
Zuletzt geändert von dtp am 16.01.2017, 10:07, insgesamt 1-mal geändert.
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.

jawr
Beiträge: 88
Registriert: 08.12.2016, 12:25
Hat sich bedankt: 2 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von jawr » 16.01.2017, 10:05

Welche Art Servicemeldung hast du erzeugt, um das Programm zu starten damit dir mein Script die Servicemeldung per Telegram geschickt wird?
Ich habe gar keine Servicemeldung erzeugt, habe einfach unter Programme bei Aktionen einfach das Programm gestartet, wollte damit wie geschrieben nur prüfen ob überhaupt was verschickt wird. ID und API hätten ja nicht korrekt sein können.

Das mit der Systemvariable werde ich mal machen.

jawr
Beiträge: 88
Registriert: 08.12.2016, 12:25
Hat sich bedankt: 2 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von jawr » 16.01.2017, 10:08

Ja, bin mir sicher das die Werte korrekt sind, es wird ja eine Nachricht verschickt, habe den Codeschnipsel von alchy eingebaut, der eine Testnachricht direkt nach dem Setup für Telegram verschickt.

Für eine bessere Idee wie ich das mit den Werten besser löse als ich es aktuell mache, bin ich natürlich auch dankbar. Ich nutze in einigen Skripten die Benachrichtigung per Telegram und möchte nicht bei Änderung der ID oder API alle Skripte anpassen.

dtp
Beiträge: 10658
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von dtp » 16.01.2017, 10:09

jawr hat geschrieben: Ich habe gar keine Servicemeldung erzeugt, habe einfach unter Programme bei Aktionen einfach das Programm gestartet, wollte damit wie geschrieben nur prüfen ob überhaupt was verschickt wird. ID und API hätten ja nicht korrekt sein können.
Gefühlt wurde hier im Thread von Alchy glaube ich schon mindestens 100 Mal gepostet, dass eine Servicemeldung durch bloßes Starten des Programms nicht ausgelöst werden kann.

Einfach z.B. mal den Batteriedeckel eines Sensors mit Sabotagekontakt öffnen. Dann solltest Du sofort eine Meldung erhalten.
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.

jawr
Beiträge: 88
Registriert: 08.12.2016, 12:25
Hat sich bedankt: 2 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von jawr » 16.01.2017, 10:10

Wozu überhaupt die Unterscheidung in "svname" und "svname1", "svObj" und "svObj1" sowie "valList" und "valList1"? Die Skriptvariablen brauchst Du später doch nie wieder.
HAbe das mal so im Netz gefunden, wie ich bereits geschrieben habe bin ich nicht wirklich fit in Sachen HM Skript. So läuft es auf jeden Fall, das war erstmal wichtig für mich :)

jawr
Beiträge: 88
Registriert: 08.12.2016, 12:25
Hat sich bedankt: 2 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von jawr » 16.01.2017, 10:13

Gefühlt wurde hier im Thread von Alchy glaube ich schon mindestens 100 Mal gepostet, dass eine Servicemeldung durch bloßes Starten des Programms nicht ausgelöst werden kann.
Mir wird aber eine Nachricht geschickt wenn ich auf Start in der Weboberfläche klicke. Da die Testnachricht ja nicht innerhalb eines if Blocks oder so steht (jetzt für mich zum Test), siehe mein ganzes Skript von vor einigen Posts, wird die Nachricht verschickt.

dtp
Beiträge: 10658
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von dtp » 16.01.2017, 10:22

jawr hat geschrieben: Für eine bessere Idee wie ich das mit den Werten besser löse als ich es aktuell mache, bin ich natürlich auch dankbar. Ich nutze in einigen Skripten die Benachrichtigung per Telegram und möchte nicht bei Änderung der ID oder API alle Skripte anpassen.
Genau zu diesem Zweck habe ich ja mal das zPNP samt der zugehörigen zPNS-xx geschrieben. Ich verwende da zwar keine Systemvariablen für die API-Schlüssel, aber das ist aus meiner Sicht auch nicht nötig, da sie zentral in einem einzigen Skript liegen.

Was enthält denn Deine Systemvariable "telegram_api" für einen Wert? Da müsste doch eigentlich nur ein einziger API-Schlüssel drinstehen? Mich wundert das extrem aufwändige Auslesen dieser Systemvariable etwas.
Zuletzt geändert von dtp am 16.01.2017, 10:25, insgesamt 1-mal geändert.
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.

dtp
Beiträge: 10658
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von dtp » 16.01.2017, 10:24

jawr hat geschrieben: HAbe das mal so im Netz gefunden, wie ich bereits geschrieben habe bin ich nicht wirklich fit in Sachen HM Skript. So läuft es auf jeden Fall, das war erstmal wichtig für mich :)
Aber dann bitte nicht wundern, wenn irgendwann die CCU das Spinnen anfängt. :roll:
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.

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 » 16.01.2017, 10:37

Ich habe >meinen POst< editiert.

Du findest etwas irgendwo, baust ohne Sinn und Verstand das irgendwo ein, behauptest aber, die richtige Version zu benutzen,
vermeldest hier eine Fehlfunktion, die ich stundenlang versuche zu finden. :twisted:
Mannoman. da kann doch nicht wahr sein. :twisted:

Benutz die originale Version - und das SO WIE ICH ES GESCHRIEBEN HABE.
Funktioniert die? NEIN? dann melde dich von mir aus mit den entsprechenden Infos.
Funktioniert die? JA?, Du willst Änderungen? dann frage einfach.

Genau so, wie das manuelle Ausführen des Scriptes keine Meldung zu erzeugen hat, was ich MEHRFACH gepostet habe, habe ich schon mehrfach gepostet, das ich generell den Support für geänderte Scripte nicht übernehme.

Für Fragen bin ich immer offen, aber für Verarsche hab ich kein Verständnis !

Alchy
*/ignore on

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.

Antworten

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