Servicemeldungen *allinclusive* Script

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

Moderator: Co-Administratoren

alchy
Beiträge: 8202
Registriert: 24.02.2011, 01:34

Re: Servicemeldungen *allinclusive* Script

Beitrag von alchy » 19.06.2016, 22:01

Das Script hat mit dem Original nicht wirklich viel zu tun.
Gnade vor Recht: in Zeile 140 ist ein Fehler.

Alchy

.................... 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
Murmelbaerchen69
Beiträge: 270
Registriert: 01.12.2013, 22:55
Wohnort: @home

Re: Servicemeldungen *allinclusive* Script

Beitrag von Murmelbaerchen69 » 20.06.2016, 07:20

Hallo alchy,

da ich nur Pushover und Email nutze und auch Prio nicht nutze, habe ich für mich die entsprechenden Stellen aus deinem Script entfernt.
Trotzdem danke. Werde ich nochmals testen.

Gruß Ralf

-->getippt auf meinem Note 4<--
Das soll ein neuer Computer sein ? Warum steht den auf der Tastatur "ALT" ?

Benutzeravatar
Murmelbaerchen69
Beiträge: 270
Registriert: 01.12.2013, 22:55
Wohnort: @home

Re: Servicemeldungen *allinclusive* Script

Beitrag von Murmelbaerchen69 » 08.07.2016, 20:37

Hallo alchy,

es geht immer noch nicht. :cry: Ich erhalte nur die Meldung:
"Batteriestand niedrig" ohne Angabe des Batterietype

Code: Alles auswählen

Hallo,

aktuelle Servicemeldung deiner Haussteuerung vom 08.07.2016 20:25:

Folgende Servicemeldungen liegen vor:

NEUE SERVICEMELDUNG Kueche-Thermostat : Batteriestand niedrig seit: 08.07.16 20:18 Uhr Wohnen-Fenstergriff : Sabotage seit: 08.07.16 20:25 Uhr 

MFG
deine Homematic CCU
So habe ich es eingerichtet:
Servicefehler.jpg
Das ist das Script:

Code: Alles auswählen

! Servicemeldungen auslesen und weiter verarbeiten zusammengetragen von Alchy & dtp
! v1.0
! Zum Benutzen: Neues Programm in der CCU wie folgt erstellen:
! WENN Systemzustand: Servicemeldungen im Wertebereich groeßer als 0 bei Aktualisierung ausloesen
! DANN mit einer Sekunde Verzoegerung Skript (und dann dieses Script komplett einfuegen und mit o.k. bestaetigen
! In den ersten Zeilen des Scriptes Setup durchfuehren !

! Allgemeine Infos UTF8
! Servicemeldungen bei Kommunikationsstörungen "war gestoert" wird durch das Script bestaetigt (konfigurierbar)
! Im Falle einer Batterieleermeldung, wird der Geraetename und der Batterietyp sowie die Anzahl der Batterien ,
! sonst bei einer anderen Servicemeldung wird der Geraetename und der Fehler (uebersetzt) entweder
! ausgegeben / in Variable gespeichert / per pushover versendet und / oder per Mail verschickt
! das Ganze sollte sowohl als auch funktionieren.
! Bitte Infos bei den Setup durchlesen und beachten, im Zweifelsfalle einfach nachfragen.

! ToDo
! Fehlermeldungen - Batterietypen aktualisieren

! SETUP
! Bitte in Ruhe die nächsten Zeilen durcharbeiten
var WITHTIME = "ja"; ! Wenn ja, wird die Alarmzeit Zeit mitgesendet

! Servicemeldungen "Kommunikation war gestoert" bestaetigen?
var ACCK = "ja"; ! ja oder nein, um anstehende "war Kommunikationsstoerungen" zu bestaetigen

! HM Geraet, wessen Systemmeldungen nicht verschickt werden sollen
var BLOCK = "JEQ012345678"; 

!+++++++ Pushover Setup ++++++
! 1. pushover einrichten ( http://homematic-forum.de/forum/viewtopic.php?f=31&t=11579 )
! 2. cuxd Installation erforderlich
var USE_PUSHOVER = "ja"; ! das Übliche


! Setup Mail verschicken mit CUXD und Emailaddon
! 1. CUXD incl. exec Gerät sind installiert ( http://homematic-forum.de/forum/viewtopic.php?f=37&t=15298 )
! 2. Mailaddon ist installiert eingestellt und funktioniert ( http://www.homematic-inside.de/software/email )
! 3. Im TCL Reiter im MailAddon wird als erste Zeile "set serviceliste [encoding convertfrom utf-8 [lindex $argv 1]]" ohne Anfuehrungsstriche eingegeben
! 4. in Mailvorlage Nr deiner Wahl wird "$serviceliste" ohne Anfuehrungsstriche im Mailtextfeld eingegeben (was da noch steht ist uninteressant)
var USE_MAIL = "ja"; !   ja / nein schicken einer Mail direkt über das Script
var MAIL_ID = "06"; !  die VORHER praeparierte Mailvorlage 01 - 50 in der aktuellen Version des mailaddon
var MAIL_CUXD_ID = "CUX2801001:5"; !   die Serial des EXEC Geraete - wer nicht weiss was ich meine, einfach so lassen ist die Standard

!+++++++ Systemvariablen Setup ++++++
! 1. Vor Benutzung Systemvariable vom Typ Zeichenkette in CCU anlegen,
var USE_SYSVAR = "nein"; ! ja / nein Speichern der Ausgabe des Scriptes in Systemvariable
var SYSVAR_NAME = "Servicefehler"; ! hier den Namen dieser Variablen eintragen


! Eigentlich schon fertig mit dem Setup
! Batteriezuweisungen inklusive Anzahl !Bitte helfen und fehlende Geraete posten
! noch nicht integrierte Geraete werden mit unbekannt ausgegeben
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 lr14x2 = "HM-OU-CFM-TW\tHM-Sec-Sir-WM";
string lr44x2 = "HM-Sec-SC\tHM-Sec-SC2\tHM-Sec-SC-2\tHM-Sec-RHS";
string lr6x2 = "HM-CC-VD\tHM-CC-RT-DN\tHM-Sec-WDS\tHM-Sec-WDS-2\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\tHmIP-SMI\tHMIP-eTRV\tHM-WDS30-OT2-SM-2";
string lr6x3 = "HM-Sec-MDIR\tHM-Sec-MDIR-2\tHM-Sec-SD\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\tHM-WDS100-C6-O-2";
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\tHmIP-KRCA\tHMIP-SWDO";
string lr3x2 = "HM-PB-6-WM55\tHM-Sen-MDIR-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\tHMIP-WTH\tHMIP-WRC2";
string lr3x3 = "HM-PB-4Dis-WM\tHM-Sen-LI-O";
string lr3x3a = "HM-RC-19\tHM-RC-19-B\tHM-RC-12\tHM-RC-12-B\tHM-RC-12-W";
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";

! Setup nun aber wirklich zu Ende - ab hier Finger weg
! var SM_neu = dom.GetObject(41).Value();
! var SM_alt = dom.GetObject(41).LastValue();
string slist = "";
if (dom.GetObject(41).Value() > dom.GetObject(41).LastValue()) {  boolean GO = true; string slist = "NEUE SERVICEMELDUNG"; } else { string slist = "ALTE Servicemeldung";}

! ausgelagert:  Quittieren der war gestoert Meldungen 
object oTmpArray = dom.GetObject(ID_SERVICES);
              if(oTmpArray) {
                 string sTmp;
                 string sdev;
                 string sdesc;
             string styp;
        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") && (ACCK == "ja")) { oTmp.AlReceipt();}   
        } } } }

! Ende Auslagerung war gestoert Meldung

! wird ab 1.0 immer abgearbeitet  
      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 stime = ch.LastTimestamp().ToString("%d.%m.%y %H:%M Uhr");
              var sdesc = trigDP.AlDestMapDP().Name().StrValueByIndex(".", 2);
             var serial = (trigDP.AlDestMapDP().Name().StrValueByIndex(".", 1)).StrValueByIndex(":", 0);

 if (!serial == BLOCK) { 
 
      ! Übersetzen der Fehlermeldungen
        
      if (sdesc == "CONFIG_PENDING") {sdesc = "<font color='red'>Konfigurationsdaten stehen zur Übertragung an.</font>"; }
      if (sdesc == "LOWBAT") {sdesc = "Batteriestand niedrig"; }
        if (sdesc == "STICKY_UNREACH") {sdesc = "<font color='#00CD00'>Kommunikation war gestört.</font>"; }
        if (sdesc == "UNREACH") {sdesc = "<font color='red'>Kommunikation zur Zeit gestört.</font>"; }
        if (sdesc == "DEVICE_IN_BOOTLOADER"){sdesc = "<font color='red'>Gerät startet neu.</font>"; }
        if (sdesc == "UPDATE_PENDING") {sdesc = "<font color='#FF1493'>Update verfügbar.</font>"; }
        if (sdesc == "U_SOURCE_FAIL") {sdesc = "<font color='red'>Netzteil ausgefallen.</font>"; }
        if (sdesc == "USBH_POWERFAIL") {sdesc = "<font color='red'>USB-Host deaktiviert.</font>"; }

        ! 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-SCo") || (sdev.HssType()=="HM-Sec-MD") || (sdev.HssType()=="HM-Sec-MDIR") || (sdev.HssType()=="HM-Sec-MDIR-2"))
           {
              if (ival == 7){sdesc = "<font color='red'>Sabotage</font>"; }
            }
            if ((sdev.HssType()=="HM-Sec-Key") || (sdev.HssType()=="HM-Sec-Key-S") || (sdev.HssType()=="HM-Sec-Key-O"))
            {
              if (ival == 1){sdesc = "<font color='red'>Einkuppeln fehlgeschlagen</font>"; }
              if (ival == 2){sdesc = "<font color='red'>Motorlauf abgebrochen</font>"; }
            }
           if (tmsN.HssType()=="HM-Sec-Win") {
              if (ival == 1) {sdesc = "<font color='red'>Fehler Drehgriff</font>";}
              if (ival == 2) {sdesc = "<font color='red'>Fehler Kippantrieb</font>";}
            }
          }

        if (sdesc == "FAULT_REPORTING") {
           if (sdev.HssType()=="HM-CC-RT-DN")
           {
              if (ival == 1) {sdesc = "<font color='red'>Ventil blockiert</font>"; }
              if (ival == 2) {sdesc = "<font color='red'>Einstellbereich Ventil zu gross</font>"; }
              if (ival == 3) {sdesc = "<font color='red'>Einstellbereich Ventil zu klein</font>"; }
              if (ival == 4) {sdesc = "<font color='red'>Kommunikationsfehler</font>"; }
              if (ival == 6) {sdesc = "<font color='red'>Batteriestand niedrig</font>"; }
              if (ival == 7) {sdesc = "<font color='red'>Fehlstellung Ventil</font>"; }
           }
        }
        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, lr14x2) {if (index == sdev.HssType()) {batlink = "2x leere LR14";}}
           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, lr3x3a) {if (index == sdev.HssType()) {batlink = "3x leere AAA Akkus - bitte laden";}}
           foreach (index, block9) {if (index == sdev.HssType()) {batlink = "9Volt Block leer oder unbestimmt";}}
                             

      
       slist = slist  #"\n"  #sdev.Name() # " : " # batlink; if ( WITHTIME == "ja") { slist = slist #" seit: "#stime ;}
       }
       else
       {
       slist = slist  #"\n"  #sdev.Name() # " : " # sdesc; if ( WITHTIME == "ja") { slist = slist #" seit: "#stime ;}
      }
} } } } 
    
 if ( (GO) && (!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") { 

! Setzen der Prioritaet für die Push-Nachricht
dom.GetObject("Pushover-Prio").State("8");

! Sound für Pushover-Nachricht
dom.GetObject("Pushover-Sound").State("alien");

! Erzeugen der Nachricht
dom.GetObject("Pushover-Text").State(slist);

! Programm "PRPushover-Nachrichten" ausfuehren
dom.GetObject("PRPushover-Nachrichten").ProgramExecute();

}

} else { if ( USE_SYSVAR == "ja"){ dom.GetObject(SYSVAR_NAME).State(slist); } }
davon mal abgesehen müsste nicht auch eine Meldung kommen: "Update verfügbar"? da ich das Update auf 2.19.9 noch nicht gemacht habe und die CCU LED schön blinkt. Diese Meldung erhalte ich auch nicht. :cry:

Gruß Ralf
Zuletzt geändert von Murmelbaerchen69 am 08.07.2016, 20:57, insgesamt 1-mal geändert.
Das soll ein neuer Computer sein ? Warum steht den auf der Tastatur "ALT" ?

Cash
Beiträge: 1148
Registriert: 09.01.2016, 17:42
Wohnort: Sauerland

Re: Servicemeldungen *allinclusive* Script

Beitrag von Cash » 08.07.2016, 20:50

Die Meldung kommt auch nicht, denn die ist ja in der ccu ja nicht unter den Servicemeldungen.

Mal davon abgesehn wäre das ja auch recht nervig wenn er so oft die Meldung verschickt bis man das Update macht. Da würde ich das Script eher deaktivieren bevor ich das Update mache :mrgreen:

Benutzeravatar
Murmelbaerchen69
Beiträge: 270
Registriert: 01.12.2013, 22:55
Wohnort: @home

Re: Servicemeldungen *allinclusive* Script

Beitrag von Murmelbaerchen69 » 08.07.2016, 21:03

Ok, dann bleibt nur noch mein Problem mit dem Batterietyp.
Das soll ein neuer Computer sein ? Warum steht den auf der Tastatur "ALT" ?

alchy
Beiträge: 8202
Registriert: 24.02.2011, 01:34

Re: Servicemeldungen *allinclusive* Script

Beitrag von alchy » 08.07.2016, 21:30

Murmelbaerchen69 hat geschrieben:Hallo alchy,

es geht immer noch nicht. :cry: Ich erhalte nur die Meldung:
"Batteriestand niedrig" ohne Angabe des Batterietype
Wie schon oben geschrieben, das Script hat NICHTS mit dem Original zu tun.
Es ist auch in Ordnung, ich kann ja eh nichts gegen Clone machen, aber ich verweigere den Support.

Da ich aber bekanntermaßen ein Helfersyndrom habe, noch einmal Gande vor Recht:
Eigentlich bin ich ein bisschen verwundert, das du überhaupt eine Meldung kriegst, aber egal, vielleicht schau ich nur nicht richtig.

Wenn es sich bei dem Kueche-Thermostat z.B. um ein HM-CC-RT-DN handelt, baust du dir dort einen Fehler ein.
In Zeile 144 gibst du der Variable sdesc den Wert "<font color='red'>Batteriestand niedrig</font>"
in Zeile 148 wird gefragt if (sdesc == "Batteriestand niedrig") { dann ......
Alles klar?

Die Integration deiner Keymatic ab 131 sollte ebenfalls für Probleme sorgen. Statt mir unbekannte Fehler zu melden und damit der Gemeinschaft zu helfen, wird im stillen Kämmerlein nur für sich selber was geändert. Gratulation. Ich kann damit leben, ich habe nicht mal eine Keymatic.
Nur fragt sich, inwieweit man überhaupt noch im Forum etwas veröffentlichen sollte. :twisted:
Murmelbaerchen69 hat geschrieben: davon mal abgesehen müsste nicht auch eine Meldung kommen: "Update verfügbar"? da ich das Update auf 2.19.9 noch nicht gemacht habe und die CCU LED schön blinkt. Diese Meldung erhalte ich auch nicht. :cry:
Gruß Ralf
Das Vorhandensein eines Updates der Firmware der CCU löst auf der CCU keine Servicemeldung aus.
Weder im Orginal noch in deinem Clone. Es gibt dafür aber andere Scripte.

Alchy

.................... 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
Murmelbaerchen69
Beiträge: 270
Registriert: 01.12.2013, 22:55
Wohnort: @home

Re: Servicemeldungen *allinclusive* Script

Beitrag von Murmelbaerchen69 » 08.07.2016, 22:55

ok trotzdem danke, jetzt verstehe ich es.

-->getippt auf meinem Note 4<--
Das soll ein neuer Computer sein ? Warum steht den auf der Tastatur "ALT" ?

TheRealTrempes
Beiträge: 543
Registriert: 10.03.2016, 22:43

Re: Servicemeldungen *allinclusive* Script

Beitrag von TheRealTrempes » 10.07.2016, 13:55

Hi alchy,

kannst Du das Gerät Funk-Statusanzeige mit E-Paper-Display HM-Dis-EP-WM55 bitte mit in das Script aufnehmen.
http://www.elv.de/homematic-komplettbau ... splay.html

Falls es hilft:

Aus der devicelist.cgi:

Code: Alles auswählen

<device name="HM-Dis-EP-WM55 NEQXXXXXXX" address="NEQXXXXXXX" ise_id="3251" interface="BidCos-RF" device_type="HM-Dis-EP-WM55" ready_config="true">
<channel name="HM-Dis-EP-WM55 NEQXXXXXXX:1" type="32" address="NEQXXXXXXX:1" ise_id="3304" direction="SENDER" parent_device="3251" index="1" group_partner="3310"aes_available="true" transmission_mode="DEFAULT" visible="true" ready_config="true" operate="true"/>
<channel name="HM-Dis-EP-WM55 NEQXXXXXXX:2" type="32" address="NEQXXXXXXX:2" ise_id="3310" direction="SENDER" parent_device="3251" index="2" group_partner="3304"aes_available="true" transmission_mode="DEFAULT" visible="true" ready_config="true" operate="true"/>
<channel name="HM-Dis-EP-WM55 NEQXXXXXXX:3" type="32" address="NEQXXXXXXX:3" ise_id="3316" direction="UNKNOWN" parent_device="3251" index="3" group_partner=""aes_available="false" transmission_mode="DEFAULT" visible="true" ready_config="true" operate="true"/>
<channel name="HM-Dis-EP-WM55 NEQXXXXXXX:4" type="32" address="NEQXXXXXXX:4" ise_id="3318" direction="UNKNOWN" parent_device="3251" index="4" group_partner=""aes_available="false" transmission_mode="DEFAULT" visible="true" ready_config="true" operate="true"/>
<channel name="HM-Dis-EP-WM55 NEQXXXXXXX:5" type="32" address="NEQXXXXXXX:5" ise_id="3319" direction="UNKNOWN" parent_device="3251" index="5" group_partner=""aes_available="false" transmission_mode="DEFAULT" visible="true" ready_config="true" operate="true"/>
<channel name="HM-Dis-EP-WM55 NEQXXXXXXX:6" type="32" address="NEQXXXXXXX:6" ise_id="3320" direction="UNKNOWN" parent_device="3251" index="6" group_partner=""aes_available="false" transmission_mode="DEFAULT" visible="true" ready_config="true" operate="true"/>
<channel name="HM-Dis-EP-WM55 NEQXXXXXXX:7" type="32" address="NEQXXXXXXX:7" ise_id="3321" direction="UNKNOWN" parent_device="3251" index="7" group_partner=""aes_available="false" transmission_mode="DEFAULT" visible="true" ready_config="true" operate="true"/>
<channel name="HM-Dis-EP-WM55 NEQXXXXXXX:8" type="32" address="NEQXXXXXXX:8" ise_id="3330" direction="UNKNOWN" parent_device="3251" index="8" group_partner=""aes_available="false" transmission_mode="DEFAULT" visible="true" ready_config="true" operate="true"/>
</device>
Aus der statelist.cgi:

Code: Alles auswählen

<device name="HM-Dis-EP-WM55 NEQXXXXXXX" ise_id="3251" unreach="false" sticky_unreach="false" config_pending="false">
<channel name="HM-Dis-EP-WM55 NEQXXXXXXX:0" ise_id="3252" visible="" operate="">
<datapoint name="BidCos-RF.NEQXXXXXXX:0.UNREACH" type="UNREACH" ise_id="3296" value="false" valuetype="2" valueunit="" timestamp="1468150845" operations="5"/>
<datapoint name="BidCos-RF.NEQXXXXXXX:0.STICKY_UNREACH" type="STICKY_UNREACH" ise_id="3288" value="false" valuetype="2" valueunit="" timestamp="1468150845" operations="7"/>
<datapoint name="BidCos-RF.NEQXXXXXXX:0.CONFIG_PENDING" type="CONFIG_PENDING" ise_id="3254" value="false" valuetype="2" valueunit="" timestamp="1468150845" operations="5"/>
<datapoint name="BidCos-RF.NEQXXXXXXX:0.LOWBAT" type="LOWBAT" ise_id="3262" value="false" valuetype="2" valueunit="" timestamp="1468150845" operations="5"/>
<datapoint name="BidCos-RF.NEQXXXXXXX:0.RSSI_DEVICE" type="RSSI_DEVICE" ise_id="3274" value="1" valuetype="8" valueunit="" timestamp="1468150845" operations="5"/>
<datapoint name="BidCos-RF.NEQXXXXXXX:0.RSSI_PEER" type="RSSI_PEER" ise_id="3287" value="195" valuetype="8" valueunit="" timestamp="1468150845" operations="5"/>
<datapoint name="BidCos-RF.NEQXXXXXXX:0.DEVICE_IN_BOOTLOADER" type="DEVICE_IN_BOOTLOADER" ise_id="3258" value="false" valuetype="2" valueunit="" timestamp="1468150845"operations="5"/>
<datapoint name="BidCos-RF.NEQXXXXXXX:0.UPDATE_PENDING" type="UPDATE_PENDING" ise_id="3300" value="false" valuetype="2" valueunit="" timestamp="1468150845" operations="5"/>
</channel>
<channel name="HM-Dis-EP-WM55 NEQXXXXXXX:1" ise_id="3304" visible="true" operate="true">
<datapoint name="BidCos-NEQXXXXXXX:1.PRESS_SHORT" type="PRESS_SHORT" ise_id="3309" value="false" valuetype="2" valueunit="" timestamp="1468150812" operations="6"/>
<datapoint name="BidCos-NEQXXXXXXX:1.PRESS_LONG" type="PRESS_LONG" ise_id="3307" value="false" valuetype="2" valueunit="" timestamp="1468150808" operations="6"/>
</channel>
<channel name="HM-Dis-EP-WM55 NEQXXXXXXX:2" ise_id="3310" visible="true" operate="true">
<datapoint name="BidCos-RF.NEQXXXXXXX:2.PRESS_SHORT" type="PRESS_SHORT" ise_id="3315" value="" valuetype="2" valueunit="" timestamp="0" operations="6"/>
<datapoint name="BidCos-RF.NEQXXXXXXX:2.PRESS_LONG" type="PRESS_LONG" ise_id="3313" value="" valuetype="2" valueunit="" timestamp="0" operations="6"/>
</channel>
<channel name="HM-Dis-EP-WM55 NEQXXXXXXX:3" ise_id="3316" visible="true" operate="true">
<datapoint name="BidCos-RF.NEQXXXXXXX:3.SUBMIT" type="SUBMIT" ise_id="3317" value="" valuetype="20" valueunit="" timestamp="0" operations="2"/>
</channel>
<channel name="HM-Dis-EP-WM55 NEQXXXXXXX:4" ise_id="3318" visible="true" operate="true"/>
<channel name="HM-Dis-EP-WM55 NEQXXXXXXX:5" ise_id="3319" visible="true" operate="true"/>
<channel name="HM-Dis-EP-WM55 NEQXXXXXXX:6" ise_id="3320" visible="true" operate="true"/>
<channel name="HM-Dis-EP-WM55 NEQXXXXXXX:7" ise_id="3321" visible="true" operate="true"/>
<channel name="HM-Dis-EP-WM55 NEQXXXXXXX:8" ise_id="3330" visible="true" operate="true"/>
</device>

alchy
Beiträge: 8202
Registriert: 24.02.2011, 01:34

Re: Servicemeldungen *allinclusive* Script

Beitrag von alchy » 10.07.2016, 19:26

HM-Dis-EP-WM55 erledigt, wobei es sich den Datenpunkten nach nur um Batteriezuweisungen handelt.
Falls wer unübersetzte Servicemeldungen von irgendeinen Gerät bekommt, kann er sich gerne melden.

Alchy

.................... 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.

Hubiherzog
Beiträge: 140
Registriert: 15.10.2014, 20:04

Re: Servicemeldungen *allinclusive* Script

Beitrag von Hubiherzog » 18.07.2016, 23:04

Hallo, Alchy,

seit Monaten werkelt Dein Script in meinem Raspi ohne zu mucken. Vielen Dank für Deine Arbeit.
Habe aber trotzdem eine Frage:
- habe die beiden Systemvariablen USE_SYSVAR und SYSVAR_NAME angelegt
- benutze für Meldungen nur e-Mail
- habe jetzt festgestellt, daß die beiden Varianten USE_SYSVAR und SYSVAR_NAME die ganze Zeit nur mit Fragezeichen gefüllt sind, d.h. doch, sie werden nicht genutzt

Kann ich diese problemlos als Variable löschen ohne im Script etwas zu ändern; oder soll ich am Ende des Scripts etwas löschen (alles, was nichts mit e-mail zu tun hat).

Vielen Dank für eine Nachricht
Hubiherzog

Antworten

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