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.
    • 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
                                  • cash
                                    cash Most Active @JensBHB last edited by

                                    @jensbhb hast Du das Script verändert?

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

                                      @jensbhb Zeile 47 den Unterstrich entfernen…

                                      J 1 Reply Last reply Reply Quote 1
                                      • J
                                        JensBHB @cash last edited by

                                        @cash Ohje... das wurde hier ja schon thematisiert... sorry... 😇 . Der Wald, die Bäume...

                                        Ich danke Dir, das scheint es gewesen zu sein... 👍

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

                                          Ich hatte das Problem der fehlenden Datenpunkte... jetzt habe ich durch Umstieg auf SSD einmal komplett neu angefangen und siehe da... nicht ein Datenpunkt vom Skript gefunden.
                                          Ich habe "nur" die 4 Datenpunkte für das Skript angelegt... habe ich etwas essenzielles vergessen / übersehen? Muss eine Einstellung im hm-rpc gemacht sein? oder in PIVCCU?

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

                                            @bratwurst Sind die Datenpunkte mit Alarm da? Wenn nicht, kann das Script nichts finden

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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