Servicemeldungen *allinclusive* Script
Moderator: Co-Administratoren
-
- Beiträge: 10768
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 675 Mal
Re: Servicemeldungen *allinclusive* Script
Ab den Batteriezuweisungen (ca. Zeile 65) sind Änderungen durchgeführt wurden.
Alchy
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.
-
- Beiträge: 3302
- Registriert: 07.01.2015, 23:26
- Wohnort: Scheeßel
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 11 Mal
Re: Servicemeldungen *allinclusive* Script
Oh Cool, dann kann ich ja nur den Teil noch den Einstellt Möglichkeiten rüber kopieren, das geht dann viel schneller!
Re: Servicemeldungen *allinclusive* Script
Hi,
leider klappt es bei mir nicht.
Ich hab das Script 1zu1 kopiert und noch alles im Setup belassen wie es ist.
Sollte er dann nicht die bestehende Servicemeldung Gerätekomunikation gestört bestättigen wenn ich das Script im Executer ausführe?
leider klappt es bei mir nicht.
Ich hab das Script 1zu1 kopiert und noch alles im Setup belassen wie es ist.
Sollte er dann nicht die bestehende Servicemeldung Gerätekomunikation gestört bestättigen wenn ich das Script im Executer ausführe?
-
- Beiträge: 10768
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 675 Mal
Re: Servicemeldungen *allinclusive* Script
Nein - das Script wird dir weder eine Meldung schicken, noch wird es anstehende war gestört Kommunikationsstörungen bestätigen, wenn du es im Executer oder bei Script testen unverändert startest. Ebenso nicht, wenn du das Programm manuell ausführst.
Das müsste ich aber auch geschrieben haben.
Nach der Installation und Setup nach Anleitung wird es erst wirklich tätig, wenn sich die Anzahl der anstehenden Service Meldungen erhöht.
Erzeuge also eine zusätzliche Servicemeldung (einfach sind z.B. Sabotage durch Abziehen eines Deckels bei entsprechenden Sensoren) und es sollte funktionieren.
Alchy
Das müsste ich aber auch geschrieben haben.
Nach der Installation und Setup nach Anleitung wird es erst wirklich tätig, wenn sich die Anzahl der anstehenden Service Meldungen erhöht.
Erzeuge also eine zusätzliche Servicemeldung (einfach sind z.B. Sabotage durch Abziehen eines Deckels bei entsprechenden Sensoren) und es sollte funktionieren.
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.
-
- Beiträge: 72
- Registriert: 15.11.2014, 15:34
Re: Servicemeldungen *allinclusive* Script
Hallo, auch ich habe die neue Version kopiert und nach Anleitung bearbeitet, es wird aber keine Mail per email-addon gesendet. Version davor lief. In meine Systemvariable wird auch die Meldung nicht mehr angezeigt. Kannst du (alchy) die alte Version nochmal zur Verfügung stellen?
-
- Beiträge: 10768
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 675 Mal
Re: Servicemeldungen *allinclusive* Script
Wann wird keine Mail geschickt bzw.die Variable nicht gefüllt?
Dein Vorredner hat das Script manuell gestartet, und du?
Alchy
Dein Vorredner hat das Script manuell gestartet, und du?
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.
-
- Beiträge: 72
- Registriert: 15.11.2014, 15:34
Re: Servicemeldungen *allinclusive* Script
Habe diverse Meldungen ausgelöst (Batterie, Sabotage etc.), werden in der webui auch angezeigt. Aber nicht in der eigenen Systemvariablen Zeichenkette, auch keine Mail.
-
- Beiträge: 10768
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 675 Mal
Re: Servicemeldungen *allinclusive* Script
Ich habe bezüglich der Versendung von Nachrichten usw. nichts geändert in der v0.8.
Wird das Programm bei Auslösen einer Servicemeldung aufgerufen? (Zeitstempel)
Was sagt das log ? (System bzw. Cuxd)
Im Setup mal auf minimal stellen (also Mailversand und dergleichen auf nein) um Schreibfehler auszuschließen.
Was auch leider oft vorkommt, ist ein generelles CCU Problem. Programm mal komplett löschen und neu anlegen. Neustart CCU.
Ich benutze das Script selber auch unverändert und habe es natürlich zig Mal getestet. (ausser Prowl) und da hilft mir dtp immer.
Alchy
Wird das Programm bei Auslösen einer Servicemeldung aufgerufen? (Zeitstempel)
Was sagt das log ? (System bzw. Cuxd)
Im Setup mal auf minimal stellen (also Mailversand und dergleichen auf nein) um Schreibfehler auszuschließen.
Was auch leider oft vorkommt, ist ein generelles CCU Problem. Programm mal komplett löschen und neu anlegen. Neustart CCU.
Ich benutze das Script selber auch unverändert und habe es natürlich zig Mal getestet. (ausser Prowl) und da hilft mir dtp immer.
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.
-
- Beiträge: 72
- Registriert: 15.11.2014, 15:34
- robbi77
- Beiträge: 13919
- Registriert: 19.01.2011, 19:15
- System: CCU
- Wohnort: Landau
- Hat sich bedankt: 182 Mal
- Danksagung erhalten: 749 Mal
Re: Servicemeldungen *allinclusive* Script
Hallo,
bei mir kommt keine Prowl Nachricht.
Email funktioniert ohne Probleme.
Dieser Aufruf funktioniert bei mir:
So sieht das Service Script aus:
Wo könnte der Fehler liegen?
Gruß
Roberto
bei mir kommt keine Prowl Nachricht.
Email funktioniert ohne Probleme.
Dieser Aufruf funktioniert bei mir:
Code: Alles auswählen
string url="http://prowl.weks.net/publicapi/add?apikey=1234567890&application=Haus&event=Tuerklingel&priority=0\&description=es%20klingelt%20an%20der%20Haustuer&timeout=10";
dom.GetObject("CUxD.CUX2801001:3.CMD_EXEC").State("wget -q -O - '"#url#"'");
Code: Alles auswählen
var ACCK = "ja";
var USE_PROWL = "ja";
var PROWL_CUXD_ID = "CUX2801001:3";
var API_KEY = "1234567890";
var ANWENDUNG = "Homematic";
var KATEGORIE = "Servicemeldung";
var TIME_OUT = "10";
var USE_PUSHOVER = "nein";
var PUSH_CUXD_ID = "CUX2801001:2";
var USERKENNUNG = "DEINE EIGENE USERKENNUNG";
var TOKEN = "DEIN EIGENER TOKEN KEY";
var RETRY = "30";
var EXPIRE = "120";
var SOUND = "siren";
var USE_MAIL = "ja";
var MAIL_ID = "03";
var MAIL_CUXD_ID = "CUX2801001:1";
var USE_SYSVAR = "nein";
var SYSVAR_NAME = "Name deiner Speichervariable";
string cr2016 = "HM-RC-4\tHM-RC-4-B\tHM-RC-Sec3\tHM-RC-Sec3-B\tHM-RC-P1\tHM-RC-Key3\tHM-RC-Key3-B\tZEL_STG_RM_HS_4";
string cr2032 = "HM-SCI-3-FM\tHM-PBI-4-FM\tHM-PB-2-WM\tHM-SwI-3-FM\tHM-PBI-4-FM\tHM-Sec-TiS";
string lr44x2 = "HM-Sec-SC\tHM-Sec-SC2\tHM-Sec-SC-2\tHM-Sec-RHS";
string lr6x2 = "HM-CC-RT-DN\tHM-CC-TC\tHM-Dis-TD-T\tHB-UW-Sen-THPL-I\tHM-TC-IT-WM-W-EU\tHM-WDS40-TH-I\tHM-WDS40-TH-I-2\tHM-WDS10-TH-O";
string lr6x3 = "HM-Sec-MDIR\tHM-Sec-MDIR-2\tHM-Sec-SD\tHM-Sec-WDS\tHM-Sec-WDS-2\tHM-Sec-Key\tHM-Sec-Key-S\tHM-Sec-Key-O\tHM-Sen-Wa-Od\tHM-Sen-MDIR\tHM-Sen-MDIR-O\tHM-Sen-MDIR-O-2\tHM-WDS100-C6-O";
string lr6x4 = "HM-ES-TX-WM\tHM-CCU-1";
string lr3x1 = "HM-Sec-Sco\tHM-RC-4-2\tHM-RC-Key4-2\tHM-RC-Sec4-2";
string lr3x2 = "HM-PB-6-WM55\tHM-PBI-2-FM\tHM-RC-8\tHM-Sen-DB-PCB\tHB-UW-Sen-THPL-O\tHM-Sen-EP\tHM-WDS30-T-O\tHM-WDS30-OT2-SM\tHM-TC-IT-WM-W-EU\tHM-Dis-WM55\tHM-PB-2-WM55\tHM-PB-2-WM55-2\tHM-Sen-MDIR-SM";
string lr3x3 = "HM-RC-19\tHM-RC-12\tHM-RC-12-B\tHM-RC-12-W\tHM-PB-4Dis-WM";
string block9 = "HM-LC-Sw1-Ba-PCB\tHM-LC-Sw4-PCB\tHM-MOD-EM-8\tHM-MOD-Re-8\tHM-Sen-RD-O\tHM-OU-CM-PCB\tHM-LC-Sw4-WM";
if (dom.GetObject(41).Value() > dom.GetObject(41).LastValue()) {
object oTmpArray = dom.GetObject(ID_SERVICES);
if(oTmpArray)
{
string sTmp;
string sdev;
string sdesc;
string slist = "";
string styp;
integer prio = 0;
foreach(sTmp, oTmpArray.EnumIDs())
{
object oTmp = dom.GetObject(sTmp);
if (oTmp){
if(oTmp.IsTypeOf(OT_ALARMDP) && (oTmp.AlState() == asOncoming))
{
var trigDP = dom.GetObject(oTmp.AlTriggerDP());
var ch = dom.GetObject(trigDP.Channel());
var sdev = dom.GetObject(ch.Device());
var ival = trigDP.Value();
var sdesc = trigDP.AlDestMapDP().Name().StrValueByIndex(".", 2);
! if (sdesc == "STICKY_UNREACH"){ oTmp.AlReceipt();}
if ((sdesc == "STICKY_UNREACH") && (ACCK == "ja")) { oTmp.AlReceipt();}
}
}
}
foreach(sTmp, oTmpArray.EnumIDs())
{
object oTmp = dom.GetObject(sTmp);
if (oTmp)
{
if(oTmp.IsTypeOf(OT_ALARMDP) && (oTmp.AlState() == asOncoming))
{
var trigDP = dom.GetObject(oTmp.AlTriggerDP());
var ch = dom.GetObject(trigDP.Channel());
var sdev = dom.GetObject(ch.Device());
var ival = trigDP.Value();
var sdesc = trigDP.AlDestMapDP().Name().StrValueByIndex(".", 2);
!Übersetzen der Fehlermeldungen
if (sdesc == "CONFIG_PENDING") {sdesc = "Konfigurationsdaten stehen zur Übertragung an"; prio = -1;}
if (sdesc == "LOWBAT") {sdesc = "Batteriestand niedrig"; prio = 0;}
if (sdesc == "STICKY_UNREACH") {sdesc = "Kommunikation war gestört"; prio = -2;}
if (sdesc == "UNREACH") {sdesc = "Kommunikation zur Zeit gestört"; prio = 0;}
if (sdesc == "DEVICE_IN_BOOTLOADER"){sdesc = "Gerät startet neu"; prio = -2;}
if (sdesc == "UPDATE_PENDING") {sdesc = "Update verfügbar"; prio = -2;}
!Sonderfehler
if (sdesc == "ERROR")
{
if((sdev.HssType()=="HM-Sec-RHS") || (sdev.HssType()=="HM-Sec-SC") || (sdev.HssType()=="HM-Sec-SC-2") || (sdev.HssType()=="HM-Sec-MD") || (sdev.HssType()=="HM-Sec-MDIR") || (sdev.HssType()=="HM-Sec-MDIR-2"))
{
if (ival == 7){sdesc = "Sabotage."; prio = 0;}
}
if ((sdev.HssType()=="HM-Sec-Key") || (sdev.HssType()=="HM-Sec-Key-S") || (sdev.HssType()=="HM-Sec-Key-O"))
{
if (ival == 1){sdesc = "Einkuppeln fehlgeschlagen"; prio = -1;}
if (ival == 2){sdesc = "Motorlauf abgebrochen"; prio = -1;}
}
if (sdev.HssType()=="HM-CC-VD")
{
if (ival == 1){sdesc = "Ventil Antrieb blockiert"; prio = -1;}
if (ival == 2){sdesc = "Ventil nicht montiert"; prio = -1;}
if (ival == 3){sdesc = "Stellbereich zu klein"; prio = -1;}
if (ival == 4){sdesc = "Batteriestand niedrig"; prio = -1;}
}
}
if (sdesc == "FAULT_REPORTING")
{
if (sdev.HssType()=="HM-CC-RT-DN")
{
if (ival == 1) {sdesc = "Ventil blockiert."; prio = -1;}
if (ival == 2) {sdesc = "Einstellbereich Ventil zu gross"; prio = -1;}
if (ival == 3) {sdesc = "Einstellbereich Ventil zu klein"; prio = -1;}
if (ival == 4) {sdesc = "Kommunikationsfehler"; prio = -1;}
if (ival == 6) {sdesc = "Batteriestand niedrig"; prio = -1;}
if (ival == 7) {sdesc = "Fehlstellung Ventil"; prio = -1;}
}
}
if (sdesc == "Batteriestand niedrig")
{
string batlink = "unbekannt";
string index;
foreach (index, cr2016) {if (index == sdev.HssType()) {batlink = "1x leere CR2016";}}
foreach (index, cr2032) {if (index == sdev.HssType()) {batlink = "1x leere CR2032";}}
foreach (index, lr44x2) {if (index == sdev.HssType()) {batlink = "2x leere LR44/AG13";}}
foreach (index, lr6x2) {if (index == sdev.HssType()) {batlink = "2x leere LR6/AA";}}
foreach (index, lr6x3) {if (index == sdev.HssType()) {batlink = "3x leere LR6/AA";}}
foreach (index, lr6x4) {if (index == sdev.HssType()) {batlink = "4x leere LR6/AA";}}
foreach (index, lr3x1) {if (index == sdev.HssType()) {batlink = "1x leere LR3/AAA";}}
foreach (index, lr3x2) {if (index == sdev.HssType()) {batlink = "2x leere LR3/AAA";}}
foreach (index, lr3x3) {if (index == sdev.HssType()) {batlink = "3x leere LR3/AAA";}}
foreach (index, block9) {if (index == sdev.HssType()) {batlink = "9Volt Block leer oder unbestimmt";}}
slist = slist # "\n" # sdev.Name() # " : " # batlink;
}
else
{
slist = slist # "\n" # sdev.Name() # " : " # sdesc;
}
}
}
}
if ( USE_SYSVAR == "ja"){ dom.GetObject(SYSVAR_NAME).State(slist); }
if ( USE_MAIL == "ja"){ dom.GetObject("CUxD."#MAIL_CUXD_ID#".CMD_EXEC").State("/etc/config/addons/email/email "#MAIL_ID#" '"#slist#"'"); }
if ( USE_PUSHOVER == "ja"){ dom.GetObject("CUxD."#PUSH_CUXD_ID#".CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -s -k -d token='"#TOKEN#"' -d user='"#USERKENNUNG#"' -d message='"#slist#"' -d priority='"#prio#"' -d sound='"#SOUND#"' -d retry='"#RETRY#"' -d expire='"#EXPIRE#"' https://api.pushover.net/1/messages.json"); }
if ( USE_PROWL == "ja"){ string url="http://prowl.weks.net/publicapi/add?apikey="#API_KEY#"&application="#ANWENDUNG#"&event="#KATEGORIE#"&priority="#prio#"\&description="#slist#"&timeout="#TIME_OUT#"";
dom.GetObject("CUxD."#PROWL_CUXD_ID#".CMD_EXEC").State("wget -q -O - '"#url#"'");
}
}
}
Gruß
Roberto
CCU - Anleitung: https://homematic-ip.com/sites/default/ ... h-eq-3.pdf