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

      @Hoss0305 Zeile 98 auf true ändern. Im Log siehst Du nun jeden Datenpunkt der überwacht wird. Ist das Gerät mit der Batterie dabei liegt das Problem an Pushover/ Telegram. Wenn nicht liegt es an Deiner ioBroker Installation. Dann bitte mal prüfen ob das Gerät in der Objekte-Liste den Datenpunkt LOWBAT_ALARM hat und welchen Status das Objekt hat.

      K H 2 Replies Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            465
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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