Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Servicemeldungen - All inclusive für Homematic -

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    770

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

Servicemeldungen - All inclusive für Homematic -

Scheduled Pinned Locked Moved JavaScript
javascript
1.0k Posts 93 Posters 345.7k Views 102 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • cashC cash

    @kuddel @Röstkartoffel

    
    //Ab hier eigentliches Script
    const SelectorLOWBAT  = $('channel[state.id=hm-rpc.*.0.LOWBAT_ALARM$]');
    const SelectorLOW_BAT  = $('channel[state.id=hm-rpc.*.0.LOW_BAT_ALARM$]');
    const SelectorUNREACH  = $('channel[state.id=hm-rpc.*.0.UNREACH_ALARM$]');
    const SelectorSTICKY_UNREACH  = $('channel[state.id=hm-rpc.*.0.STICKY_UNREACH_ALARM$]');
    const SelectorCONFIG_PENDING  = $('channel[state.id=hm-rpc.*.0.CONFIG_PENDING_ALARM$]');
    const SelectorUPDATE_PENDING  = $('channel[state.id=hm-rpc.*.0.UPDATE_PENDING_ALARM$]');
    const SelectorDEVICE_IN_BOOTLOADER  = $('channel[state.id=hm-rpc.*.0.DEVICE_IN_BOOTLOADER_ALARM$]');
    const SelectorERROR  = $('channel[state.id=hm-rpc.*.1.ERROR$]');
    const SelectorERROR_CODE  = $('channel[state.id=hm-rpc.*.ERROR_CODE$]');
    const SelectorFAULT_REPORTING  = $('channel[state.id=hm-rpc.*.4.FAULT_REPORTING$]');
    const SelectorSABOTAGE  = $('channel[state.id=hm-rpc.*.0.SABOTAGE_ALARM$]');
    const SelectorERROR_NON_FLAT_POSITIONING = $('channel[state.id=hm-rpc.*.0.ERROR_NON_FLAT_POSITIONING_ALARM$]');
    
    

    Nehmt die aktuelle Version und ersetzt den Teil im Script. Sollte um die Zeile 170 vermutlich sein. Einfach nach Selector suchen. Wenn ich mich nicht täusche ist der einzige Unterschied das $ am Ende jeder Zeile. Das muss mit dem Beta Adapter raus und mit dem Stable rein.

    O Offline
    O Offline
    Odyseus
    wrote on last edited by
    #799

    hab das Script vor 2 Tagen gefunden und installiert. Super ! Läuft sehr gut. Danke für die klasse Arbeit! 👍 👍 👍

    In der Version 1.80 wird der DP id_IST_Gesamt nicht geschrieben.
    Im Script wird an 3 (Zeile 587, 1967, 2129) Stellen abgefragt, ob der DP existiert, hier hat sich wohl bei der letzten Änderung ein Bug eingeschlichen:
    alt: if(existsState(id_IST_Gesamt)) --> richtig: if(! existsState(id_IST_Gesamt))

    Für den Garagentortaster/Schaltaktor HmIP-WGC fehlt der Batterietyp, es sind 2xLR6/AA.

    Und noch eine Frage. Lassen sich die Push-Nachrichten auch an den Signal Messenger senden?

    cashC 1 Reply Last reply
    0
    • O Odyseus

      hab das Script vor 2 Tagen gefunden und installiert. Super ! Läuft sehr gut. Danke für die klasse Arbeit! 👍 👍 👍

      In der Version 1.80 wird der DP id_IST_Gesamt nicht geschrieben.
      Im Script wird an 3 (Zeile 587, 1967, 2129) Stellen abgefragt, ob der DP existiert, hier hat sich wohl bei der letzten Änderung ein Bug eingeschlichen:
      alt: if(existsState(id_IST_Gesamt)) --> richtig: if(! existsState(id_IST_Gesamt))

      Für den Garagentortaster/Schaltaktor HmIP-WGC fehlt der Batterietyp, es sind 2xLR6/AA.

      Und noch eine Frage. Lassen sich die Push-Nachrichten auch an den Signal Messenger senden?

      cashC Offline
      cashC Offline
      cash
      Most Active
      wrote on last edited by
      #800

      Werde ich mir beides angucken. Was ist denn der Signal Messenger?

      O 1 Reply Last reply
      0
      • cashC cash

        Werde ich mir beides angucken. Was ist denn der Signal Messenger?

        O Offline
        O Offline
        Odyseus
        wrote on last edited by Odyseus
        #801

        @cash Signal ist ähnlich wie Whatsapp jedoch ohne FB im Hintergrund.
        Es gibt dazu schon Diskussionen aber wohl noch keine Lösungen. Vielleicht muss man dazu noch etwas warten.
        https://forum.iobroker.net/topic/31675/iobroker-und-signal-messenger?_=1612105438984

        cashC 1 Reply Last reply
        0
        • O Odyseus

          @cash Signal ist ähnlich wie Whatsapp jedoch ohne FB im Hintergrund.
          Es gibt dazu schon Diskussionen aber wohl noch keine Lösungen. Vielleicht muss man dazu noch etwas warten.
          https://forum.iobroker.net/topic/31675/iobroker-und-signal-messenger?_=1612105438984

          cashC Offline
          cashC Offline
          cash
          Most Active
          wrote on last edited by
          #802

          @odyseus Habe die Änderungen eingepflegt. Für den Messenger sollte dann mal jemand einen Adapter basteln danach kann man darüber nachdenken.

          1 Reply Last reply
          0
          • cashC cash

            @kuddel @Röstkartoffel

            
            //Ab hier eigentliches Script
            const SelectorLOWBAT  = $('channel[state.id=hm-rpc.*.0.LOWBAT_ALARM$]');
            const SelectorLOW_BAT  = $('channel[state.id=hm-rpc.*.0.LOW_BAT_ALARM$]');
            const SelectorUNREACH  = $('channel[state.id=hm-rpc.*.0.UNREACH_ALARM$]');
            const SelectorSTICKY_UNREACH  = $('channel[state.id=hm-rpc.*.0.STICKY_UNREACH_ALARM$]');
            const SelectorCONFIG_PENDING  = $('channel[state.id=hm-rpc.*.0.CONFIG_PENDING_ALARM$]');
            const SelectorUPDATE_PENDING  = $('channel[state.id=hm-rpc.*.0.UPDATE_PENDING_ALARM$]');
            const SelectorDEVICE_IN_BOOTLOADER  = $('channel[state.id=hm-rpc.*.0.DEVICE_IN_BOOTLOADER_ALARM$]');
            const SelectorERROR  = $('channel[state.id=hm-rpc.*.1.ERROR$]');
            const SelectorERROR_CODE  = $('channel[state.id=hm-rpc.*.ERROR_CODE$]');
            const SelectorFAULT_REPORTING  = $('channel[state.id=hm-rpc.*.4.FAULT_REPORTING$]');
            const SelectorSABOTAGE  = $('channel[state.id=hm-rpc.*.0.SABOTAGE_ALARM$]');
            const SelectorERROR_NON_FLAT_POSITIONING = $('channel[state.id=hm-rpc.*.0.ERROR_NON_FLAT_POSITIONING_ALARM$]');
            
            

            Nehmt die aktuelle Version und ersetzt den Teil im Script. Sollte um die Zeile 170 vermutlich sein. Einfach nach Selector suchen. Wenn ich mich nicht täusche ist der einzige Unterschied das $ am Ende jeder Zeile. Das muss mit dem Beta Adapter raus und mit dem Stable rein.

            K Offline
            K Offline
            Kuddel
            wrote on last edited by Kuddel
            #803

            @cash habe den Teil aus Version 1.70 eingefügt.

            Es sieht auf jeden Fall schon besser aus:

            0846b1a1-5da5-45ad-b8aa-62f782c4dbc3-grafik.png

            1aa0281c-7388-441a-9cf7-1b9b28444d36-grafik.png

            Bleiben noch zwei Fragen:

            1. Kann ich die Seriennummer enfernen, sodass nur der Gerätename und der Fehler angezeigt wird?
            2. Die Anzahl der Meldungen ist 0 und nicht 3

            9be9496e-d776-44a5-9ab9-9c125e166500-grafik.png

            const id_IST_Gesamt = "javascript.0.HM-Servicemeldungen.Anzahl"/*Anzahl_GESAMT*/;
            
            cashC 1 Reply Last reply
            0
            • K Kuddel

              @cash habe den Teil aus Version 1.70 eingefügt.

              Es sieht auf jeden Fall schon besser aus:

              0846b1a1-5da5-45ad-b8aa-62f782c4dbc3-grafik.png

              1aa0281c-7388-441a-9cf7-1b9b28444d36-grafik.png

              Bleiben noch zwei Fragen:

              1. Kann ich die Seriennummer enfernen, sodass nur der Gerätename und der Fehler angezeigt wird?
              2. Die Anzahl der Meldungen ist 0 und nicht 3

              9be9496e-d776-44a5-9ab9-9c125e166500-grafik.png

              const id_IST_Gesamt = "javascript.0.HM-Servicemeldungen.Anzahl"/*Anzahl_GESAMT*/;
              
              cashC Offline
              cashC Offline
              cash
              Most Active
              wrote on last edited by
              #804

              @kuddel Bitte aktuelle Version nutzen und wieder die Sachen ändern. Anzahl der Meldungen war ein Fehler enthalten.

              Die Seriennummer kannst Du entfernen. Habe ich hier im Thread schon einmal geschrieben. Bitte mal selber suchen

              K N 2 Replies Last reply
              0
              • cashC cash

                @kuddel Bitte aktuelle Version nutzen und wieder die Sachen ändern. Anzahl der Meldungen war ein Fehler enthalten.

                Die Seriennummer kannst Du entfernen. Habe ich hier im Thread schon einmal geschrieben. Bitte mal selber suchen

                K Offline
                K Offline
                Kuddel
                wrote on last edited by Kuddel
                #805

                @cash ich habe Version 1.80 kopiert und dort wie von dir Vorgeschlagen Zeile 172 bis 184 ausgetauscht. Damit funktioniert die Anzeige.

                In wie weit ich damit die Berechnung der Anzahl verändert habe, kann ich natürlich nicht beurteilen.

                Bzgl. der Seriennummer schaue ich mal. Danke für den Hinweis.

                EDIT:

                [DEBUG] Feld id_IST_Gesamt nicht ausgewählt
                
                const id_IST_Gesamt = 'javascript.0.HM-Servicemeldungen.Anzahl_Gesamt';
                

                6ee26e78-8851-499e-ba26-d07ecba3156c-grafik.png

                1 Reply Last reply
                0
                • cashC cash

                  @kuddel Bitte aktuelle Version nutzen und wieder die Sachen ändern. Anzahl der Meldungen war ein Fehler enthalten.

                  Die Seriennummer kannst Du entfernen. Habe ich hier im Thread schon einmal geschrieben. Bitte mal selber suchen

                  N Offline
                  N Offline
                  Nordischerjung
                  wrote on last edited by
                  #806

                  @cash

                  Moin,

                  ich hab die neue Version 1.82 drauf. Habe alle Geräte neu eingelesen im Homematic Adapter und bekomme folgenden Meldungen nach dem Start des Sripts

                  javascript.1	2021-02-02 10:47:14.199	error	(12724) at Script.runInContext (vm.js:130:18)
                  javascript.1	2021-02-02 10:47:14.199	error	(12724) at script.js.CCU_Servicemeldungen:2193:3
                  javascript.1	2021-02-02 10:47:14.199	error	(12724) at script.js.CCU_Servicemeldungen:2190:5
                  javascript.1	2021-02-02 10:47:14.199	error	(12724) at Servicemeldung (script.js.CCU_Servicemeldungen:1738:28)
                  javascript.1	2021-02-02 10:47:14.199	error	(12724) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:801:29)
                  javascript.1	2021-02-02 10:47:14.198	error	(12724) at script.js.CCU_Servicemeldungen:1739:74
                  javascript.1	2021-02-02 10:47:14.197	error	(12724) script.js.CCU_Servicemeldungen: TypeError: Cannot read property 'common' of null
                  javascript.1	2021-02-02 10:47:14.192	info	(12724) script.js.CCU_Servicemeldungen: registered 200 subscriptions and 0 schedules
                  javascript.1	2021-02-02 10:47:14.191	warn	(12724) Object "hm-rpc.0.OEQ1829176" does not exist
                  javascript.1	2021-02-02 10:47:14.189	info	(12724) script.js.CCU_Servicemeldungen: Es gibt: 14 Geräte mit dem Datenpunkt DEVICE_IN_BOOTLOADER.
                  javascript.1	2021-02-02 10:47:14.186	info	(12724) script.js.CCU_Servicemeldungen: Es gibt: 5 Geräte mit dem Datenpunkt FAULT_REPORTING.
                  javascript.1	2021-02-02 10:47:14.184	info	(12724) script.js.CCU_Servicemeldungen: Es gibt: 1 Geräte mit dem Datenpunkt ERROR_NON_FLAT_POSITIONING.
                  javascript.1	2021-02-02 10:47:14.183	info	(12724) script.js.CCU_Servicemeldungen: Es gibt: 3 Geräte mit dem Datenpunkt ERROR.
                  javascript.1	2021-02-02 10:47:14.181	info	(12724) script.js.CCU_Servicemeldungen: Es gibt: 5 Geräte mit dem Datenpunkt SABOTAGE.
                  javascript.1	2021-02-02 10:47:14.179	info	(12724) script.js.CCU_Servicemeldungen: Es gibt: 7 Geräte mit dem Datenpunkt STICKY_UNREACH_ALARM. Derzeit: 1 Servicemeldung(en).
                  javascript.1	2021-02-02 10:47:14.179	warn	(12724) script.js.CCU_Servicemeldungen: [Script wird gestoppt] Der Datenpunkt hm-rpc.0.OEQ1829176.0.STICKY_UNREACH_ALARM existiert nicht.
                  javascript.1	2021-02-02 10:47:14.176	info	(12724) script.js.CCU_Servicemeldungen: Es gibt: 7 Geräte mit dem Datenpunkt UNREACH_ALARM. Derzeit: 1 Servicemeldung(en).
                  javascript.1	2021-02-02 10:47:14.175	warn	(12724) script.js.CCU_Servicemeldungen: [Script wird gestoppt] Der Datenpunkt hm-rpc.0.OEQ1829176.0.UNREACH_ALARM existiert nicht.
                  javascript.1	2021-02-02 10:47:14.173	info	(12724) script.js.CCU_Servicemeldungen: Es gibt: 17 Geräte mit dem Datenpunkt LOW_BAT.
                  javascript.1	2021-02-02 10:47:14.166	info	(12724) script.js.CCU_Servicemeldungen: Es gibt: 6 Geräte mit dem Datenpunkt LOWBAT.
                  javascript.1	2021-02-02 10:47:14.166	warn	(12724) script.js.CCU_Servicemeldungen: [Script wird gestoppt] Der Datenpunkt hm-rpc.0.OEQ1829176.0.LOWBAT_ALARM existiert nicht.
                  javascript.1	2021-02-02 10:47:14.161	info	(12724) script.js.CCU_Servicemeldungen: Script manuell gestartet. (Version: 1.82)
                  javascript.1	2021-02-02 10:47:10.953	info	(12724) Start javascript script.js.CCU_Servicemeldungen
                  

                  Das komische ist, diese Geräte hm-rpc.0.OEQ1829176 zB gibt es gar nicht bei mir in hm-rpc.0 .
                  Übersehe ich da etwas?

                  Gruß Nordischerjung

                  sonnige Grüße von der Ostsee

                  cashC 1 Reply Last reply
                  0
                  • cashC cash

                    Hallo zusammen. Wie dem einen oder anderen aufgefallen ist wurde in der letzten Zeit fleißig u. a. von foxriver76 an den Homematic-Adaptern gearbeitet. U. a. wurde dort für mich die Grundlage geschaffen eins der letzten ccu-Programme auf ioBroker zu migrieren.

                    Ich habe ein Script geschrieben welches nahezu alle Servicemeldungen der ccu loggt bzw per Pushover mir zuschickt. Da ich zwar mittlerweile Javascript halbwegs verstehe habe ich diverse Scriptschnipsel aus dem Forum benutzt (u.a. von paul53 und pix) und entsprechend modifiziert bzw erweitertet. Die Scriptprofis werden bestimmt an der ein oder anderen Stelle sich die Haare raufen aber das Script funktioniert bei mir :mrgreen:

                    Vorlage des Scripts ist das bekannte Allinclusive Script von Alchy aus dem Homematic Forum.

                    Wichtig war mir das ich z. B. nicht nur die Meldung bekomme welches Gerät ein Problem hat sondern auch was und z. B. bei Batteriewarnungen mir auch die passende Batterie mitteilt.

                    Nun habe ich mir gedacht das mein Script den ein oder anderen auch nutzen würde. Deshalb stelle ich es hier öffentlich.

                    Noch ist es nicht ganz fertig und vor dem Einsatz solltet Ihr das ein oder andere beachten:

                    Als erstes eine kurze Konfiguration:

                    var logging = true;
                    var debugging = true;
                    var sendpush = true;
                    var autoAck = false;             //Löschen bestätigbarer Kommunikationsstörungen (true = an, false = aus)
                    >! var observation = false;        //Dauerhafte Überwachung der Geräte auf Servicemeldungen aktiv (true = aktiv // false =inaktiv)
                    var onetime = true;             //Prüft nur beim Start ob derzeit Geräte eine Servicemeldung haben
                    >! //pro Fehlertyp kann eine andere Prio genutzt werden
                    var prio_LOWBAT = 0;
                    var prio_UNREACH = 0;
                    var prio_STICKY_UNREACH = 0;
                    var prio_CONFIG_PENDING = 0;
                    var prio_UPDATE_PENDING = 0;
                    var prio_DEVICE_IN_BOOTLOADER = 0;
                    var prio_ERROR = 0;
                    var prio_FAULT_REPORTING = 0;
                    var prio_SABOTAGE= 0;
                    >! var _prio;
                    var _titel;
                    var _message;
                    var _device = 'TPhone'; 
                    //var _device = 'All';  
                    

                    logging sollte immer auf true bleiben. Debugging bitte beim testen auf true stellen. sendpush auf false falls Ihr kein Pushover habt.

                    autoACK bestätigt die Servicemeldungen STICKY_UNREACHDort

                    Falls Ihr Pushover nutzt könnt Ihr die Prio verändern und das device angeben.

                    Ich habe bei mir 4 Pushover-Instanzen installiert. Je nach Prio wird die eine oder andere Instanz benutzt. Somit habe ich je nach Prio unterschiedliche Icons:

                    ! 1407_pushover.png

                    Wer das nicht hat muss die Funktion send_pushover_V4 anpassen:

                    Einfach im Script nach "function send_pushover_V4" suchen. Das ganze so anpassen wie in der Datei:
                    "Anpassung Pushover bei nur einer Instanz.js" auf GitHub.

                    Vor dem richtigen Einsatz solltet Ihr etwas testen. Dazu die Variable "onetime" auf true und "oberservation" auf false. Das Script Speichern und einmal im Log nachschauen. Dort solltet Ihr dann z. B sowas sehen:

                    2019-02-01 15:04:47.597 - info: javascript.0 Stop script script.js.Entwicklung.Servicemeldungen
                    2019-02-01 18:04:47.600 - info: javascript.2 Stop script script.js.Entwicklung.Servicemeldungen
                    2019-02-01 18:04:47.603 - info: javascript.1 Stop script script.js.Entwicklung.Servicemeldungen
                    2019-02-01 18:04:47.635 - info: javascript.0 Start javascript script.js.Entwicklung.Servicemeldungen
                    2019-02-01 18:04:47.923 - info: javascript.0 script.js.Entwicklung.Servicemeldungen: Ausgelöst durch Scriptneustart.
                    2019-02-01 18:04:47.924 - info: javascript.0 script.js.Entwicklung.Servicemeldungen: Geräte Nr. 0: Serien-Nr. MEQ0807489 --- Name: Schlafzimmer Heizthermostat --- HM-CC-RT-DN --- Typ: FAULT_REPORTING --- Status: 0 keine Störung --- seit: 03.06.18 16:19:10 Uhr
                    2019-02-01 18:04:47.924 - info: javascript.0 script.js.Entwicklung.Servicemeldungen: Geräte Nr. 1: Serien-Nr. MEQ0807496 --- Name: Badezimmer Heizthermostat --- HM-CC-RT-DN --- Typ: FAULT_REPORTING --- Status: 0 keine Störung --- seit: 15.04.18 20:38:42 Uhr
                    2019-02-01 18:04:47.925 - info: javascript.0 script.js.Entwicklung.Servicemeldungen: Geräte Nr. 2: Serien-Nr. MEQ1551845 --- Name: Küche Heizthermostat --- HM-CC-RT-DN --- Typ: FAULT_REPORTING --- Status: 0 keine Störung --- seit: 26.10.18 02:38:54 Uhr
                    2019-02-01 18:04:47.925 - info: javascript.0 script.js.Entwicklung.Servicemeldungen: Geräte Nr. 3: Serien-Nr. MEQ1551869 --- Name: Wohnzimmer Heizthermostat --- HM-CC-RT-DN --- Typ: FAULT_REPORTING --- Status: 0 keine Störung --- seit: 23.09.18 09:39:27 Uhr
                    2019-02-01 18:04:47.925 - info: javascript.0 script.js.Entwicklung.Servicemeldungen: Geräte Nr. 4: Serien-Nr. OEQ1254780 --- Name: Kinderzimmer Heizthermostat --- HM-CC-RT-DN --- Typ: FAULT_REPORTING --- Status: 0 keine Störung --- seit: 07.04.18 20:41:47 Uhr
                    2019-02-01 18:04:47.925 - info: javascript.0 script.js.Entwicklung.Servicemeldungen: Geräte Nr. 5: Serien-Nr. OEQ2637053 --- Name: Gäste WC Heizthermostat --- HM-CC-RT-DN --- Typ: FAULT_REPORTING --- Status: 0 keine Störung --- seit: 18.12.18 18:40:44 Uhr
                    2019-02-01 18:04:47.926 - info: javascript.0 script.js.Entwicklung.Servicemeldungen: registered 0 subscriptions and 0 schedules
                    2019-02-01 18:04:51.885 - info: cloud.0 User disconnected from cloud
                    

                    Dort sollten also alle Gerät auftauchen die den entsprechenden Fehler haben können und wenn es gut läuft sollte überall der Status 0 sein. Wenn dort etwas komisch ist bitte hier posten. Bei dem Typ LOWBAT und LOW_BAT sollte auch die benötigte Batterie angezeigt werden. Falls dort etwas fehlt bitte ebenfalls melden. Ich würde es dann nachpflegen.

                    Wenn ich alle Bereiche getestet habt und das Log sah immer richtig aus dann "debugging" und "onetime" auf false und "oberservation" auf true. Danach solltet Ihr immer eine Pushnachricht bekommen wenn ein Homematic Gerät ein Problem hat.

                    Sowohl bei meinen Tests als auch bei richtigen Meldungen wurde ich bisher immer zuverlässig informiert.

                    Test könnt Ihr indem Ihr einfach einen Fehlertyp auf 1 setzt. Einfach in den OBJEKTEN z. B. nach LOWBAT_ALARM suchen und dort den Wert 0 oder 2 durch 1 ersetzen. Damit wird das Script ausgeführt. Da man keinen Fehler auf die ccm schreiben kann wird der Status ziemlich schnell wieder auf den ursprünglichen Eintrag geändert. Auch dadurch wird das Script ausgeführt. Im Log sollte dazu auch ein Eintrag auftauchen.

                    ! 1407_pushover-meldung.png

                    Natürlich gibt es Einschränkungen. Damit Ihr dieses Script nutzen könnt müsst Ihr min. die Versionen 2.2.1 der Homematic Rega bzw die Version 1.9.5 der Homematic RPC Instanz installiert haben.

                    Das Script nutzt Ihr auf eigenes Risiko. Ihr könnt mir auch gerne Verbesserungsvorschläge hier posten. Je nach Lust und Laune setze ich die dann um sofern ich das kann. Die Script Profis dürfen mir auch gerne Verbesserungsvorschläge schicken :mrgreen:

                    Das Script ist auf GitHub zu finden:

                    Link

                    K Offline
                    K Offline
                    Kuddel
                    wrote on last edited by
                    #807

                    @cash hatte nicht gesehen, dass schon Version 1.82 gibt.

                    Habe das Skript jetzt genommen, alle meine DPs hinterlegt und den Block aus Version 1.70 genommen.

                    Jetzt funktioniert alles.

                    Vielen Dank an dieser Stelle für deine Arbeit und dein Skript.

                    1 Reply Last reply
                    0
                    • N Nordischerjung

                      @cash

                      Moin,

                      ich hab die neue Version 1.82 drauf. Habe alle Geräte neu eingelesen im Homematic Adapter und bekomme folgenden Meldungen nach dem Start des Sripts

                      javascript.1	2021-02-02 10:47:14.199	error	(12724) at Script.runInContext (vm.js:130:18)
                      javascript.1	2021-02-02 10:47:14.199	error	(12724) at script.js.CCU_Servicemeldungen:2193:3
                      javascript.1	2021-02-02 10:47:14.199	error	(12724) at script.js.CCU_Servicemeldungen:2190:5
                      javascript.1	2021-02-02 10:47:14.199	error	(12724) at Servicemeldung (script.js.CCU_Servicemeldungen:1738:28)
                      javascript.1	2021-02-02 10:47:14.199	error	(12724) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:801:29)
                      javascript.1	2021-02-02 10:47:14.198	error	(12724) at script.js.CCU_Servicemeldungen:1739:74
                      javascript.1	2021-02-02 10:47:14.197	error	(12724) script.js.CCU_Servicemeldungen: TypeError: Cannot read property 'common' of null
                      javascript.1	2021-02-02 10:47:14.192	info	(12724) script.js.CCU_Servicemeldungen: registered 200 subscriptions and 0 schedules
                      javascript.1	2021-02-02 10:47:14.191	warn	(12724) Object "hm-rpc.0.OEQ1829176" does not exist
                      javascript.1	2021-02-02 10:47:14.189	info	(12724) script.js.CCU_Servicemeldungen: Es gibt: 14 Geräte mit dem Datenpunkt DEVICE_IN_BOOTLOADER.
                      javascript.1	2021-02-02 10:47:14.186	info	(12724) script.js.CCU_Servicemeldungen: Es gibt: 5 Geräte mit dem Datenpunkt FAULT_REPORTING.
                      javascript.1	2021-02-02 10:47:14.184	info	(12724) script.js.CCU_Servicemeldungen: Es gibt: 1 Geräte mit dem Datenpunkt ERROR_NON_FLAT_POSITIONING.
                      javascript.1	2021-02-02 10:47:14.183	info	(12724) script.js.CCU_Servicemeldungen: Es gibt: 3 Geräte mit dem Datenpunkt ERROR.
                      javascript.1	2021-02-02 10:47:14.181	info	(12724) script.js.CCU_Servicemeldungen: Es gibt: 5 Geräte mit dem Datenpunkt SABOTAGE.
                      javascript.1	2021-02-02 10:47:14.179	info	(12724) script.js.CCU_Servicemeldungen: Es gibt: 7 Geräte mit dem Datenpunkt STICKY_UNREACH_ALARM. Derzeit: 1 Servicemeldung(en).
                      javascript.1	2021-02-02 10:47:14.179	warn	(12724) script.js.CCU_Servicemeldungen: [Script wird gestoppt] Der Datenpunkt hm-rpc.0.OEQ1829176.0.STICKY_UNREACH_ALARM existiert nicht.
                      javascript.1	2021-02-02 10:47:14.176	info	(12724) script.js.CCU_Servicemeldungen: Es gibt: 7 Geräte mit dem Datenpunkt UNREACH_ALARM. Derzeit: 1 Servicemeldung(en).
                      javascript.1	2021-02-02 10:47:14.175	warn	(12724) script.js.CCU_Servicemeldungen: [Script wird gestoppt] Der Datenpunkt hm-rpc.0.OEQ1829176.0.UNREACH_ALARM existiert nicht.
                      javascript.1	2021-02-02 10:47:14.173	info	(12724) script.js.CCU_Servicemeldungen: Es gibt: 17 Geräte mit dem Datenpunkt LOW_BAT.
                      javascript.1	2021-02-02 10:47:14.166	info	(12724) script.js.CCU_Servicemeldungen: Es gibt: 6 Geräte mit dem Datenpunkt LOWBAT.
                      javascript.1	2021-02-02 10:47:14.166	warn	(12724) script.js.CCU_Servicemeldungen: [Script wird gestoppt] Der Datenpunkt hm-rpc.0.OEQ1829176.0.LOWBAT_ALARM existiert nicht.
                      javascript.1	2021-02-02 10:47:14.161	info	(12724) script.js.CCU_Servicemeldungen: Script manuell gestartet. (Version: 1.82)
                      javascript.1	2021-02-02 10:47:10.953	info	(12724) Start javascript script.js.CCU_Servicemeldungen
                      

                      Das komische ist, diese Geräte hm-rpc.0.OEQ1829176 zB gibt es gar nicht bei mir in hm-rpc.0 .
                      Übersehe ich da etwas?

                      cashC Offline
                      cashC Offline
                      cash
                      Most Active
                      wrote on last edited by
                      #808

                      @nordischerjung Bitte mal in dem Thread etwas zurück lesen da stehen lösungeswege.
                      Das Problem ist Deine Installation. Ggf. Neustarten gucken ob es geht. Alle entsprechenden Adapter stoppen incl Javascript. Alle Objekte der Adapter löschen und wieder starten. Danach sollte es spätestens gehen.

                      P 1 Reply Last reply
                      0
                      • cashC cash

                        @nordischerjung Bitte mal in dem Thread etwas zurück lesen da stehen lösungeswege.
                        Das Problem ist Deine Installation. Ggf. Neustarten gucken ob es geht. Alle entsprechenden Adapter stoppen incl Javascript. Alle Objekte der Adapter löschen und wieder starten. Danach sollte es spätestens gehen.

                        P Offline
                        P Offline
                        PrinzEisenherz1
                        wrote on last edited by
                        #809

                        Erstmal vielen Dank für das klasse Script. Leider klappt das mit der prio Steuerung aber nicht.
                        Wenn ich z.B. Sabotage auf 2 stelle dann erhalte ich es trotzdem auf prio 0.
                        ich habe 4 pushover Instanzen und die dementsprechend konfiguriert.
                        Wenn ich den Part send_pushover die pushover_instanz auf die für prio 2 stelle dann gehts.

                        Irgendwo ist da noch n Fehler

                        Intel-NUC mit ProxMox: ioBroker,SQL, logging Strom- Gas- u. Wasserzähler;10Zoll Tab im Flur für VIS; weiteres: Homematic CCU2, Homeduino, Kameras, selbstgebaute Wetterstation;

                        cashC 1 Reply Last reply
                        0
                        • P PrinzEisenherz1

                          Erstmal vielen Dank für das klasse Script. Leider klappt das mit der prio Steuerung aber nicht.
                          Wenn ich z.B. Sabotage auf 2 stelle dann erhalte ich es trotzdem auf prio 0.
                          ich habe 4 pushover Instanzen und die dementsprechend konfiguriert.
                          Wenn ich den Part send_pushover die pushover_instanz auf die für prio 2 stelle dann gehts.

                          Irgendwo ist da noch n Fehler

                          cashC Offline
                          cashC Offline
                          cash
                          Most Active
                          wrote on last edited by
                          #810

                          @prinzeisenherz1 Was steht in Deinen Script in den Zeilen 119-129 und in 141?

                          Er nimmt automatisch die höchste Prio aus diesen Einstellungen

                          P 1 Reply Last reply
                          0
                          • cashC cash

                            @prinzeisenherz1 Was steht in Deinen Script in den Zeilen 119-129 und in 141?

                            Er nimmt automatisch die höchste Prio aus diesen Einstellungen

                            P Offline
                            P Offline
                            PrinzEisenherz1
                            wrote on last edited by
                            #811

                            @cash Sorry für die Späte Anwort
                            Also in Zeile 119-129 steht

                            const prio_LOWBAT = 1;
                            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= 2;
                            const prio_ERROR_NON_FLAT_POSITIONING = 0;
                            

                            und in Zeile 141 steht

                            let h_prio = -2;              //nicht verändern die höchste Prio nach Fehlertyp wird verwendet
                            

                            Intel-NUC mit ProxMox: ioBroker,SQL, logging Strom- Gas- u. Wasserzähler;10Zoll Tab im Flur für VIS; weiteres: Homematic CCU2, Homeduino, Kameras, selbstgebaute Wetterstation;

                            cashC 1 Reply Last reply
                            0
                            • P PrinzEisenherz1

                              @cash Sorry für die Späte Anwort
                              Also in Zeile 119-129 steht

                              const prio_LOWBAT = 1;
                              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= 2;
                              const prio_ERROR_NON_FLAT_POSITIONING = 0;
                              

                              und in Zeile 141 steht

                              let h_prio = -2;              //nicht verändern die höchste Prio nach Fehlertyp wird verwendet
                              
                              cashC Offline
                              cashC Offline
                              cash
                              Most Active
                              wrote on last edited by
                              #812

                              @prinzeisenherz1 Wieviel Datenpunkte hast Du denn mit Sabotage? Stell mal den Error auf 2 und erstell dann eine Sabotage

                              P 1 Reply Last reply
                              0
                              • cashC cash

                                @prinzeisenherz1 Wieviel Datenpunkte hast Du denn mit Sabotage? Stell mal den Error auf 2 und erstell dann eine Sabotage

                                P Offline
                                P Offline
                                PrinzEisenherz1
                                wrote on last edited by PrinzEisenherz1
                                #813

                                @cash geht leider nicht. Wird mir immer an die erste Instanz geschickt (Priorität 0).
                                Ich habe das mit einem Drehgriffsensor getestet.
                                Im Log kommt dann folgende Meldung

                                script.js.Service.Servicemeldungen_all: Neue Servicemeldung: (LEQ0629432) --- HM-Sec-RHS--- Typ: ERROR --- Status: 7 Sabotage
                                

                                Also Sabotage wird erkannt. Ich habe im Bereich send_pushover mal ein log miteingebaut undda bekommt er die Priorität 0 zugeteilt.

                                function send_pushover (device, message, titel, prio) {
                                    log('Priorität : '+prio)
                                    //Version V4.01 vom 10.04.19
                                    let pushover_Instanz;
                                    if (prio === 0){pushover_Instanz =  pushover_Instanz0;}
                                    else if (prio == 1){pushover_Instanz =  pushover_Instanz1;}
                                    else if (prio == 2){pushover_Instanz =  pushover_Instanz2;}
                                    else {pushover_Instanz =  pushover_Instanz3;}
                                    sendTo(pushover_Instanz, { 
                                        device: device,
                                        message: message, 
                                        title: titel, 
                                        priority: prio,
                                        retry: 60,
                                        expire: 600,
                                        html: 1
                                    }); 
                                }
                                
                                script.js.Service.Servicemeldungen_all: Priorität : 0
                                

                                Er müsste doch eigentlich prio 2 erhalten

                                Intel-NUC mit ProxMox: ioBroker,SQL, logging Strom- Gas- u. Wasserzähler;10Zoll Tab im Flur für VIS; weiteres: Homematic CCU2, Homeduino, Kameras, selbstgebaute Wetterstation;

                                cashC 1 Reply Last reply
                                0
                                • P PrinzEisenherz1

                                  @cash geht leider nicht. Wird mir immer an die erste Instanz geschickt (Priorität 0).
                                  Ich habe das mit einem Drehgriffsensor getestet.
                                  Im Log kommt dann folgende Meldung

                                  script.js.Service.Servicemeldungen_all: Neue Servicemeldung: (LEQ0629432) --- HM-Sec-RHS--- Typ: ERROR --- Status: 7 Sabotage
                                  

                                  Also Sabotage wird erkannt. Ich habe im Bereich send_pushover mal ein log miteingebaut undda bekommt er die Priorität 0 zugeteilt.

                                  function send_pushover (device, message, titel, prio) {
                                      log('Priorität : '+prio)
                                      //Version V4.01 vom 10.04.19
                                      let pushover_Instanz;
                                      if (prio === 0){pushover_Instanz =  pushover_Instanz0;}
                                      else if (prio == 1){pushover_Instanz =  pushover_Instanz1;}
                                      else if (prio == 2){pushover_Instanz =  pushover_Instanz2;}
                                      else {pushover_Instanz =  pushover_Instanz3;}
                                      sendTo(pushover_Instanz, { 
                                          device: device,
                                          message: message, 
                                          title: titel, 
                                          priority: prio,
                                          retry: 60,
                                          expire: 600,
                                          html: 1
                                      }); 
                                  }
                                  
                                  script.js.Service.Servicemeldungen_all: Priorität : 0
                                  

                                  Er müsste doch eigentlich prio 2 erhalten

                                  cashC Offline
                                  cashC Offline
                                  cash
                                  Most Active
                                  wrote on last edited by
                                  #814

                                  @prinzeisenherz1 prio_Error auf 2 Stellen. Deine Sabotage ist keine Sabotage

                                  P 1 Reply Last reply
                                  0
                                  • cashC cash

                                    @prinzeisenherz1 prio_Error auf 2 Stellen. Deine Sabotage ist keine Sabotage

                                    P Offline
                                    P Offline
                                    PrinzEisenherz1
                                    wrote on last edited by
                                    #815

                                    @cash Die wird doch aber auch als Sabotage erkannt. Wenn ich doch den Batteriedeckel abziehe dann ist das doch eine Sabotage, oder?

                                    Intel-NUC mit ProxMox: ioBroker,SQL, logging Strom- Gas- u. Wasserzähler;10Zoll Tab im Flur für VIS; weiteres: Homematic CCU2, Homeduino, Kameras, selbstgebaute Wetterstation;

                                    cashC 1 Reply Last reply
                                    0
                                    • P PrinzEisenherz1

                                      @cash Die wird doch aber auch als Sabotage erkannt. Wenn ich doch den Batteriedeckel abziehe dann ist das doch eine Sabotage, oder?

                                      cashC Offline
                                      cashC Offline
                                      cash
                                      Most Active
                                      wrote on last edited by
                                      #816

                                      @prinzeisenherz1 Nein. Wenn Du das Script startest wird Du im Log feststellen das Du keine Sabotage Geräte hast... Ich meine das war früher anders. Bin mir nicht sicher. Das Script erkennt den Error und übersetzt ihn richtig mit Sabotage. Die Prio wird richtig übergeben. Alles andere ist für mich nicht so wichtig.

                                      1 Reply Last reply
                                      0
                                      • P Offline
                                        P Offline
                                        PrinzEisenherz1
                                        wrote on last edited by
                                        #817

                                        @cash alles klar. Danke, jetzt klappt es!

                                        Intel-NUC mit ProxMox: ioBroker,SQL, logging Strom- Gas- u. Wasserzähler;10Zoll Tab im Flur für VIS; weiteres: Homematic CCU2, Homeduino, Kameras, selbstgebaute Wetterstation;

                                        1 Reply Last reply
                                        0
                                        • J Offline
                                          J Offline
                                          JavaMafia
                                          wrote on last edited by
                                          #818

                                          Guten Abend,

                                          gibt es bei diesem Skript die Möglichkeit, dass die Servicemeldungen untereinander geschrieben werden?

                                          Habe auch schon die Zeile dazu gefunden, aber leider bekomme ich das nicht hin oder mache ich hier etwas falsch?

                                          setState(id_Text_Servicemeldung,('- ')servicemeldung.join('\n'));
                                          

                                          Würde es gerne so nutzen.

                                          cashC 1 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          305

                                          Online

                                          32.8k

                                          Users

                                          82.7k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe