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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Servicemeldungen - All inclusive für Homematic -

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Kuddel @cash last edited by

      Ich habe gestern Version 1.7.3 in Betrieb genommen.

      Meine CCU2 hat eine Servicemeldung
      c7e11dd6-d81a-4508-b41f-2fae21cb94b1-grafik.png

      Leider wertet das Skript diese Meldungen nicht aus.

      Ich nutzte die HM-Adapter in folgenden Versionen:
      hm-rega: 2.6.14
      hm-rpc: 1.14.2

      Hier noch meine Skript-Konfig

      const Version = 1.73;
      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 = false;           //Hängt die Uhrzeit an die Serviemeldung
      
      //Geräte die nicht überwacht werden sollen. Komma getrennt erfassen
      const no_observation = '';
      
      //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 = 'javascript.0.HM-Servicemeldungen.Text';  // 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 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 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 = ''/*Anzahl LOWBAT*/;
      const id_IST_LOW_BAT = '';
      const id_IST_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 = '';
      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.HM-Servicemeldungen.Anzahl"/*Anzahl_GESAMT*/;
      

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

        @Kuddel Was sagt das Log? Und wie steht der entsprechende Datenpunkt bei dem entsprechenden HM-Gerät (UNREACH_ALARM bzw je nach Servicemeldung)? Nur wenn der entsprechende Datenpunkt gefüllt ist kann das Script etwas melden?

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

          @cash im log ist nichts zu erkennen

          a13eeb98-c150-45c8-ae61-20f58aeeec73-grafik.png

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

            @Kuddel wie Du selber siehst hat dieses Gerät keine Servicemeldung. Was soll mein Script also machen?

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

              @cash

              a1e91027-79f2-4cd9-aa42-061114436923-grafik.png

              aber UNREACH steht doch auf TRUE. Das müssten dein Skript doch auswerten?

              N cash 2 Replies Last reply Reply Quote 0
              • N
                Nordischerjung @Kuddel last edited by

                Moin,

                ich hab die Version 1.73 nun auch aktiviert, bekomme aber immer folgende Meldungen im LOG

                javascript.1	2020-08-06 13:49:24.942	info	(8300) Stop script script.js.CCU_Servicemeldungen
                javascript.1	2020-08-06 13:49:12.646	error	(8300) at Script.runInContext (vm.js:131:20)
                javascript.1	2020-08-06 13:49:12.646	error	(8300) at script.js.CCU_Servicemeldungen:2185:5
                javascript.1	2020-08-06 13:49:12.645	error	(8300) at Servicemeldung (script.js.CCU_Servicemeldungen:1213:22)
                javascript.1	2020-08-06 13:49:12.645	error	(8300) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:796:29)
                javascript.1	2020-08-06 13:49:12.645	error	(8300) at script.js.CCU_Servicemeldungen:1214:74
                javascript.1	2020-08-06 13:49:12.645	error	(8300) TypeError: Cannot read property 'common' of null
                javascript.1	2020-08-06 13:49:12.645	error	(8300) ^
                javascript.1	2020-08-06 13:49:12.645	error	(8300) common_name = getObject(id.substring(0, id.lastIndexOf('.') - 2)).common.name;
                javascript.1	2020-08-06 13:49:12.644	error	(8300) script.js.CCU_Servicemeldungen: script.js.CCU_Servicemeldungen:1214
                javascript.1	2020-08-06 13:49:12.642	warn	(8300) Object "hm-rpc.0.001098A98B0B56" does not exist
                javascript.1	2020-08-06 13:49:12.642	info	(8300) script.js.CCU_Servicemeldungen: Es gibt: 26 Geräte mit dem Datenpunkt STICKY_UNREACH.
                javascript.1	2020-08-06 13:49:12.616	info	(8300) script.js.CCU_Servicemeldungen: Keine Geräte gefunden mit dem Datenpunkt UNREACH.
                javascript.1	2020-08-06 13:49:12.616	warn	(8300) script.js.CCU_Servicemeldungen: [Script wird gestoppt] Der Datenpunkt hm-rpc.0.000A98A9A74C0A.0.UNREACH_ALARM existiert nicht.
                javascript.1	2020-08-06 13:49:12.615	info	(8300) script.js.CCU_Servicemeldungen: Keine Geräte gefunden mit dem Datenpunkt LOW_BAT.
                javascript.1	2020-08-06 13:49:12.615	warn	(8300) script.js.CCU_Servicemeldungen: [Script wird gestoppt] Der Datenpunkt hm-rpc.0.000A98A9A74C0A.0.LOW_BAT_ALARM existiert nicht.
                javascript.1	2020-08-06 13:49:12.615	info	(8300) script.js.CCU_Servicemeldungen: Es gibt: 24 Geräte mit dem Datenpunkt LOWBAT.
                javascript.1	2020-08-06 13:49:12.608	info	(8300) script.js.CCU_Servicemeldungen: Script manuell gestartet. (Version: 1.73)
                javascript.1	2020-08-06 13:49:08.691	info	(8300) Start javascript script.js.CCU_Servicemeldungen
                

                ich habe aber unter hm-rpc.0. diese Geräte gar nicht aufgeführt. Hab auch schon alles gestoppt, gelöscht und wieder neu gestartet. Trotzdem diese Meldung

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

                  @Kuddel UNREACH ist nicht relevant. Relevant ist UNREACH_ALARM und der steht auf bestätigt...

                  1 Reply Last reply Reply Quote 1
                  • H
                    Hoss0305 @cash last edited by

                    @cash
                    Hallo,
                    ich habe im Script die Zeile 98 auf true geändert und dann das Script neu gestartet. Leider wurden daraufhin keine Datenpunkte im Log aufgezeichnet. Was könnte ich falsch machen?
                    Grüße

                    H 1 Reply Last reply Reply Quote 0
                    • H
                      Hoss0305 @Hoss0305 last edited by

                      @cash
                      Ich habe gerade mal den Status des vorhandenen Datenpunktes geprüft. Der Datenpunkt ist in den Objekten vorhanden und hat den Status:
                      Screenshot (21).png
                      Hier auch noch mal die Parameter des Servicemeldung-Scripts:
                      Screenshot (20).png

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

                        @Nordischerjung Homematic oder Homematic-IP? Hast Du mal die javascript Instanz gestopt und gestartet?

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

                          @Hoss0305 Irgend etwas muss im log auftauchen... Das will ich sehen.

                          Den Datenpunkt gibt es aber der ist bestätigt d. h. aktuell keine Servicemeldung

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

                            @cash
                            Hallo,
                            habe soeben den ioBroker / Pi neu gestartet und dann auch das Servicemeldung-Script neu gestartet. Anschließend nachfolgende 3 Zeilen im Log aufgetaucht, nicht mehr.
                            Screenshot (28).png

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

                              @Hoss0305 Das kann quasi nicht sein. Außer Du hast Zeile 95 auf false? Die sollte immer true sein...

                              Zeile 103 sollte auch auf true stehen und in diesem Fall bitte Zeile 96 und 98 auf true ändern. Danach muss das log geflutet werden. Wie aber schon geschrieben der Datenpunkt sagt "keine Servicemeldung" für das Gerät vorhanden...

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

                                @cash
                                Moin,

                                ich habe beides, aber die .0 ist Homematic. Ich habe schon mehrfach neu gestartet. Das komische ist ja auch, das es diese Homematic Geräte gar nicht gibt.

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

                                  @Nordischerjung Von dem Namen sind es IP Geräte. Ist der Rega-Adapter richtig eingerichet? Hast Du mal die Javascript Instanzen gestoppt und gestartet also nicht den kompletten ioBroker? Ansonsten habe ich keine Idee. Ich hatte solche Probleme einfach noch nicht. GGf sonsitge Fehler in einer der Instanzen oder Caching Probleme.

                                  afuerhoff N 2 Replies Last reply Reply Quote 0
                                  • afuerhoff
                                    afuerhoff Developer @cash last edited by

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

                                    @Nordischerjung Von dem Namen sind es IP Geräte. Ist der Rega-Adapter richtig eingerichet? Hast Du mal die Javascript Instanzen gestoppt und gestartet also nicht den kompletten ioBroker? Ansonsten habe ich keine Idee. Ich hatte solche Probleme einfach noch nicht. GGf sonsitge Fehler in einer der Instanzen oder Caching Probleme.

                                    Hallo, ich hatte das mal bei einem eigenen Script. Da waren solche IP-Geräte auch falsch aufgelistet. Ich hab die Objekte einfach gelöscht. Wurden auch nicht wieder angelegt.

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

                                      @cash @afuerhoff

                                      So, ich habe jetzt die Instanzen hm-rpc.0 (Homematic Geräte) und hm-rpc.2 (Homematic IP Geräte) einfach mal die Geräte neu einlesen lassen (Dort ✖ Geräte neu einlesen (einmalig), die JS Instanz neu gestartet und die hm-rega neu gestartet. Jetzt scheint es zu laufen. Ich denke das Neu einlesen war es, da es das Einzige war, was ich noch nicht gemacht hatte.

                                      A 1 Reply Last reply Reply Quote 0
                                      • A
                                        Aiouh @Nordischerjung last edited by Aiouh

                                        @cash
                                        Hallo,
                                        zuerst mal großes Lob und Danke für die Arbeit !
                                        ich hab das script installiert und es funktioniert grundsätzlich, siehe unten

                                        Mein Pushover mit einer Instanz ist eingerichtet, Die test Notification aus der Instanz funktioniert, ich bekomme aber keine Nachrichten vom Script, dasselbe passiert bei e-mail - Test funktioniert, aus dem Script kommt Nichts 😞
                                        Bin dankbar für jeden Tip
                                        Karl-Heinz

                                        function send_pushover_V4 (_device, _message, _titel, _prio) {
                                                var pushover_Instanz =  'pushover.0';
                                                sendTo(pushover_Instanz, { 
                                                device: _device,
                                                message: _message, 
                                                title: _titel, 
                                                priority: _prio,
                                                retry: 60,
                                                expire: 600,
                                                html: 1
                                            }); 
                                        }
                                        

                                        60bc6509-62c9-48d4-bb00-429214da3327-grafik.png

                                        //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.Eigene_Datenpunkte.hm_servicemeldung';  // 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.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 = 'galaxya40';         //Welches Gerät soll die Nachricht bekommen
                                        //let _device = 'All'; 
                                        let _device = 'galaxya40'; 
                                        
                                        //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 = true;            //true = verschickt per email Nachrchten // false = email wird nicht benutzt
                                        
                                        javascript.0	2020-09-18 13:18:28.447	info	(28977) script.js.common.Servicemeldungen: Es werden: 207 Datenpunkte überwacht. Derzeit: 2 Servicemeldung(en).
                                        javascript.0	2020-09-18 13:18:25.446	info	(28977) script.js.common.Servicemeldungen: registered 0 subscriptions and 0 schedules
                                        javascript.0	2020-09-18 13:18:25.445	info	(28977) script.js.common.Servicemeldungen: Es gibt: 27 Geräte mit dem Datenpunkt UPDATE_PENDING.
                                        javascript.0	2020-09-18 13:18:25.440	info	(28977) script.js.common.Servicemeldungen: Es gibt: 37 Geräte mit dem Datenpunkt CONFIG_PENDING.
                                        javascript.0	2020-09-18 13:18:25.434	info	(28977) script.js.common.Servicemeldungen: Es gibt: 27 Geräte mit dem Datenpunkt DEVICE_IN_BOOTLOADER.
                                        javascript.0	2020-09-18 13:18:25.428	info	(28977) script.js.common.Servicemeldungen: Es gibt: 8 Geräte mit dem Datenpunkt FAULT_REPORTING.
                                        javascript.0	2020-09-18 13:18:25.416	info	(28977) script.js.common.Servicemeldungen: Keine Geräte gefunden mit dem Datenpunkt ERROR_NON_FLAT_POSITIONING.
                                        javascript.0	2020-09-18 13:18:25.416	info	(28977) script.js.common.Servicemeldungen: Es gibt: 6 Geräte mit dem Datenpunkt ERROR.
                                        javascript.0	2020-09-18 13:18:25.415	info	(28977) script.js.common.Servicemeldungen: Keine Geräte gefunden mit dem Datenpunkt SABOTAGE.
                                        javascript.0	2020-09-18 13:18:25.415	info	(28977) script.js.common.Servicemeldungen: Es gibt: 37 Geräte mit dem Datenpunkt STICKY_UNREACH.
                                        javascript.0	2020-09-18 13:18:25.397	info	(28977) script.js.common.Servicemeldungen: Es gibt: 37 Geräte mit dem Datenpunkt UNREACH_ALARM. Derzeit: 2 Servicemeldung(en).
                                        javascript.0	2020-09-18 13:18:25.391	info	(28977) script.js.common.Servicemeldungen: Keine Geräte gefunden mit dem Datenpunkt LOW_BAT.
                                        javascript.0	2020-09-18 13:18:25.390	info	(28977) script.js.common.Servicemeldungen: Es gibt: 28 Geräte mit dem Datenpunkt LOWBAT.
                                        javascript.0	2020-09-18 13:18:25.381	info	(28977) script.js.common.Servicemeldungen: Script manuell gestartet. (Version: 1.73)
                                        
                                        cash 1 Reply Last reply Reply Quote 0
                                        • cash
                                          cash Most Active @Aiouh last edited by

                                          @Aiouh Wie im Log zu sehen werden bei Dir 207 Datenpunkte überwacht. Du brauchst also nichts machen. Sobald einer dieser 207 Datenpunkte sich ändert bekommst Du eine Push.

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

                                            @cash
                                            Hallo, nur nochmal für den Dummie ;o... bekomme ich bei einer Servicemeldung keine push? Denn darauf warte ich seit Stunden. Habe mehrfach einfach Batterien aus einem Thermostat entfernt. Die Servicemeldung wird erkannt, in meinen Datenpunkt für Servicemeldungen geschrieben und in der VIS angezeigt, pushover und e-mail bleiben aber stumm.
                                            (Die zyklische Ausführung muss ich per cron machen nehm ich an !?)

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            933
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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