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.
    • joergeli
      joergeli @Soc last edited by

      @soc
      Moin,

      ich weiß nicht, ob Dir das weiter hilft?:
      Ich betreibe "nur" eine RaspberryMatic, mit der alles empfangen wird (ohne LAN-Gateway):
      hm-rpc0: die klassischen HomeMatic-Komponenten.
      hm-rpc.1: die HomeMatic IP-Komponenten
      hm.rpc.2: CuxD-Komonenten (868 MHZ-Sensoren, 433 MHZ Funksteckdosen), welche über 2 NanoCul-Sticks (USB), die an die RaspberryMatic angestöpselt sind, ebenfalls empfangen werden.
      Voraussetzung ist natürlich, daß alle HomeMatic- / CuxD-Komponenten in Reichweite der RaspberryMatic sind.

      hm-rpc.0.jpg hm-rpc.1.jpg hm-rpc.2.jpg

      Allerdings habe ich die CuxD-Komponenten in @cash 's Script deaktiviert, da das Script ja - soweit ich mich erinnere - durch die "LOWBAT"-, bzw. durch die "LOWBAT_ALARM"-Datenpunkte getriggert wird und diese Datenpunkte nicht bei allen meinen CuxD-Gerätschaften vorhanden sind.

      Gruß
      Jörg

      S 1 Reply Last reply Reply Quote 0
      • S
        Soc @joergeli last edited by

        @joergeli Danke für die Infos.
        Ich denke ich werde CuxD aus dem ioBroker raus nehmen, da ich keine non-HM Komponenten im RasperryMatic bzw. CCU3 verwende.

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

          @cash Habe nun die CuxD Instanzen gelöscht und das Script startet jetzt soweit fehlerfrei.

          2022-02-09 07:56:21.220 - info: javascript.0 (1024) Start javascript script.js.System.ServicemeldungenHomematic
          2022-02-09 07:56:21.509 - info: javascript.0 (1024) script.js.System.ServicemeldungenHomematic: Script manuell gestartet. (Version: 1.93)
          2022-02-09 07:56:21.510 - info: javascript.0 (1024) script.js.System.ServicemeldungenHomematic: Es gibt: 6 Geräte mit dem Datenpunkt LOWBAT.
          2022-02-09 07:56:21.512 - info: javascript.0 (1024) script.js.System.ServicemeldungenHomematic: Es gibt: 25 Geräte mit dem Datenpunkt LOW_BAT.
          2022-02-09 07:56:21.515 - info: javascript.0 (1024) script.js.System.ServicemeldungenHomematic: Es gibt: 52 Geräte mit dem Datenpunkt UNREACH.
          2022-02-09 07:56:21.516 - info: javascript.0 (1024) script.js.System.ServicemeldungenHomematic: Es gibt: 18 Geräte mit dem Datenpunkt STICKY_UNREACH.
          2022-02-09 07:56:21.516 - info: javascript.0 (1024) script.js.System.ServicemeldungenHomematic: Es gibt: 2 Geräte mit dem Datenpunkt ERROR.
          2022-02-09 07:56:21.517 - info: javascript.0 (1024) script.js.System.ServicemeldungenHomematic: Es gibt: 8 Geräte mit dem Datenpunkt SABOTAGE.
          2022-02-09 07:56:21.517 - info: javascript.0 (1024) script.js.System.ServicemeldungenHomematic: Keine Geräte gefunden mit dem Datenpunkt ERROR_NON_FLAT_POSITIONING.
          2022-02-09 07:56:21.517 - info: javascript.0 (1024) script.js.System.ServicemeldungenHomematic: Es gibt: 1 Geräte mit dem Datenpunkt FAULT_REPORTING.
          2022-02-09 07:56:21.518 - info: javascript.0 (1024) script.js.System.ServicemeldungenHomematic: Es gibt: 16 Geräte mit dem Datenpunkt DEVICE_IN_BOOTLOADER.
          2022-02-09 07:56:21.520 - info: javascript.0 (1024) script.js.System.ServicemeldungenHomematic: Es gibt: 52 Geräte mit dem Datenpunkt CONFIG_PENDING.
          2022-02-09 07:56:21.522 - info: javascript.0 (1024) script.js.System.ServicemeldungenHomematic: Es gibt: 49 Geräte mit dem Datenpunkt UPDATE_PENDING.
          2022-02-09 07:56:21.522 - info: javascript.0 (1024) script.js.System.ServicemeldungenHomematic: 229 Datenpunkte werden insgesamt vom Script script.js.System.ServicemeldungenHomematic (Version: 1.93) überwacht. Instance: 0
          2022-02-09 07:56:21.522 - info: javascript.0 (1024) script.js.System.ServicemeldungenHomematic: logging: true debugging: false find_bug: false show_each_device: false autoAck: true observation: true ohnetime: true CUXD: 9
          2022-02-09 07:56:21.522 - info: javascript.0 (1024) script.js.System.ServicemeldungenHomematic: registered 229 subscriptions and 0 schedules
          

          Nachdem ich nun eine Sabotage ausgelöst habe, kommen folgenden Meldungen:

          2022-02-09 07:57:25.204 - info: javascript.0 (1024) script.js.System.ServicemeldungenHomematic: Neue Servicemeldung: OG_Büro_Fenstergriffsensor (0007DBE991C2C9) --- HmIP-SRH--- Typ: SABOTAGE_ALARM --- Status: 1 Sabotage
          2022-02-09 07:57:28.231 - error: javascript.0 (1024) Error in callback: ReferenceError: device is not defined
          2022-02-09 07:57:28.231 - error: javascript.0 (1024) at Object. (script.js.System.ServicemeldungenHomematic:2166:39)
          2022-02-09 07:57:28.231 - error: javascript.0 (1024) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2119:34)
          2022-02-09 07:57:28.231 - error: javascript.0 (1024) at listOnTimeout (internal/timers.js:557:17)
          2022-02-09 07:57:28.231 - error: javascript.0 (1024) at processTimers (internal/timers.js:500:7)
          2022-02-09 07:58:25.210 - info: javascript.0 (1024) script.js.System.ServicemeldungenHomematic: Servicemeldung aufgehoben: OG_Büro_Fenstergriffsensor (0007DBE991C2C9) --- HmIP-SRH--- Typ: SABOTAGE_ALARM --- Status: 2 Sabotage aufgehoben
          

          Im Script gibt es ein Fehler. er findet die Variable device nicht.

          Bildschirmfoto 2022-02-09 um 08.02.45.png

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

            @soc Hast Du Zeile 158 auskommentiert und nutzt stattdessen 159? Dann dort den _ entfernen…

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

              @cash Das war es. Danke. Jetzt geht es.

              I 1 Reply Last reply Reply Quote 0
              • I
                Idefix01 @Soc last edited by

                Hallöchen, ich habe soeben auch das Script von Baenker mir eingerichtet. Soweit funktioniert es auch ganz gut, zumindest mit einzelnen HmIP Geräten.

                Nun habe ich aber mal eine Frage dazu. Ich besitze viele Fernster- und Türkontakte, wo es den Punkt SABOTAGE_Alarm nicht gibt sondern nur SABOTAGE (false/true)

                Lässt sich das in dem Script auch einbinden?

                Sabotage.jpg

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

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

                  Hallo cash,

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

                  Gruß//Lucky

                  Hallo cash,

                  diesen gibt es auch in Silber...Unglaublich, hatte mich verkauft...Hier steht wohl dann das -S für Silber. Andere Farben habe ich bei am...on nicht gefunden.

                  let lr6x2 = ['HmIP-eTRV-E-S', 'HmIP-eTRV-E',
                  

                  Gruß//Lucky

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

                    Hi cash,

                    kannst du bitte das Leerzeichen in deinem Script entfernen.

                    'HmIP-eTRV-C-2', 'HmIP-eTRV-E ',
                    

                    Gruß//Lucky

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

                      @lucky_esa warum sollte ich das tun? Das Script funktioniert doch mit diesen Leerzeichen oder?

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

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

                        HmIP-eTRV-E

                        Wen dem so wäre hätte ich hier nichts gepostet.

                        2022-04-04 22:34:21.673  - info: javascript.0 (12311) script.js.common.Skript_40: Bitte melden: Heizung Wohnzimmer (002A9xxxxxxxx) --- HmIP-eTRV-E --- Batterietyp fehlt im Script
                        

                        Du musst das nicht ändern, habe es bei mir bereits korrigiert.

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

                          @lucky_esa Jetzt nochmal langsam. Du hast in dem Script wo die Batterien gesucht werden alle Leerzeichen entfernt und dann geht es? Vorher hat er nichts gefunden?

                          Welche JavaScript Version hast Du im Einsatz? Eigentlich kann es nur eine Änderung des Adapters gegeben haben. Es lief vorher immer ohne Probleme.

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

                            Hi cash,

                            wir reden aneinander vorbei😁

                            Du muss zwingen DAS (singular) Leerzeichen entfernen.

                            'HmIP-eTRV-C-2', 'HmIP-eTRV-EICHBINEINLEERZEICHENUNDMUSSENTFERNTWERDEN', 
                            

                            Gruß//Lucky

                            1 Reply Last reply Reply Quote 0
                            • F
                              FuXXz2 last edited by

                              Hallo zusammen,

                              das Script zeigt mir keine Meldungen an, obwohl Meldungen vorliegen. Woran kann das liegen?
                              Er liest die Geräte zwar ein, bestätigt aber, dass keine Meldungen vorliegen. Das stimmt aber nicht 😞
                              Screenshot 2022-11-06 020239.png
                              Screenshot 2022-11-06 020216.png

                              Dominik F. 1 Reply Last reply Reply Quote 0
                              • Dominik F.
                                Dominik F. @FuXXz2 last edited by Dominik F.

                                @fuxxz2

                                Das Script kann reagiert ja auf Datenpunkte die der RPC Adapter zur Verfügung stellt. Ist denn der entsprechende Datenpunkt "falsch" so dass das Script es melden müsste?
                                Hat das Script reagiert, als das Gerät nicht erreichbar war?

                                Wie hast du folgendes im Script eingestellt?

                                const autoAck = true;             //Löschen bestätigbarer Kommunikationsstörungen (true = an, false = aus)
                                
                                F 1 Reply Last reply Reply Quote 0
                                • F
                                  FuXXz2 @Dominik F. last edited by FuXXz2

                                  @dominik-f Ich habe die nicht weg geklickt, die Meldungen sind noch da und einige sind ja dauerhaft, weil die Kommunikation noch gestört ist.
                                  Screenshot 2022-11-06 140823.png

                                  Screenshot 2022-11-06 140759.png

                                  Wenn wir mal bei dem Aktor bleiben, der aktuell nicht erreichbar ist.
                                  Der Datenpunkt sagt:
                                  Screenshot 2022-11-06 141110.png

                                  Dominik F. L cash 3 Replies Last reply Reply Quote 0
                                  • Dominik F.
                                    Dominik F. @FuXXz2 last edited by

                                    @fuxxz2

                                    Das was du jetzt gepostet hast, ist ja eine ganz andere Ausgangssituation da ja jetzt etwas vorliegt, was das Skript definitiv melden sollte jedoch nicht gemeldet wird.

                                    Das autoAck würde ich aber auf true stellen, dann brauchst du in der CCU nicht mehr bestätigen, wenn irgendwann mal ein Gerät kurz nicht erreichbar war. Das ist ja eigentlich total uninteressant und das Skript meldet dir auch, wenn ein Gerät mal nicht erreichtbar war und die Meldung bestätigt wurde.

                                    Poste bitte mal deine Einstellungen im Script bis ://Ab hier eigentliches Script , am Besten mittels Code

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

                                      @fuxxz2 Bitte mal Javascript Adapter neu starten.

                                      Gruß//Lucky

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

                                        @fuxxz2 Lief das Script als die Fehler aufgetreten sind? Es meldet ja nur Sachen die auftreten während das Script läuft. Und Screenshots von den *Alarm Datenpunkten von den Geräten. Dort müsste man ja auch sehen ob eine Meldung aktuell vorliegt.

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

                                          Adapter neu gestartet, Fehlermeldung in der CCU mehrmals neu ausgelöst, aber keine Meldung des Scriptes.
                                          Ja, das Script läuft die ganze Zeit durch.

                                          • Andere theoretisch mögliche LOWBAT_REPORTING, U_SOURCE_FAIL, USBH_POWERFAIL, STICKY_SABOTAGE, ERROR_REDUCED, ERROR_SABOTAGE
                                            *******************************************************/
                                            const Version = 1.94;
                                            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 = false; //erhöht das Logging wird nur verwendet wenn ein aktulles Bug gesucht wird
                                            const show_each_device = true; //zeigt alle verfügbaren Datenpunkte je Device

                                          const autoAck = false; //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 = '9';

                                          //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 = '0_userdata.0.Servicemeldungen.Meldungen'; // Objekt wo die Servicemeldung hingeschrieben werden soll (String)

                                          //Variablen für Pushover
                                          const sendpush = false; //true = verschickt per Pushover Nachrchten // false = Pushover wird nicht benutzt
                                          const sendpush_LOWBAT = true; //true = verschickt per Pushover Nachrchten bei Low_BAT// 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 = true; //true = verschickt per Telegram Nachrchten // false = Telegram wird nicht benutzt
                                          const user_telegram = '1428935873'; //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 = ''/Anzahl LowBat/;
                                          const id_IST_LOW_BAT = '';
                                          const id_IST_UNREACH = '0_userdata.0.Servicemeldungen.Anzahl_Unreach'/Anzahl Unreach/;
                                          const id_IST_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 = '0_userdata.0.Servicemeldungen.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 = '0_userdata.0.Servicemeldungen.Anzahl_Gesamt'/Anzahl Gesamt/;

                                          //Ab hier eigentliches Script

                                          Screenshot 2022-11-06 205152.png

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

                                            @fuxxz2 da haben wir doch das Problem. Die Datenfelder zeigen nichts. Somit kann das Script nichts melden. Es kann ja nicht hellsehen. Also stimmt entweder etwas nicht mit der CCU (z. B. Firewall) oder die homematic Adapter sind nicht richtig konfiguriert? Zeig mal Screenshots der Adapterkonfigurtionen der beiden Adapter

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            926
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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