NEWS
Servicemeldungen - All inclusive für Homematic -
-
@cash ich habe Version 1.80 kopiert und dort wie von dir Vorgeschlagen Zeile 172 bis 184 ausgetauscht. Damit funktioniert die Anzeige.
In wie weit ich damit die Berechnung der Anzahl verändert habe, kann ich natürlich nicht beurteilen.
Bzgl. der Seriennummer schaue ich mal. Danke für den Hinweis.
EDIT:
[DEBUG] Feld id_IST_Gesamt nicht ausgewählt
const id_IST_Gesamt = 'javascript.0.HM-Servicemeldungen.Anzahl_Gesamt';
-
Moin,
ich hab die neue Version 1.82 drauf. Habe alle Geräte neu eingelesen im Homematic Adapter und bekomme folgenden Meldungen nach dem Start des Sripts
javascript.1 2021-02-02 10:47:14.199 error (12724) at Script.runInContext (vm.js:130:18) javascript.1 2021-02-02 10:47:14.199 error (12724) at script.js.CCU_Servicemeldungen:2193:3 javascript.1 2021-02-02 10:47:14.199 error (12724) at script.js.CCU_Servicemeldungen:2190:5 javascript.1 2021-02-02 10:47:14.199 error (12724) at Servicemeldung (script.js.CCU_Servicemeldungen:1738:28) javascript.1 2021-02-02 10:47:14.199 error (12724) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:801:29) javascript.1 2021-02-02 10:47:14.198 error (12724) at script.js.CCU_Servicemeldungen:1739:74 javascript.1 2021-02-02 10:47:14.197 error (12724) script.js.CCU_Servicemeldungen: TypeError: Cannot read property 'common' of null javascript.1 2021-02-02 10:47:14.192 info (12724) script.js.CCU_Servicemeldungen: registered 200 subscriptions and 0 schedules javascript.1 2021-02-02 10:47:14.191 warn (12724) Object "hm-rpc.0.OEQ1829176" does not exist javascript.1 2021-02-02 10:47:14.189 info (12724) script.js.CCU_Servicemeldungen: Es gibt: 14 Geräte mit dem Datenpunkt DEVICE_IN_BOOTLOADER. javascript.1 2021-02-02 10:47:14.186 info (12724) script.js.CCU_Servicemeldungen: Es gibt: 5 Geräte mit dem Datenpunkt FAULT_REPORTING. javascript.1 2021-02-02 10:47:14.184 info (12724) script.js.CCU_Servicemeldungen: Es gibt: 1 Geräte mit dem Datenpunkt ERROR_NON_FLAT_POSITIONING. javascript.1 2021-02-02 10:47:14.183 info (12724) script.js.CCU_Servicemeldungen: Es gibt: 3 Geräte mit dem Datenpunkt ERROR. javascript.1 2021-02-02 10:47:14.181 info (12724) script.js.CCU_Servicemeldungen: Es gibt: 5 Geräte mit dem Datenpunkt SABOTAGE. javascript.1 2021-02-02 10:47:14.179 info (12724) script.js.CCU_Servicemeldungen: Es gibt: 7 Geräte mit dem Datenpunkt STICKY_UNREACH_ALARM. Derzeit: 1 Servicemeldung(en). javascript.1 2021-02-02 10:47:14.179 warn (12724) script.js.CCU_Servicemeldungen: [Script wird gestoppt] Der Datenpunkt hm-rpc.0.OEQ1829176.0.STICKY_UNREACH_ALARM existiert nicht. javascript.1 2021-02-02 10:47:14.176 info (12724) script.js.CCU_Servicemeldungen: Es gibt: 7 Geräte mit dem Datenpunkt UNREACH_ALARM. Derzeit: 1 Servicemeldung(en). javascript.1 2021-02-02 10:47:14.175 warn (12724) script.js.CCU_Servicemeldungen: [Script wird gestoppt] Der Datenpunkt hm-rpc.0.OEQ1829176.0.UNREACH_ALARM existiert nicht. javascript.1 2021-02-02 10:47:14.173 info (12724) script.js.CCU_Servicemeldungen: Es gibt: 17 Geräte mit dem Datenpunkt LOW_BAT. javascript.1 2021-02-02 10:47:14.166 info (12724) script.js.CCU_Servicemeldungen: Es gibt: 6 Geräte mit dem Datenpunkt LOWBAT. javascript.1 2021-02-02 10:47:14.166 warn (12724) script.js.CCU_Servicemeldungen: [Script wird gestoppt] Der Datenpunkt hm-rpc.0.OEQ1829176.0.LOWBAT_ALARM existiert nicht. javascript.1 2021-02-02 10:47:14.161 info (12724) script.js.CCU_Servicemeldungen: Script manuell gestartet. (Version: 1.82) javascript.1 2021-02-02 10:47:10.953 info (12724) Start javascript script.js.CCU_Servicemeldungen
Das komische ist, diese Geräte hm-rpc.0.OEQ1829176 zB gibt es gar nicht bei mir in hm-rpc.0 .
Übersehe ich da etwas? -
@cash hatte nicht gesehen, dass schon Version 1.82 gibt.
Habe das Skript jetzt genommen, alle meine DPs hinterlegt und den Block aus Version 1.70 genommen.
Jetzt funktioniert alles.
Vielen Dank an dieser Stelle für deine Arbeit und dein Skript.
-
@nordischerjung Bitte mal in dem Thread etwas zurück lesen da stehen lösungeswege.
Das Problem ist Deine Installation. Ggf. Neustarten gucken ob es geht. Alle entsprechenden Adapter stoppen incl Javascript. Alle Objekte der Adapter löschen und wieder starten. Danach sollte es spätestens gehen. -
Erstmal vielen Dank für das klasse Script. Leider klappt das mit der prio Steuerung aber nicht.
Wenn ich z.B. Sabotage auf 2 stelle dann erhalte ich es trotzdem auf prio 0.
ich habe 4 pushover Instanzen und die dementsprechend konfiguriert.
Wenn ich den Part send_pushover die pushover_instanz auf die für prio 2 stelle dann gehts.Irgendwo ist da noch n Fehler
-
@prinzeisenherz1 Was steht in Deinen Script in den Zeilen 119-129 und in 141?
Er nimmt automatisch die höchste Prio aus diesen Einstellungen
-
@cash Sorry für die Späte Anwort
Also in Zeile 119-129 stehtconst prio_LOWBAT = 1; const prio_UNREACH = 0; const prio_STICKY_UNREACH = 0; const prio_CONFIG_PENDING = 0; const prio_UPDATE_PENDING = 0; const prio_DEVICE_IN_BOOTLOADER = 0; const prio_ERROR = 0; const prio_ERROR_CODE = 0; const prio_FAULT_REPORTING = 0; const prio_SABOTAGE= 2; const prio_ERROR_NON_FLAT_POSITIONING = 0;
und in Zeile 141 steht
let h_prio = -2; //nicht verändern die höchste Prio nach Fehlertyp wird verwendet
-
@prinzeisenherz1 Wieviel Datenpunkte hast Du denn mit Sabotage? Stell mal den Error auf 2 und erstell dann eine Sabotage
-
@cash geht leider nicht. Wird mir immer an die erste Instanz geschickt (Priorität 0).
Ich habe das mit einem Drehgriffsensor getestet.
Im Log kommt dann folgende Meldungscript.js.Service.Servicemeldungen_all: Neue Servicemeldung: (LEQ0629432) --- HM-Sec-RHS--- Typ: ERROR --- Status: 7 Sabotage
Also Sabotage wird erkannt. Ich habe im Bereich send_pushover mal ein log miteingebaut undda bekommt er die Priorität 0 zugeteilt.
function send_pushover (device, message, titel, prio) { log('Priorität : '+prio) //Version V4.01 vom 10.04.19 let pushover_Instanz; if (prio === 0){pushover_Instanz = pushover_Instanz0;} else if (prio == 1){pushover_Instanz = pushover_Instanz1;} else if (prio == 2){pushover_Instanz = pushover_Instanz2;} else {pushover_Instanz = pushover_Instanz3;} sendTo(pushover_Instanz, { device: device, message: message, title: titel, priority: prio, retry: 60, expire: 600, html: 1 }); }
script.js.Service.Servicemeldungen_all: Priorität : 0
Er müsste doch eigentlich prio 2 erhalten
-
@prinzeisenherz1 prio_Error auf 2 Stellen. Deine Sabotage ist keine Sabotage
-
@cash Die wird doch aber auch als Sabotage erkannt. Wenn ich doch den Batteriedeckel abziehe dann ist das doch eine Sabotage, oder?
-
@prinzeisenherz1 Nein. Wenn Du das Script startest wird Du im Log feststellen das Du keine Sabotage Geräte hast... Ich meine das war früher anders. Bin mir nicht sicher. Das Script erkennt den Error und übersetzt ihn richtig mit Sabotage. Die Prio wird richtig übergeben. Alles andere ist für mich nicht so wichtig.
-
@cash alles klar. Danke, jetzt klappt es!
-
Guten Abend,
gibt es bei diesem Skript die Möglichkeit, dass die Servicemeldungen untereinander geschrieben werden?
Habe auch schon die Zeile dazu gefunden, aber leider bekomme ich das nicht hin oder mache ich hier etwas falsch?
setState(id_Text_Servicemeldung,('- ')servicemeldung.join('\n'));
Würde es gerne so nutzen.
-
@javamafia Das sollte man besser in vis machen... Ansonten geht es natürlich mit <br> als html Zeichensatz
-
@cash Hi, wie würdest du es denn in VIS lösen, damit der String mit den Textmeldungen zeilenweiße dargestellt wird?
-
@feuersturm siehe readme auf github
-
Hallo cash,
es fehlt die Wetterstation HmIP-SWO-PR -> lr6x3 im Script.
Gruß//Lucky
-
@cash sagte in Servicemeldungen - All inclusive für Homematic -:
@feuersturm siehe readme auf github
Danke. Hab es gerade einmal ausprobiert, aber bei mir klappt es leider nicht. Habe ich etwas übersehen?
Widget "basic - html "
Skript Reiter:
Wann wird das Skript denn getriggert? Erst wenn sich der Inhalt vom Datenpunkt wieder ändert?
-
@lucky_esa said in Servicemeldungen - All inclusive für Homematic -:
HmIP-SWO-PR
Ist in der nächsten Version enthalten
@Feuersturm bitte nochmal auf github gucken. Habe eine Datei angelgt vis-html.
Es sollte sofort angezeigt werden.