NEWS
Servicemeldungen - All inclusive für Homematic -
-
Ich hätte mal ne Frage was müsste man alles tauschen um das script auch für telegramm nutzen zu können?
-
Ich hätte mal ne Frage was müsste man alles tauschen um das script auch für telegramm nutzen zu können? `
Oder um Meldung einfach in Datenpunkt schreiben. Dann kann man die mit allem Möglichen weiterverarbeiten.Die Option gab es auch im HM Script.
Grüße
-
Ich hätte mal ne Frage was müsste man alles tauschen um das script auch für telegramm nutzen zu können? `
Ich weiß nicht welche Parameter man bei Telegram mitgeben muss. Ich könnte mir vorstellen das es reicht die Function oben function send_pushover_V4
-
Oder um Meldung einfach in Datenpunkt schreiben. Dann kann man die mit allem Möglichen weiterverarbeiten.
Die Option gab es auch im HM Script.
Grüße `
Das werde ich mit der nächsten Version einbauen. Allerdings nur die Anzahl der jeweiligen Meldungen. Das heißt man weiß dann noch nicht welches Gerät ein Problem hat. Ich könnte evt. den Pushtest ebenfalls in ein Datenfeld schreiben.
-
Im ersten Beitrag ist die aktuelle Version von heute:
05.02.19 V1.08 Bei Sabotage wurde nicht die Variable für die Prio berücksichtigt
-
geändert von Kanal 1 auf 0 var cacheSelectorSABOTAGE = $('channel[state.id=hm-rpc.*.0.SABOTAGE_ALARM$]');
-
Batterieliste aktualisiert
-
Wenn Batterie nicht ermittelbar erfogt ein Hinweis im Log
-
Neue Konfig Möglichkeit um Nachrichtentext in Objekte zu schreiben (erstmal Testweise nur in LOWBAT)
-
Ergebnis in Datenfleder schreiben zum testen in LOWBAT eingefügt
-
06.02.19 V1.09 Serviemeldung ERROR_CODE aufgenommen
-
Wenn Script manuell gestartet wurde wurde kein Ergebnis geloggt wenn eine Servicemeldung vorliegt und Debug = false war
-
Logging optimiert
-
Es wird keine Push mehr verschickt wenn eine Servicemeldung vorliegt und das Script manuell gestartet wird
**************************/
Zum ersten mal hatte ich heute Nacht um 3 Uhr einen Echtfall. :mrgreen:
Batterie von einen Wandthermostat ist leer. Das Script funktioniert bei mir also auch im Echtfall. Allerdings hat er leider falsche Batterien ermittelt. Der Fehler tritt dann auf wenn der Gerätetyp nicht eindeutig ist. Da muss ich nochmal ran. Derzeit habe ich da aber noch keine Idee wie ich das umgehe.
Beispiel es gibt den Gerätetyp: HM-Sec-RHS und HM-Sec-RHS-2. Hat man nun den zweiten passt es. Beim ersten kommt es zum Fehler weil der erste Gerätetyp auch im zweiten vorhanden ist.
Gestern habe ich Testweise die Möglichkeit geschaffen Ergebnisse in Datenfelder zu schreiben. Habe es aber noch nicht 100% getestet. Auf jeden Fall würde das dazu führen das das Script noch länger wird. Geschätzt um über 200 Zeilen. Ob ich das also wirklich einbaue weiß ich noch nicht. Es sollte ja auch in jeden erdenklichen Fall funktionieren…
-
-
Im ersten Beitrag ist die aktuelle Version von heute:
05.02.19 V1.08 Bei Sabotage wurde nicht die Variable für die Prio berücksichtigt
-
geändert von Kanal 1 auf 0 var cacheSelectorSABOTAGE = $('channel[state.id=hm-rpc.*.0.SABOTAGE_ALARM$]');
-
Batterieliste aktualisiert
-
Wenn Batterie nicht ermittelbar erfogt ein Hinweis im Log
-
Neue Konfig Möglichkeit um Nachrichtentext in Objekte zu schreiben (erstmal Testweise nur in LOWBAT)
-
Ergebnis in Datenfleder schreiben zum testen in LOWBAT eingefügt
-
06.02.19 V1.09 Serviemeldung ERROR_CODE aufgenommen
-
Wenn Script manuell gestartet wurde wurde kein Ergebnis geloggt wenn eine Servicemeldung vorliegt und Debug = false war
-
Logging optimiert
-
Es wird keine Push mehr verschickt wenn eine Servicemeldung vorliegt und das Script manuell gestartet wird
**************************/
Zum ersten mal hatte ich heute Nacht um 3 Uhr einen Echtfall. :mrgreen:
Batterie von einen Wandthermostat ist leer. Das Script funktioniert bei mir also auch im Echtfall. Allerdings hat er leider falsche Batterien ermittelt. Der Fehler tritt dann auf wenn der Gerätetyp nicht eindeutig ist. Da muss ich nochmal ran. Derzeit habe ich da aber noch keine Idee wie ich das umgehe.
Beispiel es gibt den Gerätetyp: HM-Sec-RHS und HM-Sec-RHS-2. Hat man nun den zweiten passt es. Beim ersten kommt es zum Fehler weil der erste Gerätetyp auch im zweiten vorhanden ist.
Gestern habe ich Testweise die Möglichkeit geschaffen Ergebnisse in Datenfelder zu schreiben. Habe es aber noch nicht 100% getestet. Auf jeden Fall würde das dazu führen das das Script noch länger wird. Geschätzt um über 200 Zeilen. Ob ich das also wirklich einbaue weiß ich noch nicht. Es sollte ja auch in jeden erdenklichen Fall funktionieren… `
19:14:24.817 info javascript.0 script.js.CCU2.Servicemeldungen_Homematic_Geraete: Bitte melden: Licht_Vorraum (OEQxxxxxx) --- HM-LC-Sw1PBU-FM --- Batterietyp fehlt im Script
-
-
Das habe ich auch neu eingebaut
-
Das einzige was mich stutzig macht. Hat dieses Gerät wirklich den Datenpunkt LOWBAT? Das Gerät ist das an Strom angeschlossen und so kann es zu keinem LOWBAt kommen?
-
Das einzige was mich stutzig macht. Hat dieses Gerät wirklich den Datenpunkt LOWBAT? Das Gerät ist das an Strom angeschlossen und so kann es zu keinem LOWBAt kommen? `
Ja eben, das ist ein Funk-Schaltaktor 1-fach für Markenschalter, Unterputzmontage
-
Was es ist habe ich gesehen. Guckmal ob das Gerät den Datenpunkt hat und ich wette das Gerät hat den Datenpunkt.
-
Was es ist habe ich gesehen. Guckmal ob das Gerät den Datenpunkt hat und ich wette das Gerät hat den Datenpunkt. `
-
Wie ich also vermutet habe. Das Script macht was es soll. Entweder ist der Datenpunkt ein Fehler von iobroker (was ich nicht glaube, da iobroker einfach alle Felder aus der ccu ausliest) oder der Programmierer bei eq3 war bekifft als er den Schalter programmiert hat
-
Wie ich also vermutet habe. Das Script macht was es soll. Entweder ist der Datenpunkt ein Fehler von iobroker (was ich nicht glaube, da iobroker einfach alle Felder aus der ccu ausliest) oder der Programmierer bei eq3 war bekifft als er den Schalter programmiert hat `
Tja, da trifft eher letzteres zu…......
-
Auf der ersten Seite ist wieder die aktuelle Version. Im wesentlichen habe ich nur den Teil neu geschrieben der die benötigten Batterien ermittelt.
Mit der neuen Variante werden jetzt zuverlässig die richtige Batterie ermittelt. Sonstige Änderungen habe ich nicht vorgenommen.
-
Auf der ersten Seite ist wieder die aktuelle Version. Im wesentlichen habe ich nur den Teil neu geschrieben der die benötigten Batterien ermittelt.
Mit der neuen Variante werden jetzt zuverlässig die richtige Batterie ermittelt. Sonstige Änderungen habe ich nicht vorgenommen. `
javascript.0 2019-02-08 20:10:26.871 warn at script.js.08Statusabfragen.Alle_Meldungen_neu1:1574:5 javascript.0 2019-02-08 20:10:26.871 warn at LOWBAT (script.js.08Statusabfragen.Alle_Meldungen_neu1:381:17) javascript.0 2019-02-08 20:10:26.868 warn State "Systemvariable.0.Servicemeldungen.Anzahl_LOWBAT" not found
-
Hast Du das Script einfach ausgeführt oder vorher die Konfig bearbeitet?
var write_state = true; —> Schreibe Ergebnis in die Systemvariable die zwei Zeilen darunter zu finden ist… Wenn es die bei Dir nicht gibt ist die Fehlermeldung nachvollziehbar.
Falls Du den Paramter write_state auf false hattest sollte der Fehler hoffentlich nicht kommen. Diese Funktion teste ich gerade. Funktioniert nur für die LOWBAT Meldungen...
-
ich habe jetzt gerade den Rechner aus gemacht. Dann habe ich das bestimmt übersehen.
-
Super Script!!! Vielen Dank!
Ist es möglich anstelle von Pushover, Telegram einzubauen?
-
Hi, kannst du das Script von deinem ersten Post nochmal neu einstellen. Wenn ich es importieren kommen jede Menge
Fehlermeldungen. Die meisten habe ich zwar herausbekommen aber bei dieser Zeile hier komme ich nicht weiter:for (i = 0; i <lr44x2.length; i++)/{/if/(lr44x2[i]="=" native_type)/batterie="2x LR44/AG13" ;/break;/}/for/(i="0;" i/<lr6x2.length;/(lr6x2[i]="=" </lr6x3.length;/(lr6x3[i]="=" lr6x4.length;/(lr6x4[i]="=" lr3x1.length;/(lr3x1[i]="=" lr3x2.length;/(lr3x2[i]="=" lr3x3.length;/(lr3x3[i]="=" lr3x3a.length;/(lr3x3a[i]="=" block9.length;/(block9[i]="=" fixed.length;/(fixed[i]="=" ohne.length;/(ohne[i]="=" recharge.length;/(recharge[i]="=" return(batterie);/function/lowbat(obj)/var/meldungsart="LOWBAT" gesamt="0;" betroffen="0;" text="[];" _message_tmp=" " log_manuell="false;" (obj)/common_name="obj.common.name.substr(0," obj.common.name.indexof(':'));/status="obj.newState.val;" status_text;/if(status="==" 0){/status_text="Batterie ok" else/(status="=" 1){/2){/id_name="obj.id.split('.')[2];" log('neue/servicemeldung:/'/+common_name/+'/('+id_name/+')/+'---/typ:/'+meldungsart/---/status:/+status/+status_text);/if(debugging){/log('function/+meldungsart/wird/gestartet.');/cacheselectorlowbat.each(function/(id,/i)/schleife/für/jedes/gefundenen/element/*.lowbat/obj="getObject(id);" datum="formatDate(getState(id).lc," "tt.mm.jj/ss:mm:ss");/datum_neu;/datum_seit;/if(datum/'01.01.71/01:00:00'){/datum_seit/datum_neu/}else{/uhr';/native_type="getObject(id.substring(0," id.lastindexof('.')/-/2)).native.type;/1)/wenn/zustand="true," dann/die/anzahl/der/geräte/hochgezählt/++betroffen;/text.push(common_name/+')');/zu/array/hinzufügen/+')'/+/<font/color="red">Spannung Batterien/Akkus gering. '+Batterie+'\n';
-
Geht derzeit leider nicht. Beim Versuch das Script neu hochzuladen kommt eine Fehlermeldung das mein Beitrag zu lang ist.
Telegram ist natürlich möglich. Kann man sich selber anpassen. Ich selber nutze kein Telegram.