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. [Vorlage] Servicemeldungen Volume2

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    21
    1
    788

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

[Vorlage] Servicemeldungen Volume2

Scheduled Pinned Locked Moved Skripten / Logik
224 Posts 14 Posters 44.9k Views 24 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.
  • L looxer01

    Hi,
    Das vorliegende Script logged Servicemeldungen von der CCU/AccessPoint/HCU-

    Für welche Umgebungen eignet sich das Skript?

    • CCU (bzw. Raspberry Pi-Ersatz)
    • CCU FUNK
    • CCU Wired
    • HMIP Access Point (Achtung: „GeraeteIDTrigger“ muss auf „true“ gesetzt sein)
    • HMIP HCU Cloud (Achtung: „GeraeteIDTrigger“ muss auf „true“ gesetzt sein)

    Es handelt sich dabei nicht um ein „entweder-oder“ – die Instanzen werden parallel überwacht.

    Was kann das Skript?

    • Überprüfung der Servicemeldungen: Das Skript prüft, ob Servicemeldungen vorliegen.
    • Speicherung der Servicemeldungen: Servicemeldungen werden in Lang- und Kurztexten (Text, JSON, HTML) gespeichert.
    • Zählung von Servicemeldungen: Es werden Zählungen nach Meldungsarten und insgesamt gespeichert.
    • Erstellung der erforderlichen Datenpunkte: Das Skript legt automatisch die notwendigen Datenpunkte an.
    • Reaktion auf Geräteänderungen: Es reagiert entweder auf Veränderungen auf Geräteebene (viele Subscriptions – z.B. 298 bei 80 Geräten) oder, standardmäßig, auf Veränderungen der Anzahl der in der CCU gemeldeten Servicemeldungen (1 Subscription)
    • Historie: Es wird eine Historie geführt, die auch zeigt, wann Servicemeldungen wieder aufgehoben wurden.
    • HMIP Access Point/HCU Support: Wenn der Access Point genutzt wird, muss auf die Geräte-ID getriggert werden (da der REGA-Datenpunkt fehlt).
    • Externe Log-Datei: Es kann ein externes Log im Excel-Format fortgeschrieben werden. Hierin werden alle Servicemeldungen langfristig fortgeschrieben
    • Heizungsgruppenmeldungen: Heizungsgruppenmeldungen sind standardmäßig deaktiviert. Sie können jedoch bei Bedarf aktiviert werden.
    • Servicemeldungen Bestätigung: Das Skript bestätigt auf Wunsch CCU Servicemeldungen.
    • Flexible Messaging Services: Es können email', 'whatsApp', 'Signal','Telegram', 'Pushover', 'Pushsafer oder auch SPRACHE zum versenden von Servicemeldungen eingestellt werden. Das Versenden kann per MessageType vereinbart werden.
    • Flexibles Tabellenwerk: Anpassungen für z.B. neue MessageTypes von Servicemeldungen bei neuen Geräten können ohne Programmierung im Tabellenwerk konfiguriert werden

    Einfache Nutzung: Das Skript ist sofort lauffähig, vorausgesetzt, die Instanzen (CCU etc.) sind korrekt eingerichtet.
    Das Skript arbeitet in der aktuellen Version stabil und zuverlässig.

    Zusätzliche Hinweise:

    In der Standardkonfiguration des Skripts werden 2 Subscriptions und 1 Schedule erstellt.
    Ich verwende das Skript mit einer Subscription auf Ebene Einzel-ID (Einstellung „GeraeteIDTrigger“). Bei dieser Konfiguration wird eine Warnung im Log angezeigt, wenn mehr als 100 Subscriptions von dem Servicemeldungs-Skript erstellt werden.
    Diese Grenze kann in den „Instanzen JavaScript“-Einstellungen angepasst werden. Für diesen Anwendungsfall sind keine Performance-Probleme zu erwarten.
    Channel Selector: Das Skript verwendet statische Channel-Selector. Das bedeutet, dass Änderungen an den Datenstrukturen durch die CCU (z.B. das Löschen oder Hinzufügen von Geräten) nicht bekannt sind, solange das Skript nicht neu gestartet wird.
    Falls Geräte hinzugefügt oder gelöscht werden, muss das Skript neu gestartet werden.

    und hier das Script:
    Servicemeldungen_Vol2_3-32.txt

    Dazu stelle ich zwei Views für VIS zur Verfügung:
    Screenshot 2025-01-24 211730.png
    Den View gibt es für das JSON Format also auch für das HTML Format. Beide sehen weitestgehend identisch aus

    1. JSON View: Diese View ist für die Darstellung der JSON-Datenpunkte gedacht. Die Datenpunkte sind auf „javascript.0....“ ausgerichtet, was ggf. angepasst werden muss. Die View kann in VIS über „view importieren“ geladen werden. Der Inventwo-Adapter muss installiert sein. Falls du VIS2 nutzt, empfiehlt sich momentan die HTML-Variante.
      View_SM_JSON.txt

    2. HTML View: Diese View zeigt die HTML-Datenpunkte an. Auch hier müssen die Datenpunkte ggf. angepasst werden. Die View kann ebenfalls in VIS über „view importieren“ geladen werden. Die verwendeten Widgets sind klassische ioBroker-Widgets und funktionieren sowohl in VIS1 als auch in VIS2.
      View_SM_HTML.txt

    Die Views enthalten einen Push-Button. Wenn der gedrückt wird, wird die Meldungshistorie ohne Nachfrage gelöscht

    Da das Skript bei niedrigem Batteriestand automatisch die erforderlichen Batterien überprüft, müssen die Geräte mit den Batterien in eine Liste eingetragen werden. Mit dem folgenden Script kannst du überprüfen, ob die Liste vollständig ist. Alle Geräte mit unbekannten Batterien werden aufgelistet. Du kannst mir diese Liste dann zur Verfügung stellen, und ich pflege sie gerne ein.
    hier das Checkscript:
    Batterie-Check-1-1.txt

    Zusätzlich stelle ich ein Tool zur Verfügung, das alle ioBroker-Subscriptions auflistet. Dies steht nicht direkt im Zusammenhang mit dem Servicemeldungsskript, ist aber hilfreich, um transparent zu sehen, was insgesamt abonniert wurde. Über eine Variable kann die Liste auch auf ein bestimmtes Skript eingeschränkt werden. Das Ergebnis kann in eine externe Datei geschrieben werden.
    Hier das script
    ListSubscriptions_1.0

    rantanplanR Online
    rantanplanR Online
    rantanplan
    wrote on last edited by
    #42

    @looxer01 Schönes Script!

    Es wäre noch gut, wenn man eine Messenger Instanz und einen Empfänger eintragen könnte.
    Ich habe es mit Telegram probiert und da bekommen alle eine Meldung.
    Oder habe ich etwas übersehen?

    Grüße

    Rantanplan

    CCU3 / MS Server 2019(VM) / Scripten mit Blockly

    L 1 Reply Last reply
    0
    • rantanplanR rantanplan

      @looxer01 Schönes Script!

      Es wäre noch gut, wenn man eine Messenger Instanz und einen Empfänger eintragen könnte.
      Ich habe es mit Telegram probiert und da bekommen alle eine Meldung.
      Oder habe ich etwas übersehen?

      Grüße

      L Offline
      L Offline
      looxer01
      wrote on last edited by
      #43

      @rantanplan
      Hi, bin gerade beruflich unterwegs.
      Anschauen kann ich mir das nächste Woche.
      Was meinst du mit , dass alle eine Meldung bekommen?

      Vg looxer

      rantanplanR QuarkmaxQ 2 Replies Last reply
      0
      • L looxer01

        @rantanplan
        Hi, bin gerade beruflich unterwegs.
        Anschauen kann ich mir das nächste Woche.
        Was meinst du mit , dass alle eine Meldung bekommen?

        Vg looxer

        rantanplanR Online
        rantanplanR Online
        rantanplan
        wrote on last edited by
        #44

        @looxer01 sagte in [Vorlage] Servicemeldungen Volume2:

        Was meinst du mit , dass alle eine Meldung bekommen?

        Hi, ich habe mehrere Telegram-Benutzer, die unterschiedliche Meldungen aus ioBroker bekommen.
        Die Servicemeldungen aus Deinem Script werden an alle Benutzer gesendet, die in der Instanz Telegram.0 eingetragen sind.

        Grüße

        Rantanplan

        CCU3 / MS Server 2019(VM) / Scripten mit Blockly

        1 Reply Last reply
        0
        • L looxer01

          @rantanplan
          Hi, bin gerade beruflich unterwegs.
          Anschauen kann ich mir das nächste Woche.
          Was meinst du mit , dass alle eine Meldung bekommen?

          Vg looxer

          QuarkmaxQ Offline
          QuarkmaxQ Offline
          Quarkmax
          wrote on last edited by
          #45

          @looxer01

          zum Batteriescript als Ergänzung

          2x AAA: , 'HmIP-STV', 'HmIP-WKP'
          2x AA: , 'ELV-SH-SW1-BAT'
          3x AA: , 'HmIP-ASIR-2'
          

          Danke

          1 Reply Last reply
          1
          • L Offline
            L Offline
            looxer01
            wrote on last edited by looxer01
            #46

            Hi,
            neue Versionen sind online.

            Servicmeldungsscript Version 1.05:

            • Fix fuer Status 0 fuer historische Meldungen. Text aus Tabelle: StandardstatusMessages verwendet // Text angepasst in Tabelle fuer 0
            • Batteriemeldung erweitert
            • Telegram Instanz und User hinzugefügt
            • WICHTIGE Aenderung fuer REGA subscription: Intelligenterer Umgang bei vielen Aenderungen von Anzahl der Servicmeldungen aus der CCU

            Batteriescript Version 1.1

            • doppelte Listungen verhindert, wenn alle Geräte gelistet werden
            • Native IDs für aa und aaa batterien hinzugefügt // Danke an Quarkmax
            1 Reply Last reply
            4
            • KnallochseK Do not disturb
              KnallochseK Do not disturb
              Knallochse
              wrote on last edited by Knallochse
              #47

              Ich habe eine Sabotage Meldung provoziert. Die Nachricht wird auch versendet (Telegram) aber der Zähler (Anzahl_SABOTAGE) steht bei mir auf 0

              Screenshot 2024-11-11 071658.png

              Es wäre super, wenn man noch die Anzahl der zu überwachenden Instanzen konfigurieren könnte.
              Ich habe 4 rpc Instanzen.
              rpc.0 = CUxD
              rpc.1 = Homematic
              rpc.2 = Homematic IP
              rpc.3 = Virtuelle (Gruppen)

              HM&HMIP über 100 Geräte + IoBroker auf DS918+ uvm.

              L 1 Reply Last reply
              0
              • KnallochseK Knallochse

                Ich habe eine Sabotage Meldung provoziert. Die Nachricht wird auch versendet (Telegram) aber der Zähler (Anzahl_SABOTAGE) steht bei mir auf 0

                Screenshot 2024-11-11 071658.png

                Es wäre super, wenn man noch die Anzahl der zu überwachenden Instanzen konfigurieren könnte.
                Ich habe 4 rpc Instanzen.
                rpc.0 = CUxD
                rpc.1 = Homematic
                rpc.2 = Homematic IP
                rpc.3 = Virtuelle (Gruppen)

                L Offline
                L Offline
                looxer01
                wrote on last edited by looxer01
                #48

                @knallochse
                Hi,
                bei Homematic classic werden die Sabotage Meldungen unter MessageType "Error" geführt und da ist auch der Zähler bei dir auf 1. Das ist anders bei HMIP. Da werden die Sabotage Meldungen unter Sabotage geführt.
                Ich könnte das zwar code technisch abfangen. Das wäre aber irgendwie schon sehr Spaghetti.

                zu den instanzen.
                CUxD. Das sind ja vermutlich keine HM-Geräte, die darunter laufen. Da also die Datenstrukturen vermutlich anders sind, sind dann auch die Meldungen nicht identisch. Ich habe keine Ahnung wie das funktioniert.

                Die anderen schaue ich mir an.
                Die virtuellen Gruppen habe ich z.Zt draußengelassen. Der Mehrwert bei Meldungen zur Gruppe ist ohnehin fragwürdig. Allerdings sind die nur auskommentiert im Coding und lassen sich einfach aktivieren.

                vG Looxer

                Edit: also eigentlich lassen sich die Instanzen ja jetzt schon konfigurieren.
                Im Grunde müssen ja nur die vorgegebenen Instanzen um 1 erhöht werden.
                Das befindet sich in den "Experteneinstellungen":

                const idsUNREACH = [];
                // @ts-ignore
                $('state[id=hm-rpc.0.*.UNREACH_ALARM]').each(id => idsUNREACH.push(id));
                // @ts-ignore
                $('state[id=hm-rpc.1.*.UNREACH_ALARM]').each(id => idsUNREACH.push(id));
                // @ts-ignore
                // $('state[id=hm-rpc.2.*.UNREACH_ALARM]').each(id => idsUNREACH.push(id)); // auskommentiert keine Gruppenmeldungen
                
                const idsSTICKY_UNREACH = [];
                // @ts-ignore
                $('state[id=hm-rpc.0.*.STICKY_UNREACH_ALARM]').each(id => idsSTICKY_UNREACH.push(id));
                // @ts-ignore
                $('state[id=hm-rpc.1.*.STICKY_UNREACH_ALARM]').each(id => idsSTICKY_UNREACH.push(id));
                // @ts-ignore
                $('state[id=hm-rpc.2.*.STICKY_UNREACH_ALARM]').each(id => idsSTICKY_UNREACH.push(id));      // auskommentiert keine Gruppenmeldungen
                
                const idsConfig_Pending = [];
                // @ts-ignore
                $('state[id=hm-rpc.0.*.CONFIG_PENDING_ALARM]').each(id => idsConfig_Pending.push(id));
                // @ts-ignore
                $('state[id=hm-rpc.1.*.CONFIG_PENDING_ALARM]').each(id => idsConfig_Pending.push(id));
                // @ts-ignore
                // $('state[id=hm-rpc.2.*.CONFIG_PENDING_ALARM]').each(id => idsConfig_Pending.push(id));   // auskommentiert keine Gruppenmeldungen
                
                const idsUPDATE_PENDING_ALARM = [];
                // @ts-ignore
                $('state[id=hm-rpc.0.*.UPDATE_PENDING_ALARM]').each(id => idsUPDATE_PENDING_ALARM.push(id));
                // @ts-ignore
                $('state[id=hm-rpc.1.*.UPDATE_PENDING_ALARM]').each(id => idsUPDATE_PENDING_ALARM.push(id)); 
                // @ts-ignore
                //$('state[id=hm-rpc.2.*.UPDATE_PENDING_ALARM]').each(id => idsUPDATE_PENDING_ALARM.push(id)); // auskommentiert keine Gruppenmeldungen
                
                const idsLOWBAT_ALARM = [];
                // @ts-ignore
                $('state[id=hm-rpc.0.*.LOWBAT_ALARM]').each(id =>  idsLOWBAT_ALARM.push(id));
                // @ts-ignore
                $('state[id=hm-rpc.1.*.LOW_BAT_ALARM]').each(id => idsLOWBAT_ALARM.push(id));
                // @ts-ignore
                $('state[id=hm-rpc.2.*.LOW_BAT_ALARM]').each(id => idsLOWBAT_ALARM.push(id));                   // auskommentiert keine Gruppenmeldungen
                
                const idsDEVICE_IN_BOOTLOADER_ALARM = [];
                // @ts-ignore
                $('state[id=hm-rpc.0.*.DEVICE_IN_BOOTLOADER_ALARM]').each(id => idsDEVICE_IN_BOOTLOADER_ALARM.push(id)); // nur HM-Classic
                
                const idsERROR = [];
                // @ts-ignore
                $('state[id=hm-rpc.0.*.ERROR]').each(id => idsERROR.push(id));
                // @ts-ignore
                $('state[id=hm-rpc.1.*.ERROR]').each(id => idsERROR.push(id));
                // @ts-ignore
                // $('state[id=hm-rpc.2.*.ERROR]').each(id => idsERROR.push(id));                               // auskommentiert keine Gruppenmeldungen
                
                const idsFAULT_REPORTING = [];
                // @ts-ignore
                $('state[id=hm-rpc.0.*.FAULT_REPORTING]').each(id => idsFAULT_REPORTING.push(id));              // nur HM-Classic
                
                const idsSABOTAGE_ALARM = [];
                // @ts-ignore
                $('state[id=hm-rpc.0.*.SABOTAGE_ALARM]').each(id => idsSABOTAGE_ALARM.push(id));
                // @ts-ignore
                $('state[id=hm-rpc.1.*.SABOTAGE_ALARM]').each(id => idsSABOTAGE_ALARM.push(id));
                // @ts-ignore
                //$('state[id=hm-rpc.2.*.SABOTAGE_ALARM]').each(id => idsSABOTAGE_ALARM.push(id));              // auskommentiert keine Gruppenmeldungen
                
                const idsERROR_NON_FLAT_POSITIONING_ALARM = [];
                // @ts-ignore
                $('state[id=hm-rpc.0.*.ERROR_NON_FLAT_POSITIONING_ALARM]').each(id => idsERROR_NON_FLAT_POSITIONING_ALARM.push(id));
                // @ts-ignore
                $('state[id=hm-rpc.1.*.ERROR_NON_FLAT_POSITIONING_ALARM]').each(id => idsERROR_NON_FLAT_POSITIONING_ALARM.push(id));
                
                
                KnallochseK 1 Reply Last reply
                0
                • L looxer01

                  @knallochse
                  Hi,
                  bei Homematic classic werden die Sabotage Meldungen unter MessageType "Error" geführt und da ist auch der Zähler bei dir auf 1. Das ist anders bei HMIP. Da werden die Sabotage Meldungen unter Sabotage geführt.
                  Ich könnte das zwar code technisch abfangen. Das wäre aber irgendwie schon sehr Spaghetti.

                  zu den instanzen.
                  CUxD. Das sind ja vermutlich keine HM-Geräte, die darunter laufen. Da also die Datenstrukturen vermutlich anders sind, sind dann auch die Meldungen nicht identisch. Ich habe keine Ahnung wie das funktioniert.

                  Die anderen schaue ich mir an.
                  Die virtuellen Gruppen habe ich z.Zt draußengelassen. Der Mehrwert bei Meldungen zur Gruppe ist ohnehin fragwürdig. Allerdings sind die nur auskommentiert im Coding und lassen sich einfach aktivieren.

                  vG Looxer

                  Edit: also eigentlich lassen sich die Instanzen ja jetzt schon konfigurieren.
                  Im Grunde müssen ja nur die vorgegebenen Instanzen um 1 erhöht werden.
                  Das befindet sich in den "Experteneinstellungen":

                  const idsUNREACH = [];
                  // @ts-ignore
                  $('state[id=hm-rpc.0.*.UNREACH_ALARM]').each(id => idsUNREACH.push(id));
                  // @ts-ignore
                  $('state[id=hm-rpc.1.*.UNREACH_ALARM]').each(id => idsUNREACH.push(id));
                  // @ts-ignore
                  // $('state[id=hm-rpc.2.*.UNREACH_ALARM]').each(id => idsUNREACH.push(id)); // auskommentiert keine Gruppenmeldungen
                  
                  const idsSTICKY_UNREACH = [];
                  // @ts-ignore
                  $('state[id=hm-rpc.0.*.STICKY_UNREACH_ALARM]').each(id => idsSTICKY_UNREACH.push(id));
                  // @ts-ignore
                  $('state[id=hm-rpc.1.*.STICKY_UNREACH_ALARM]').each(id => idsSTICKY_UNREACH.push(id));
                  // @ts-ignore
                  $('state[id=hm-rpc.2.*.STICKY_UNREACH_ALARM]').each(id => idsSTICKY_UNREACH.push(id));      // auskommentiert keine Gruppenmeldungen
                  
                  const idsConfig_Pending = [];
                  // @ts-ignore
                  $('state[id=hm-rpc.0.*.CONFIG_PENDING_ALARM]').each(id => idsConfig_Pending.push(id));
                  // @ts-ignore
                  $('state[id=hm-rpc.1.*.CONFIG_PENDING_ALARM]').each(id => idsConfig_Pending.push(id));
                  // @ts-ignore
                  // $('state[id=hm-rpc.2.*.CONFIG_PENDING_ALARM]').each(id => idsConfig_Pending.push(id));   // auskommentiert keine Gruppenmeldungen
                  
                  const idsUPDATE_PENDING_ALARM = [];
                  // @ts-ignore
                  $('state[id=hm-rpc.0.*.UPDATE_PENDING_ALARM]').each(id => idsUPDATE_PENDING_ALARM.push(id));
                  // @ts-ignore
                  $('state[id=hm-rpc.1.*.UPDATE_PENDING_ALARM]').each(id => idsUPDATE_PENDING_ALARM.push(id)); 
                  // @ts-ignore
                  //$('state[id=hm-rpc.2.*.UPDATE_PENDING_ALARM]').each(id => idsUPDATE_PENDING_ALARM.push(id)); // auskommentiert keine Gruppenmeldungen
                  
                  const idsLOWBAT_ALARM = [];
                  // @ts-ignore
                  $('state[id=hm-rpc.0.*.LOWBAT_ALARM]').each(id =>  idsLOWBAT_ALARM.push(id));
                  // @ts-ignore
                  $('state[id=hm-rpc.1.*.LOW_BAT_ALARM]').each(id => idsLOWBAT_ALARM.push(id));
                  // @ts-ignore
                  $('state[id=hm-rpc.2.*.LOW_BAT_ALARM]').each(id => idsLOWBAT_ALARM.push(id));                   // auskommentiert keine Gruppenmeldungen
                  
                  const idsDEVICE_IN_BOOTLOADER_ALARM = [];
                  // @ts-ignore
                  $('state[id=hm-rpc.0.*.DEVICE_IN_BOOTLOADER_ALARM]').each(id => idsDEVICE_IN_BOOTLOADER_ALARM.push(id)); // nur HM-Classic
                  
                  const idsERROR = [];
                  // @ts-ignore
                  $('state[id=hm-rpc.0.*.ERROR]').each(id => idsERROR.push(id));
                  // @ts-ignore
                  $('state[id=hm-rpc.1.*.ERROR]').each(id => idsERROR.push(id));
                  // @ts-ignore
                  // $('state[id=hm-rpc.2.*.ERROR]').each(id => idsERROR.push(id));                               // auskommentiert keine Gruppenmeldungen
                  
                  const idsFAULT_REPORTING = [];
                  // @ts-ignore
                  $('state[id=hm-rpc.0.*.FAULT_REPORTING]').each(id => idsFAULT_REPORTING.push(id));              // nur HM-Classic
                  
                  const idsSABOTAGE_ALARM = [];
                  // @ts-ignore
                  $('state[id=hm-rpc.0.*.SABOTAGE_ALARM]').each(id => idsSABOTAGE_ALARM.push(id));
                  // @ts-ignore
                  $('state[id=hm-rpc.1.*.SABOTAGE_ALARM]').each(id => idsSABOTAGE_ALARM.push(id));
                  // @ts-ignore
                  //$('state[id=hm-rpc.2.*.SABOTAGE_ALARM]').each(id => idsSABOTAGE_ALARM.push(id));              // auskommentiert keine Gruppenmeldungen
                  
                  const idsERROR_NON_FLAT_POSITIONING_ALARM = [];
                  // @ts-ignore
                  $('state[id=hm-rpc.0.*.ERROR_NON_FLAT_POSITIONING_ALARM]').each(id => idsERROR_NON_FLAT_POSITIONING_ALARM.push(id));
                  // @ts-ignore
                  $('state[id=hm-rpc.1.*.ERROR_NON_FLAT_POSITIONING_ALARM]').each(id => idsERROR_NON_FLAT_POSITIONING_ALARM.push(id));
                  
                  
                  KnallochseK Do not disturb
                  KnallochseK Do not disturb
                  Knallochse
                  wrote on last edited by Knallochse
                  #49

                  @looxer01 sagte in [Vorlage] Servicemeldungen Volume2:

                  @knallochse
                  Hi,
                  bei Homematic classic werden die Sabotage Meldungen unter MessageType "Error" geführt und da ist auch der Zähler bei dir auf 1. Das ist anders bei HMIP. Da werden die Sabotage Meldungen unter Sabotage geführt.
                  Ich könnte das zwar code technisch abfangen. Das wäre aber irgendwie schon sehr Spaghetti.

                  Dann hab ich es verstanden. Ich bräuchte keine Änderung.

                  zu den instanzen.
                  CUxD. Das sind ja vermutlich keine HM-Geräte, die darunter laufen. Da also die Datenstrukturen vermutlich anders sind, sind dann auch die Meldungen nicht identisch. Ich habe keine Ahnung wie das funktioniert.

                  Eine Überwachung der CUxD Geräte vom Skript ist nicht nötig. Aber die rpc.0 Instanz wird ja überwacht, und die Geräte zur Überwachung befinden sich ja in anderen Instanzen. Wird dann noch alles richtig zugeordnet bzw. überwacht?

                  Die anderen schaue ich mir an.
                  Die virtuellen Gruppen habe ich z.Zt draußengelassen. Der Mehrwert bei Meldungen zur Gruppe ist ohnehin fragwürdig. Allerdings sind die nur auskommentiert im Coding und lassen sich einfach aktivieren.

                  In den Gruppen befinden sich ja die einzelnen Geräte und diese werden ja schon überwacht.

                  vG Looxer

                  HM&HMIP über 100 Geräte + IoBroker auf DS918+ uvm.

                  L 1 Reply Last reply
                  0
                  • KnallochseK Do not disturb
                    KnallochseK Do not disturb
                    Knallochse
                    wrote on last edited by
                    #50

                    Von meiner Seite vielen Dank für dein Skript. Schön, dass du dich der Sache annimmst.

                    HM&HMIP über 100 Geräte + IoBroker auf DS918+ uvm.

                    1 Reply Last reply
                    1
                    • KnallochseK Knallochse

                      @looxer01 sagte in [Vorlage] Servicemeldungen Volume2:

                      @knallochse
                      Hi,
                      bei Homematic classic werden die Sabotage Meldungen unter MessageType "Error" geführt und da ist auch der Zähler bei dir auf 1. Das ist anders bei HMIP. Da werden die Sabotage Meldungen unter Sabotage geführt.
                      Ich könnte das zwar code technisch abfangen. Das wäre aber irgendwie schon sehr Spaghetti.

                      Dann hab ich es verstanden. Ich bräuchte keine Änderung.

                      zu den instanzen.
                      CUxD. Das sind ja vermutlich keine HM-Geräte, die darunter laufen. Da also die Datenstrukturen vermutlich anders sind, sind dann auch die Meldungen nicht identisch. Ich habe keine Ahnung wie das funktioniert.

                      Eine Überwachung der CUxD Geräte vom Skript ist nicht nötig. Aber die rpc.0 Instanz wird ja überwacht, und die Geräte zur Überwachung befinden sich ja in anderen Instanzen. Wird dann noch alles richtig zugeordnet bzw. überwacht?

                      Die anderen schaue ich mir an.
                      Die virtuellen Gruppen habe ich z.Zt draußengelassen. Der Mehrwert bei Meldungen zur Gruppe ist ohnehin fragwürdig. Allerdings sind die nur auskommentiert im Coding und lassen sich einfach aktivieren.

                      In den Gruppen befinden sich ja die einzelnen Geräte und diese werden ja schon überwacht.

                      vG Looxer

                      L Offline
                      L Offline
                      looxer01
                      wrote on last edited by looxer01
                      #51

                      @knallochse sagte in [Vorlage] Servicemeldungen Volume2:

                      Eine Überwachung vom Skript ist nicht nötig. Aber die rpc.0 Instanz wird ja überwacht, und die Geräte zur Überwachung befinden sich ja in anderen Instanzen. Wird dann noch alles richtig zugeordnet bzw. überwacht?

                      ich denke ja. Dann muß also CuxD einfach nur auschgeschlossen werden.

                      @knallochse sagte in [Vorlage] Servicemeldungen Volume2:

                      In den Gruppen befinden sich ja die einzelnen Geräte und diese werden ja schon überwacht.

                      genau, also ist die Hinzunahme der Gruppen nicht notwendig.

                      Ich habe für dich die Configuration im folgenden Code gemacht. Diesen müßtest du durch den Vorhandenen ersetzen.

                      const idsUNREACH = [];
                      // @ts-ignore
                      $('state[id=hm-rpc.1.*.UNREACH_ALARM]').each(id => idsUNREACH.push(id));
                      // @ts-ignore
                      $('state[id=hm-rpc.2.*.UNREACH_ALARM]').each(id => idsUNREACH.push(id));
                      // @ts-ignore
                      // $('state[id=hm-rpc.3.*.UNREACH_ALARM]').each(id => idsUNREACH.push(id)); // auskommentiert keine Gruppenmeldungen
                      
                      const idsSTICKY_UNREACH = [];
                      // @ts-ignore
                      $('state[id=hm-rpc.1.*.STICKY_UNREACH_ALARM]').each(id => idsSTICKY_UNREACH.push(id));
                      // @ts-ignore
                      $('state[id=hm-rpc.2.*.STICKY_UNREACH_ALARM]').each(id => idsSTICKY_UNREACH.push(id));
                      // @ts-ignore
                      //$('state[id=hm-rpc.3.*.STICKY_UNREACH_ALARM]').each(id => idsSTICKY_UNREACH.push(id));      // auskommentiert keine Gruppenmeldungen
                      
                      const idsConfig_Pending = [];
                      // @ts-ignore
                      $('state[id=hm-rpc.1.*.CONFIG_PENDING_ALARM]').each(id => idsConfig_Pending.push(id));
                      // @ts-ignore
                      $('state[id=hm-rpc.2.*.CONFIG_PENDING_ALARM]').each(id => idsConfig_Pending.push(id));
                      // @ts-ignore
                      // $('state[id=hm-rpc.3.*.CONFIG_PENDING_ALARM]').each(id => idsConfig_Pending.push(id));   // auskommentiert keine Gruppenmeldungen
                      
                      const idsUPDATE_PENDING_ALARM = [];
                      // @ts-ignore
                      $('state[id=hm-rpc.1.*.UPDATE_PENDING_ALARM]').each(id => idsUPDATE_PENDING_ALARM.push(id));
                      // @ts-ignore
                      $('state[id=hm-rpc.2.*.UPDATE_PENDING_ALARM]').each(id => idsUPDATE_PENDING_ALARM.push(id)); 
                      // @ts-ignore
                      //$('state[id=hm-rpc.3.*.UPDATE_PENDING_ALARM]').each(id => idsUPDATE_PENDING_ALARM.push(id)); // auskommentiert keine Gruppenmeldungen
                      
                      const idsLOWBAT_ALARM = [];
                      // @ts-ignore
                      $('state[id=hm-rpc.1.*.LOWBAT_ALARM]').each(id =>  idsLOWBAT_ALARM.push(id));
                      // @ts-ignore
                      $('state[id=hm-rpc.2.*.LOW_BAT_ALARM]').each(id => idsLOWBAT_ALARM.push(id));
                      // @ts-ignore
                      //$('state[id=hm-rpc.3.*.LOW_BAT_ALARM]').each(id => idsLOWBAT_ALARM.push(id));                   // auskommentiert keine Gruppenmeldungen
                      
                      const idsDEVICE_IN_BOOTLOADER_ALARM = [];
                      // @ts-ignore
                      $('state[id=hm-rpc.1.*.DEVICE_IN_BOOTLOADER_ALARM]').each(id => idsDEVICE_IN_BOOTLOADER_ALARM.push(id)); // nur HM-Classic
                      
                      const idsERROR = [];
                      // @ts-ignore
                      $('state[id=hm-rpc.1.*.ERROR]').each(id => idsERROR.push(id));
                      // @ts-ignore
                      $('state[id=hm-rpc.2.*.ERROR]').each(id => idsERROR.push(id));
                      // @ts-ignore
                      // $('state[id=hm-rpc.3.*.ERROR]').each(id => idsERROR.push(id));                               // auskommentiert keine Gruppenmeldungen
                      
                      const idsFAULT_REPORTING = [];
                      // @ts-ignore
                      $('state[id=hm-rpc.1.*.FAULT_REPORTING]').each(id => idsFAULT_REPORTING.push(id));              // nur HM-Classic
                      
                      const idsSABOTAGE_ALARM = [];
                      // @ts-ignore
                      $('state[id=hm-rpc.1.*.SABOTAGE_ALARM]').each(id => idsSABOTAGE_ALARM.push(id));
                      // @ts-ignore
                      $('state[id=hm-rpc.2.*.SABOTAGE_ALARM]').each(id => idsSABOTAGE_ALARM.push(id));
                      // @ts-ignore
                      //$('state[id=hm-rpc.3.*.SABOTAGE_ALARM]').each(id => idsSABOTAGE_ALARM.push(id));              // auskommentiert keine Gruppenmeldungen
                      
                      const idsERROR_NON_FLAT_POSITIONING_ALARM = [];
                      // @ts-ignore
                      $('state[id=hm-rpc.1.*.ERROR_NON_FLAT_POSITIONING_ALARM]').each(id => idsERROR_NON_FLAT_POSITIONING_ALARM.push(id));
                      // @ts-ignore
                      $('state[id=hm-rpc.2.*.ERROR_NON_FLAT_POSITIONING_ALARM]').each(id => idsERROR_NON_FLAT_POSITIONING_ALARM.push(id));
                      
                      1 Reply Last reply
                      1
                      • KnallochseK Do not disturb
                        KnallochseK Do not disturb
                        Knallochse
                        wrote on last edited by
                        #52

                        @looxer01 Vielen Dank.
                        Ich habe den Code durch deinen ersetzt. Ich beobachte das ganze mal eine Weile.
                        Schade, dass sich Batteriemeldungen schlecht simulieren lassen.

                        HM&HMIP über 100 Geräte + IoBroker auf DS918+ uvm.

                        L 1 Reply Last reply
                        0
                        • KnallochseK Knallochse

                          @looxer01 Vielen Dank.
                          Ich habe den Code durch deinen ersetzt. Ich beobachte das ganze mal eine Weile.
                          Schade, dass sich Batteriemeldungen schlecht simulieren lassen.

                          L Offline
                          L Offline
                          looxer01
                          wrote on last edited by
                          #53

                          @knallochse
                          sehr gerne.
                          Ich mache die Instanz wahrscheinlich noch variabel. Dann ist es einfacher anzupassen für alle die, die CuxD verwenden

                          1 Reply Last reply
                          1
                          • L Offline
                            L Offline
                            looxer01
                            wrote on last edited by looxer01
                            #54

                            Hi,
                            Version 1.06 ist online:

                            • GruppenSelektoren auskommentiert fuer unreach#
                            • Korrektur fuer REGA subcription:Timer variable zuruecksetzen
                            • HM-Classic Sabotage counts werden umgeleitet von error auf Sabotage
                            • Instanzen zur Selektion sind jetzt als Variable definiert - z.B. um CuxD auszuschliessen

                            Looxer01

                            KnallochseK 1 Reply Last reply
                            2
                            • L looxer01

                              Hi,
                              Version 1.06 ist online:

                              • GruppenSelektoren auskommentiert fuer unreach#
                              • Korrektur fuer REGA subcription:Timer variable zuruecksetzen
                              • HM-Classic Sabotage counts werden umgeleitet von error auf Sabotage
                              • Instanzen zur Selektion sind jetzt als Variable definiert - z.B. um CuxD auszuschliessen

                              Looxer01

                              KnallochseK Do not disturb
                              KnallochseK Do not disturb
                              Knallochse
                              wrote on last edited by Knallochse
                              #55

                              @looxer01 mit der 1.6 scheint der Zähler bei Auslösen eines Sabotage Aktors nicht mehr zu funktionieren
                              Screenshot 2024-11-12 214454.png

                              in der Nachricht (Telegram) steht SABOTAGE

                              HM&HMIP über 100 Geräte + IoBroker auf DS918+ uvm.

                              L 1 Reply Last reply
                              0
                              • KnallochseK Knallochse

                                @looxer01 mit der 1.6 scheint der Zähler bei Auslösen eines Sabotage Aktors nicht mehr zu funktionieren
                                Screenshot 2024-11-12 214454.png

                                in der Nachricht (Telegram) steht SABOTAGE

                                L Offline
                                L Offline
                                looxer01
                                wrote on last edited by
                                #56

                                @knallochse
                                vielen Dank
                                Fehler ist gefunden. Fix kommt mit der nächsten Version.

                                vG Looxer

                                1 Reply Last reply
                                1
                                • L Offline
                                  L Offline
                                  looxer01
                                  wrote on last edited by
                                  #57

                                  Version 1.07 ist online.

                                  • Zähler für Sabotage funktioniert jetzt für HMClassic und HMIP
                                  • Text StandardMessages angepasst
                                  • Fuer alle Messenger Services kann die gewuenschte Instanz angegeben werden

                                  Looxer

                                  E KnallochseK 2 Replies Last reply
                                  0
                                  • L looxer01

                                    Version 1.07 ist online.

                                    • Zähler für Sabotage funktioniert jetzt für HMClassic und HMIP
                                    • Text StandardMessages angepasst
                                    • Fuer alle Messenger Services kann die gewuenschte Instanz angegeben werden

                                    Looxer

                                    E Online
                                    E Online
                                    emil70
                                    wrote on last edited by
                                    #58

                                    @looxer01

                                    ist das im 1.07 richtig so

                                    // telegram Einstellungen
                                    const TelegramUser = "";
                                    

                                    beim 1.06 sieht das so aus

                                    // telegram Einstellungen
                                    const TelegramIstanz = 0;
                                    const TelegramUser = "";
                                    

                                    gruss emil70

                                    iobroker(V9) und Pi-hole läuft über docker (js-controller 6.0.11 und admin v7.1.15) auf einem synology DS918+ mit DSM 7.1.1-42962 Update 6

                                    L 1 Reply Last reply
                                    0
                                    • E emil70

                                      @looxer01

                                      ist das im 1.07 richtig so

                                      // telegram Einstellungen
                                      const TelegramUser = "";
                                      

                                      beim 1.06 sieht das so aus

                                      // telegram Einstellungen
                                      const TelegramIstanz = 0;
                                      const TelegramUser = "";
                                      
                                      L Offline
                                      L Offline
                                      looxer01
                                      wrote on last edited by
                                      #59

                                      @emil70
                                      Hi,
                                      ja, das ist ok, weil jetzt alle Messenger mit der Instanz einstellbar sind

                                          const services =               ['email',    'whatsApp',     'Signal',  'Telegram',    'Pushover', 'Pushsafer'];
                                          const MessengerScope = {
                                          'UNREACH_ALARM':                [false,       true,          false,      false,          false,      false],
                                          'LOWBAT_ALARM':                 [false,       true,          false,      false,          false,      false],
                                          'SABOTAGE_ALARM':               [false,       true,          false,      false,          false,      false],
                                          'CONFIG_PENDING':               [false,       true,          false,      false,          false,      false],
                                          'Sonstige':                     [false,       false,         false,      false,          false,      false],
                                          'keineSM':                      [false,       true,          false,      false,          false,      false],
                                          }
                                          const MessengerInstanz =        [0,             0,              0,          0,              0,          0 ]; // Instanz des Messengers
                                      
                                      1 Reply Last reply
                                      1
                                      • L looxer01

                                        Version 1.07 ist online.

                                        • Zähler für Sabotage funktioniert jetzt für HMClassic und HMIP
                                        • Text StandardMessages angepasst
                                        • Fuer alle Messenger Services kann die gewuenschte Instanz angegeben werden

                                        Looxer

                                        KnallochseK Do not disturb
                                        KnallochseK Do not disturb
                                        Knallochse
                                        wrote on last edited by
                                        #60

                                        @looxer01 Mit der 1,07 funktioniert der Zähler für Sabotage Super:+1:

                                        HM&HMIP über 100 Geräte + IoBroker auf DS918+ uvm.

                                        1 Reply Last reply
                                        1
                                        • L Offline
                                          L Offline
                                          looxer01
                                          wrote on last edited by looxer01
                                          #61

                                          Hi,
                                          Version 1.08 ist online

                                          • Ein wenig Kosmetik
                                          • LowBat Meldungen waren nicht vollstaendig für HMIP Geräte. Batterietypen-Hinweis sollte jetzt funktionieren

                                          vG Looxer

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          856

                                          Online

                                          32.5k

                                          Users

                                          81.6k

                                          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