Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Servicemeldungen - All inclusive für Homematic -

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Servicemeldungen - All inclusive für Homematic -

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      Pahan last edited by

      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

      cash 1 Reply Last reply Reply Quote 0
      • cash
        cash Most Active @Pahan last edited by

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

        1 Reply Last reply Reply Quote 1
        • C
          CNissen last edited by

          wo finde ich die Aktuelle version?

          Negalein 1 Reply Last reply Reply Quote 0
          • Negalein
            Negalein Global Moderator @CNissen last edited by

            @cnissen sagte in Servicemeldungen - All inclusive für Homematic -:

            wo finde ich die Aktuelle version?

            https://github.com/Baenker/Servicemeldungen-Homematic

            1 Reply Last reply Reply Quote 0
            • L
              Lucky_ESA Developer Most Active last edited by

              Hallo cash,

              es fehlt der Heizungsregler HmIP-eTRV-E -> lr6x2 im Script.

              Gruß//Lucky

              L 1 Reply Last reply Reply Quote 0
              • Negalein
                Negalein Global Moderator last edited by

                @cash

                Auf der CCU3 gibt es ein neues Update, aber das Script zeigt es mir nicht an.
                Habe das Script in V1.93

                04dfaeab-a565-4b59-b112-be4532f7e09b-image.png

                cb08f6ae-6dfb-4ef0-b75b-f6629d33fc28-image.png

                Und was bedeutet in 0_userdata.0.CCU3.Servicemeldungen.Verfuegbare_CCU-Firmware der Link zu https://fonts.googleapis.com/css?family=Noto+Sans?

                Danke

                cash 1 Reply Last reply Reply Quote 0
                • cash
                  cash Most Active @Negalein last edited by

                  @negalein Liegt vermutlich daran, dass das Script nicht auf Updates prüft 🙂

                  Negalein 1 Reply Last reply Reply Quote 0
                  • Negalein
                    Negalein Global Moderator @cash last edited by

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

                    cash sigi234 2 Replies Last reply Reply Quote 0
                    • cash
                      cash Most Active @Negalein last edited by

                      @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

                      1 Reply Last reply Reply Quote 0
                      • sigi234
                        sigi234 Forum Testing Most Active @Negalein last edited by

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

                        https://github.com/Baenker/Pruefung-CCU-Firmware

                        Negalein 1 Reply Last reply Reply Quote 0
                        • Negalein
                          Negalein Global Moderator @sigi234 last edited by

                          @sigi234 sagte in Servicemeldungen - All inclusive für Homematic -:

                          https://github.com/Baenker/Pruefung-CCU-Firmware

                          hier der Thread, falls ihn wer sucht.
                          https://forum.iobroker.net/topic/21170/script-zur-überprüfung-ob-eine-neue-firmware-für-die-ccu-verfügbar-ist/74?page=4

                          K 1 Reply Last reply Reply Quote 0
                          • K
                            Kuddel @Negalein last edited by

                            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.

                            cash 1 Reply Last reply Reply Quote 0
                            • cash
                              cash Most Active @Kuddel last edited by

                              @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…

                              1 Reply Last reply Reply Quote 0
                              • svenomatt
                                svenomatt last edited by svenomatt

                                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_
                                
                                1 Reply Last reply Reply Quote 0
                                • cash
                                  cash Most Active last edited by

                                  @svenomatt hast Du Script unter global? Falls nein: Hast Du am Script etwas verändert oder nicht komplett kopiert? Welche Version?

                                  Dominik F. svenomatt 2 Replies Last reply Reply Quote 0
                                  • Dominik F.
                                    Dominik F. @cash last edited by Dominik F.

                                    hat sich erledigt, nach ca 15 min lief alles

                                    1 Reply Last reply Reply Quote 0
                                    • svenomatt
                                      svenomatt @cash last edited by svenomatt

                                      @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

                                      cash 1 Reply Last reply Reply Quote 0
                                      • cash
                                        cash Most Active @svenomatt last edited by

                                        @svenomatt es darf kein Script in global gespeichert sein. Außer Du weißt was Du tust.

                                        svenomatt 1 Reply Last reply Reply Quote 0
                                        • svenomatt
                                          svenomatt @cash last edited by svenomatt

                                          @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 Spript

                                          13: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
                                          
                                          cash Dominik F. 2 Replies Last reply Reply Quote 0
                                          • cash
                                            cash Most Active @svenomatt last edited by

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

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            859
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            93
                                            1038
                                            232989
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo