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

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Servicemeldungen - All inclusive für Homematic -

    This topic has been deleted. Only users with topic management privileges can see it.
    • foxriver76
      foxriver76 Developer @Bratwurst last edited by

      @bratwurst hm-rega konfiguriert für die Instanz? Debug Log, Screenshots vom Objektbaum, sowas würde evtl helfen um den Fehler näher spezifizieren zu können.

      B 1 Reply Last reply Reply Quote 0
      • B
        Bratwurst @foxriver76 last edited by

        @foxriver76

        gerne... ich hoffe ich produziere nicht nur sinnlose Screenshots...

        2.jpg

        1.jpg

        foxriver76 1 Reply Last reply Reply Quote 0
        • foxriver76
          foxriver76 Developer @Bratwurst last edited by

          @bratwurst Schaut erstmal gut aus. Die Alarme werden durch dieses Skript abgefragt: https://raw.githubusercontent.com/ioBroker/ioBroker.hm-rega/master/regascripts/alarms.fn mal auf CCU laufen lassen (mittels Skript testen Funktion) und schauen ob die DP's raus kommen für die Geräte wo sie fehlen.

          B 1 Reply Last reply Reply Quote 0
          • B
            Bratwurst @foxriver76 last edited by

            @foxriver76
            Hab das Ergebnis in eine Textdatei geworfen und darin nach unreach gesucht, finde so viele unreach Einträge wie ich auch Geräte habe. Dann ist es eine "Importproblem" in den IOBroker?

            1 Reply Last reply Reply Quote 0
            • B
              Bratwurst last edited by Negalein

              Das Problem hat sich verschärft 😉
              Meine SD Karte hat sich verabschiedet und ich habe aus einem Backup das System wiederhergestellt... war aber etwas älter... auf jeden Fall habe ich jetzt keinen einzigen Alarm Datenpunkt mehr... PIVCCU3 3.57.5.
              Habe auch mal den hm-rpc Adapter der HM Komponenten gelöscht und neu gesucht... gleiches Ergebnis.

              Das ist der Output des Skriptes für einen Komponente:

              "3228":{"Name":"AL-00111BE99FC047%3A0.CONFIG_PENDING","AlState":0,"AlOccurrenceTime":"1970-01-01 01:00:00","LastTriggerTime":"2021-06-01 19:07:15","Operations":5,"AlTriggerDP":3227,"Parent":3224},
              "3234":{"Name":"AL-00111BE99FC047%3A0.ERROR_OVERHEAT","AlState":0,"AlOccurrenceTime":"1970-01-01 01:00:00","LastTriggerTime":"2021-06-01 19:07:15","Operations":5,"AlTriggerDP":3233,"Parent":3224},
              "3243":{"Name":"AL-00111BE99FC047%3A0.UNREACH","AlState":2,"AlOccurrenceTime":"2021-06-01 07:30:01","LastTriggerTime":"2021-06-01 19:07:15","Operations":5,"AlTriggerDP":3242,"Parent":3224},
              "3247":{"Name":"AL-00111BE99FC047%3A0.UPDATE_PENDING","AlState":0,"AlOccurrenceTime":"1970-01-01 01:00:00","LastTriggerTime":"1970-01-01 01:00:00","Operations":5,"AlTriggerDP":3246,"Parent":3224}}
              
              cash 1 Reply Last reply Reply Quote 0
              • cash
                cash Most Active @Bratwurst last edited by

                @bratwurst wie gesagt ohne die Datenpunkte funktioniert das Script einfach nicht. Wo Dein Problem liegt kann ich nicht sagen

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

                  Hallo, @cash,

                  ich habe heute die Version 1.85 in meine System eingebaut. Gleichzeitig umgestellt von Telegram auf Pushover. Alle Anpassungen gemacht:

                  Dann habe ich einen Sabotagealarm an einem optischen Fensterkontakt ausgelöst. Im iobroker-Log erhalte ich folgende Zeile:

                  script.js.common.Servicmeldungen: Neue Servicemeldung: HM-Sec-SCo OEQ1986453 (OEQ1986453) --- HM-Sec-SCo--- Typ: ERROR --- Status: 7 Sabotage
                  

                  In meinen Datenpunkten, die ich angelegt habe, kommt diese Meldung als Anzahl aber nicht an.
                  858806b8-b246-4134-b957-282870d75d9d-image.png

                  Leider kann ich jetzt nicht sagen, warum das so ist. Wenn Dein Script diesen Alarm mitbekommt, sollte ja die Kommunikation zwischen RaspberryMatic und iobroker stimmen.

                  Der Alarm ist auch in den DP des HM-Gerätes enthalten.

                  ac70647e-cc8c-44e3-ac0d-42db3f7b3b99-image.png

                  Leider erhalte ich auch keine Nachricht über Pushover. Vielleicht könntest Du mich da einmal auf den Pfad der Tugend leiten? Der Versand von Nachrichten über Pushover (eine Instanz - Änderung in der Funktion für eine Instanz pushover ist gemacht) erfolgt leider nicht. Vielleicht hast Du da noch einen Tip.

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

                    @opossum Bist Du sicher das Pushover bei Dir läuft? Das Script erkennt den Fehler ja?

                    opossum 3 Replies Last reply Reply Quote 0
                    • opossum
                      opossum @cash last edited by

                      @cash ,
                      wow, so schnell. Ja, der Testversand aus iobroker funktioniert.

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

                        @cash ,

                        welches Device muss ich denn für Pushover eintragen?
                        Im Script habe ich eingetragen:

                        d9a6afdc-e4cb-43c0-86c5-e8691f9cbad4-image.png

                        In Pushover ist das hinterlegt:
                        fb25b08a-9b1e-48b5-9dda-36a50ed2d4fe-image.png

                        Was trage ich dort ein, wenn alle Nutzer die Nachricht bekommen sollen?

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

                          @cash ,

                          hier noch einmal die Stelle, wo ich die Pushover auf eine Instanz gewechselt habe:

                          ae1673c9-ffc0-449e-8fa4-dcdf41bd3533-image.png

                          Oder ist das nicht mehr notwendig, wenn ich nur eine Instanz habe?

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

                            @opossum //let _device = 'All';

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

                              @opossum sollte richtig sein. Was passiert denn wenn Du Telegramm zusätzlich auf true einstellst? Bekommst Du dort die Meldung? Ich muss sonst noch ein paar log Einträge einbauen damit ich weiß ob er theoretisch verschickt oder eben nicht.

                              opossum 2 Replies Last reply Reply Quote 0
                              • opossum
                                opossum @cash last edited by

                                @cash ,

                                nein, auch bei Telegram keine Nachricht.

                                Ich bin jetzt etwas ratlos. Bei let _device = (ALL); device mit Unterstrich? Habe das jetzt so im Script stehen:

                                4952f8fd-922e-465b-be62-1880d6ff576f-image.png

                                und

                                51ede4b0-8663-457b-93f0-4395d19ffdf0-image.png

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

                                  @opossum soweit richtig. Hast Du jeweils eine Meldung von diesem Script per Telegram erhalten? Ich passe das Script mal an und baue noch mehr log einträge an.

                                  opossum 2 Replies Last reply Reply Quote 0
                                  • opossum
                                    opossum @cash last edited by

                                    @cash ,

                                    ich schreibe jetzt mal die VM für iobroker mit der Sicherung von heute früh 04.00 Uhr zurück. Dann habe ich den Zustand für Telegram und dann fange ich noch einmal neu an mit der Umstellung. Ich melde mich dann noch einmal wieder. Ich möchte Dir auch nicht den Restsonntag versauen. Hoffe, das ist ok für Dich.

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

                                      @cash ,

                                      nein, leider nicht. Daher wollte ich auch mal zurück mit der Sicherung.

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

                                        @cash ,
                                        habe das jetzt mal getestet. Habe die VM zurückgeschrieben, dann hatte ich als Script Deine Version 1.83 auf dem System.
                                        Sabotagemeldung mit Telegram und mit Pushover erfolgreich.

                                        Dann von GitHub das Script 1.85 kopiert und ein neues Script gemacht. Dort die gleichen Anpassungen wie in 1.83 gemacht. Es kamen keine Meldungen, weder mit Telegram noch mit Pushover.

                                        Ist so auch reproduzierbar. Habe dann Telegram abgeschaltet, immer nach Änderungen den js-Adapter durchgestartet. Wenn Du Hilfe beim Testen benötigst, dann lasse es mich wissen. Danke für Deine bisherige Hilfe. Ich lasse jetzt erst mal das 1.83 aktiv.

                                        Habe ich vielleicht auch das 1.85 falsch von GitHub kopiert?

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

                                          @cash
                                          habe jetzt die 1.86 eingebaut, erst nach Neustart js-Adapter kommt jetzt die Meldung:

                                          18:30:43.858 - info: javascript.0 (19105) script.js.common.Servicemeldungen_185: Neue Servicemeldung: HM-Sec-SCo OEQ1986453 (OEQ1986453) --- HM-Sec-SCo--- Typ: ERROR --- Status: 7 Sabotage
                                          18:30:46.938 - info: pushover.0 (17013) Send pushover notification: {"device":"galaxys215g","message":"HM-Sec-SCo OEQ1986453 Arbeitszimmer optisch (OEQ1986453) - Sabotage. --- seit: 08.06.21 18:30:43 Uhr","title":"Servicemeldung","priority":"0","retry":60,"expire":600,"html":1}
                                          18:30:56.021 - info: javascript.0 (19105) script.js.common.Servicemeldungen_185: Neue Servicemeldung: HM-Sec-SCo OEQ1986453 (OEQ1986453) --- HM-Sec-SCo--- Typ: ERROR --- Status: 0 ERROR mit dem Wert: 0
                                          


                                          Auch in der Pushover-App ist die Nachricht angekommen. Denke, Du hast das sauber gefixt.

                                          1 Reply Last reply Reply Quote 0
                                          • J
                                            JensBHB last edited by

                                            Hi!

                                            Ich bekomme seit einiger Zeit die folgende Fehlermeldung:

                                            2021-06-26 12:05:12.285 - error: javascript.0 (4733) Error in callback: ReferenceError: device is not defined
                                            2021-06-26 12:05:12.285 - error: javascript.0 (4733) at Object. (script.js.Info.ccu_servicemeldungen:2141:39)
                                            2021-06-26 12:05:12.285 - error: javascript.0 (4733) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2105:34)
                                            2021-06-26 12:05:12.285 - error: javascript.0 (4733) at listOnTimeout (internal/timers.js:554:17)
                                            2021-06-26 12:05:12.285 - error: javascript.0 (4733) at processTimers (internal/timers.js:497:7)
                                            
                                            

                                            Das ganze Logfile mit Debug:

                                            2021-06-26 12:05:09.211 - info: javascript.0 (4733) script.js.Info.ccu_servicemeldungen: Servicemeldung aufgehoben: RL|OG|BAD (OEQ0269994) --- HM-LC-Bl1PBU-FM--- Typ: STICKY_UNREACH_ALARM --- Status: 2 Kommunikation war gestört
                                            2021-06-26 12:05:09.225 - info: javascript.0 (4733) script.js.Info.ccu_servicemeldungen: [DEBUG] id_IST Feld für LOW_BAT nicht gefüllt
                                            2021-06-26 12:05:09.236 - info: javascript.0 (4733) script.js.Info.ccu_servicemeldungen: Es gibt: 60 Geräte mit dem Datenpunkt UNREACH_ALARM. Derzeit: 1 Servicemeldung(en).
                                            2021-06-26 12:05:09.253 - info: javascript.0 (4733) script.js.Info.ccu_servicemeldungen: [DEBUG] id_IST Feld für ERROR nicht gefüllt
                                            2021-06-26 12:05:09.261 - info: javascript.0 (4733) script.js.Info.ccu_servicemeldungen: [DEBUG] id_IST Feld für DEVICE_IN_BOOTLOADER nicht gefüllt
                                            2021-06-26 12:05:09.271 - info: javascript.0 (4733) script.js.Info.ccu_servicemeldungen: [DEBUG] id_IST Feld für CONFIG_PENDING nicht gefüllt
                                            2021-06-26 12:05:09.281 - info: javascript.0 (4733) script.js.Info.ccu_servicemeldungen: [DEBUG] id_IST Feld für UPDATE_PENDING nicht gefüllt
                                            2021-06-26 12:05:09.282 - info: javascript.0 (4733) script.js.Info.ccu_servicemeldungen: [DEBUG] Betroffen mehr als 0. Es sind 1
                                            2021-06-26 12:05:09.282 - info: javascript.0 (4733) script.js.Info.ccu_servicemeldungen: [DEBUG] log_manuell: false
                                            2021-06-26 12:05:09.282 - info: javascript.0 (4733) script.js.Info.ccu_servicemeldungen: [DEBUG] Derzeit gibt es Servicemeldungen. Ergebnis in Objekt geschrieben
                                            2021-06-26 12:05:09.282 - info: javascript.0 (4733) script.js.Info.ccu_servicemeldungen: [DEBUG] Betroffen: 1
                                            2021-06-26 12:05:09.283 - info: javascript.0 (4733) script.js.Info.ccu_servicemeldungen: [DEBUG] write_message steht auf true. Ergebnis in Objekt geschrieben
                                            2021-06-26 12:05:09.283 - info: javascript.0 (4733) script.js.Info.ccu_servicemeldungen: [DEBUG] Betroffen: RL|OG|BAD (OEQ0269994) - Kommunikation gestört.
                                            2021-06-26 12:05:09.284 - info: javascript.0 (4733) script.js.Info.ccu_servicemeldungen: [DEBUG] meldung alt und neu geändert
                                            2021-06-26 12:05:09.348 - info: javascript.0 (4733) script.js.Info.ccu_service_formatieren: RL|OG|BAD (OEQ0269994) - Kommunikation gestört.
                                            2021-06-26 12:05:09.349 - info: javascript.0 (4733) script.js.Info.ccu_service_formatieren: RL|OG|BAD (OEQ0269994) - Kommunikation gestört.
                                            2021-06-26 12:05:12.283 - info: javascript.0 (4733) script.js.Info.ccu_servicemeldungen: [DEBUG] Timer abgelaufen. Verarbeitung der Servicemeldung
                                            2021-06-26 12:05:12.284 - info: javascript.0 (4733) script.js.Info.ccu_servicemeldungen: Es werden: 333 Datenpunkte überwacht. Derzeit: 1 Servicemeldung(en).
                                            2021-06-26 12:05:12.284 - info: javascript.0 (4733) script.js.Info.ccu_servicemeldungen: [DEBUG] Es gibt eine Servicemeldung: RL|OG|BAD (OEQ0269994) - Kommunikation gestört.
                                            2021-06-26 12:05:12.285 - error: javascript.0 (4733) Error in callback: ReferenceError: device is not defined
                                            2021-06-26 12:05:12.285 - error: javascript.0 (4733) at Object. (script.js.Info.ccu_servicemeldungen:2141:39)
                                            2021-06-26 12:05:12.285 - error: javascript.0 (4733) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2105:34)
                                            2021-06-26 12:05:12.285 - error: javascript.0 (4733) at listOnTimeout (internal/timers.js:554:17)
                                            2021-06-26 12:05:12.285 - error: javascript.0 (4733) at processTimers (internal/timers.js:497:7)
                                            


                                            Ich nehme mal an, dass ich irgendwo etwas falsch gemacht habe. deshalb hier meine Konfiguration:

                                            const Version = 1.86;
                                            const logging = true;             //Sollte immer auf true stehen. Bei false wird garnicht protokolliert
                                            const debugging = true;          //true protokolliert viele zusätzliche Infos
                                            const find_bug = true;         //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 = false;           //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 = '2';
                                            
                                            //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.Systemvariable.0.Servicemeldungen.Info';  // Objekt wo die Servicemeldung hingeschrieben werden soll (String)
                                            
                                            //Variablen für Pushover
                                            const sendpush = true;     //true = verschickt per Pushover Nachrchten // false = Pushover wird nicht benutzt
                                            const pushover_Instanz0 =  'pushover.1';     // Pushover instance für Pio = 0
                                            const pushover_Instanz1 =  'pushover.2';     // Pushover instance für Pio = 1
                                            const pushover_Instanz2 =  'pushover.3';     // Pushover instance für Pio = 2
                                            const pushover_Instanz3 =  'pushover.4';     // 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 Nachrchten // 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 Nachrchten // 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 = 'Systemvariable.0.Servicemeldungen.Anzahl_LOWBAT'/*Anzahl LOWBAT*/;
                                            const id_IST_LOW_BAT = '';
                                            const id_IST_UNREACH = 'Systemvariable.0.Servicemeldungen.Anzahl_UNREACH'/*Anzahl_UNREACH*/;
                                            const id_IST_STICKY_UNREACH = 'Systemvariable.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 = "Systemvariable.0.Servicemeldungen.Anzahl_GESAMT"/*Anzahl_GESAMT*/;
                                            

                                            Ich würde mich über einen Tipp woran es liegen kann sehr freuen.

                                            cash 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            937
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            93
                                            1038
                                            230280
                                            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