NEWS
Servicemeldungen - All inclusive für Homematic -
-
Hi,
ich habe das Script installiert (vielen Dank für die Veröffentlichung!!!)
und wie folgt angepasst:const Version = 1.86; const logging = true; //Sollte immer auf true stehen. Bei false wird garnicht protokolliert const debugging = false; //true protokolliert viele zusätzliche Infos const find_bug = false; //erhöht das Logging wird nur verwendet wenn ein aktulles Bug gesucht wird const show_each_device = false; //zeigt alle verfügbaren Datenpunkte je Device const autoAck = true; //Löschen bestätigbarer Kommunikationsstörungen (true = an, false = aus) const observation = true; //Dauerhafte Überwachung der Geräte auf Servicemeldungen aktiv (true = aktiv // false =inaktiv) const onetime = true; //Prüft beim Script Start ob derzeit Geräte eine Servicemeldung haben const with_time = true; //Hängt die Uhrzeit an die Serviemeldung //Geräte die nicht überwacht werden sollen. Komma getrennt erfassen const no_observation = 'LEQ092862x9, XXX'; //Instanz Cuxd ausschließen. Instanz als Zahl z. B. '1' oder bei Nichtnutzung hohe Nr eintragen z. B. '9' const CUXD = '0'; //pro Fehlertyp kann eine andere Prio genutzt werden const prio_LOWBAT = 0; 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= 0; const prio_ERROR_NON_FLAT_POSITIONING = 0; //Variablen für Servicemeldung in Objekt schreiben // Wenn einer Meldung auftritt wird diese in ein Textfeld geschrieben. z. B. für vis const write_message = true; // true schreibt beim auftreten einer Servicemeldung die Serviemeldung in ein Objekt const id_Text_Servicemeldung = 'javascript.0.Servicemeldungen.Text'; // Objekt wo die Servicemeldung hingeschrieben werden soll (String) //Variablen für Pushover const sendpush = false; //true = verschickt per Pushover Nachrichten // false = Pushover wird nicht benutzt const pushover_Instanz0 = 'pushover.0'; // Pushover instance für Pio = 0 const pushover_Instanz1 = 'pushover.1'; // Pushover instance für Pio = 1 const pushover_Instanz2 = 'pushover.2'; // Pushover instance für Pio = 2 const pushover_Instanz3 = 'pushover.3'; // Pushover instance für Pio = -1 oder -2 let h_prio = -2; //nicht verändern die höchste Prio nach Fehlertyp wird verwendet let titel; let message; let device = 'TPhone'; //Welches Gerät soll die Nachricht bekommen //let _device = 'All'; //Variablen für Telegram const sendtelegram = false; //true = verschickt per Telegram Nachrichten // false = Telegram wird nicht benutzt const user_telegram = ''; //User der die Nachricht bekommen soll //Variable zum verschicken der Servicemeldungen per eMail const sendmail = false; //true = verschickt per email Nachrichten // false = email wird nicht benutzt //Ergebnis in Datenfelder schreiben const write_state = true; //Schreibt die Ergebnisse der Servicemeldungen in Datenfelder. (true = schreiben, false, kein schreiben) //nicht benutzte Felder einfach leer lassen --> var id_IST_XXX = ''; //Müssen selber als Zahl angelegt werden const id_IST_LOWBAT = 'javascript.0.Servicemeldungen.Anzahl_LOWBAT'/*Anzahl LOWBAT*/; const id_IST_LOW_BAT = ''; const id_IST_UNREACH = 'javascript.0.Servicemeldungen.Anzahl_UNREACH'/*Anzahl_UNREACH*/; const id_IST_STICKY_UNREACH = 'javascript.0.Servicemeldungen.Anzahl_STICKY_UNREACH'/*Anzahl_STICKY_UNREACH*/; const id_IST_CONFIG_PENDING = ''; const id_IST_UPDATE_PENDING = ''; const id_IST_DEVICE_IN_BOOTLOADER = ''; const id_IST_ERROR = ''; const id_IST_ERROR_NON_FLAT_POSITIONING = ''; const id_IST_ERROR_CODE = ''; const id_IST_FAULT_REPORTING = ''; const id_IST_SABOTAGE = ''; const id_IST_Gesamt = 'javascript.0.Servicemeldungen.Anzahl_GESAMT'/*Anzahl_GESAMT*/; //Ab hier eigentliches Script
Es werden alle Datenpunkte zwar richtig befüllt, aber ich erhalte ständig folgende Fehlermeldungen:
javascript.0 2021-11-05 18:26:57.038 warn at script.js.common.servicemeldungen:2254:3 javascript.0 2021-11-05 18:26:57.038 warn at script.js.common.servicemeldungen:2251:5 javascript.0 2021-11-05 18:26:57.038 warn at Servicemeldung (script.js.common.servicemeldungen:2013:17) javascript.0 2021-11-05 18:26:57.037 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20) javascript.0 2021-11-05 18:26:57.026 warn You are assigning a number to the state "javascript.0.Servicemeldungen.Anzahl_GESAMT" which expects a string. Please fix your code to use a string or change the state type to number. This warning might become an error in future versions.
Ich habe den Datenpunkt-Typ javascript.0.Servicemeldungen.Anzahl_GESAMT auch schon von String in Number manuell geändert, der Fehler kommt dennoch.
Nicht dass es allzu störend ist, aber schön sind diese Meldungen nicht und ich würde mich freuen, diese wegzubekommen.
Vielen Dank für die Unterstützung
-
@pahan das Feld muss vom Typ number sein. Also entsprechend anpassen. Ansonsten bitte den Datenpunkt zeigen (RAW). Normal sollte der Fehler weg sein, wenn man den Typ ändert. Ansonsten ggf. iobroker mal komplett neustarten.
-
wo finde ich die Aktuelle version?
-
@cnissen sagte in Servicemeldungen - All inclusive für Homematic -:
wo finde ich die Aktuelle version?
-
Hallo cash,
es fehlt der Heizungsregler HmIP-eTRV-E -> lr6x2 im Script.
Gruß//Lucky
-
Auf der CCU3 gibt es ein neues Update, aber das Script zeigt es mir nicht an.
Habe das Script in V1.93Und was bedeutet in
0_userdata.0.CCU3.Servicemeldungen.Verfuegbare_CCU-Firmware
der Link zuhttps://fonts.googleapis.com/css?family=Noto+Sans
?Danke
-
@negalein Liegt vermutlich daran, dass das Script nicht auf Updates prüft
-
@cash sagte in Servicemeldungen - All inclusive für Homematic -:
Liegt vermutlich daran, dass das Script nicht auf Updates prüft
Ahh, gerade gesehn, das macht ein anderes Script.
Mal schaun ob ich den Thread dazu finde.
-
@negalein Falls es mein SCript ist muss es zwei Datenpunkte geben. Einmal die ermittelte Version die aktuell installiert ist und einmal ein Feld wo er die hineinschreibt welche es gibt. Damit informiert er nur einmal über ein neues Update. Wo der Thread ist weiß ich aber nicht
-
@negalein sagte in Servicemeldungen - All inclusive für Homematic -:
@cash sagte in Servicemeldungen - All inclusive für Homematic -:
Liegt vermutlich daran, dass das Script nicht auf Updates prüft
Ahh, gerade gesehn, das macht ein anderes Script.
Mal schaun ob ich den Thread dazu finde.
-
-
Besteht die Möglichkeit, dass man im Skript einstellen kann, dass die Seriennummer vom Aktor nicht mitgleoggt wird?
Mir reicht immer der HM-Name um zu wissen, um welchen Aktor es geht.
Ich kann jetzt natürlich überall im Skript den Output ändern, müsste das dann bei jeder neuen Version wieder tun.
-
@kuddel Die Seriennr ist die ID. So heißt das Gerät technisch unter ioBroker. Der Aufwand eine Auswahl zu programmieren ist mir zu hoch. Ich denke man kann man mit dem mehr an Info gut leben oder eben selber hand anlegen… Zur Fehlersuche halte ich die Info aber für Unverzichtbar eben weil die Geräte in ioBroker heißen…
-
Hallo zusamen,
habe probleme mit dem Script irgen bekomme ich es nicht zu laufen.
Hat jemand eine Idee
Anbei der Log
javascript.0 2022-02-02 11:03:22.334 error at processImmediate (internal/timers.js:463:21) javascript.0 2022-02-02 11:03:22.334 error at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1311:17) javascript.0 2022-02-02 11:03:22.334 error at /opt/iobroker/node_modules/iobroker.javascript/main.js:1832:17 javascript.0 2022-02-02 11:03:22.334 error at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1731:37) javascript.0 2022-02-02 11:03:22.334 error at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1482:28) javascript.0 2022-02-02 11:03:22.334 error at Object.createScript (vm.js:261:10) javascript.0 2022-02-02 11:03:22.333 error at new Script (vm.js:88:7) javascript.0 2022-02-02 11:03:22.333 error SyntaxError: Identifier 'message' has already been declared javascript.0 2022-02-02 11:03:22.333 error ^ javascript.0 2022-02-02 11:03:22.333 error let message; javascript.0 2022-02-02 11:03:22.333 error script.js.1_Homematic._Servicemeldungen-Homematic_ compile failed: at script.js.1_Homematic._Servicemeldungen-Homematic_:157 javascript.0 2022-02-02 11:03:22.329 info Start javascript script.js.1_Homematic._Servicemeldungen-Homematic_ javascript.0 2022-02-02 11:03:22.319 info Stop script script.js.1_Homematic._Servicemeldungen-Homematic_
-
@svenomatt hast Du Script unter global? Falls nein: Hast Du am Script etwas verändert oder nicht komplett kopiert? Welche Version?
-
hat sich erledigt, nach ca 15 min lief alles
-
@cash
lief nicht unter gobal habe das ganze jetzt unter Gobal kann aber gerade nicht sagen ob es läuft, da ich gerade in alle scripten probleme habeüberall die Meldung
3.2.2022, 12:43:26.684 [error]: javascript.0 (3656) script.js.1_Diagramm.weather_diagramm compile failed: at script.js.1_Diagramm.weather_diagramm:490
3.2.2022, 12:44:15.368 [error]: javascript.0 (3656) script.js.1_Allgemein.SunDown_Fritzbox_Calls compile failed: at script.js.1_Allgemein.SunDown_Fritzbox_Calls:490
und ich habe keine ahnung wieso
-
@svenomatt es darf kein Script in global gespeichert sein. Außer Du weißt was Du tust.
-
@cash
ok jetzt verstehe gerade nichts mehr. Wo sollte es den nun laufen unter gobal oder nicht gobal?wenn es unter nicht gobal läuft kommt die Fehlermeldung, wobei ich gerade bei allen Scripten (Javascript u. Bloockly) die Fehlermeldung habe und ich keine ahnung habe warum.
13:26:47.372 [info ]: javascript.0 (959) Start javascript script.js.1_Homematic._Servicemeldungen-Homematic_ 13:26:47.375 [error]: javascript.0 (959) script.js.1_Homematic._Servicemeldungen-Homematic_ compile failed: at script.js.1_Homematic._Servicemeldungen-Homematic_:490
achso die Meldung erscheinen immer wenn die Spripte neu gestartet werden oder bei Reboot
hier auch eine andere Meldung von einem anderen Blockly Spript13:33:13.866 error javascript.0 (959) script.js.1_Allgemein.Do_not_disturb compile failed: at script.js.1_Allgemein.Do_not_disturb:490
-
@svenomatt wo Du das Servicemeldungen Script speicherst ist egal. Nur eben nicht in global.
Du hast beim Start Fehlermeldungen gehabt, dass eine Variable schon deklariert sei und deshalb habe ich vermutet das Du unter global ein eigenes anderes Script verwendest was eben die gleiche Variable benutzt die ich bei dem Script nutze.
Zur Erklärung: Scripte die unter global sind werden bei jeden anderen Script ebenfalls vorweg ausgeführt. Erstellst Du dort also ein Script was nicht läuft, laufen danach auch alle anderen nicht. Deshalb sollte nur jemand etwas dort speichern wenn er weiß was er tut.
Also alles unter global löschen und danach ioBroker am Besten neu starten. Danach das Script irgendwo speichern, anpassen und ausführen.