Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Vorlage] Servicemeldungen Volume2

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] Servicemeldungen Volume2

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      looxer01 @sigi234 last edited by

      @sigi234
      es gibt eine Kommentarzeile dazu

      const scheduleTimeClearSMTexte = "2 0 1 * *";       // am 1. tag des monats um 00:02 morgens sollen alle Servicemeldungen des Monats geloescht werden
      // const scheduleTimeClearSMTexte = "58 23 * * 0";  // alternative Sonntags um 23:58 Uhr sollen alle Servicemeldungen der Woche im datenpunkt der SM-Texte geloescht werden 
      // const scheduleTimeClearSMTexte = "60 * * * *";   // altenative ist den schedule zur Loeschung der Histore nie auszuloesen und ggf über den Datenpunkt id_Button_Refresh_Historie (Button) manuell zu loeschen
      
      

      Zeile 1 auskommentieren
      Zeile 3 aktivieren

      sigi234 1 Reply Last reply Reply Quote 0
      • sigi234
        sigi234 Forum Testing Most Active @looxer01 last edited by

        @looxer01 sagte in [Vorlage] Servicemeldungen Volume2:

        @sigi234
        es gibt eine Kommentarzeile dazu

        const scheduleTimeClearSMTexte = "2 0 1 * *";       // am 1. tag des monats um 00:02 morgens sollen alle Servicemeldungen des Monats geloescht werden
        // const scheduleTimeClearSMTexte = "58 23 * * 0";  // alternative Sonntags um 23:58 Uhr sollen alle Servicemeldungen der Woche im datenpunkt der SM-Texte geloescht werden 
        // const scheduleTimeClearSMTexte = "60 * * * *";   // altenative ist den schedule zur Loeschung der Histore nie auszuloesen und ggf über den Datenpunkt id_Button_Refresh_Historie (Button) manuell zu loeschen
        
        

        Zeile 1 auskommentieren
        Zeile 3 aktivieren

        Das habe ich gemacht aber:

        Screenshot (1103).png

        L 1 Reply Last reply Reply Quote 0
        • L
          looxer01 @sigi234 last edited by

          @sigi234
          stimmt, das ging früher. Die Türe haben die ioBroker Kollegen dann wohl geschlossen.
          Ich habe schon eine alternative eingebaut. Kommt später am Nachmittag.

          vG Looxer

          1 Reply Last reply Reply Quote 0
          • L
            looxer01 last edited by

            3.08 ist online

            • Korrektur zur 3.07: es gibt jetzt die Variable "ScheduleAktiv" in den Experteneinstellungen. Bei true wird der schedule zur Löschung der History z.B. monatlich ausgeführt. Bei false wird der schedule nicht ausgeführt und sollte hin und wieder manuell durchgeführt werden

            vG Looxer

            1 Reply Last reply Reply Quote 1
            • L
              looxer01 last edited by looxer01

              Im ersten Post habe ich die Views für HTML und JSON aktualisiert. Beide Views sehen nahezu identisch aus und enthalten einen Push-Button, mit dem die Historie manuell gelöscht werden kann. Es gibt keine Sicherheitsabfrage, sodass beim Drücken des Buttons die gesamte Meldungshistorie gelöscht wird.

              Die Standardeinstellung bleibt unverändert: Am 1. jedes Monats erfolgt die automatische Löschung. Mit der Einstellung „ScheduleAktiv = false“ kann diese Funktion jedoch deaktiviert werden.

              vG Looxer

              1 Reply Last reply Reply Quote 1
              • Knallochse
                Knallochse last edited by

                Dein Script funktioniert wirklich zuverlässig.
                Ich hab jetzt mal die neueste Version ausprobiert, da ist mir aufgefallen, wenn man Text kurz einstellt, dann wird bei einer Sabotageauslösung nur noch „Sabotage“ gesendet. Das dazugehörige Gerät wird nicht mit gesendet.
                Ist das so gewollt?

                L 1 Reply Last reply Reply Quote 0
                • L
                  looxer01 @Knallochse last edited by looxer01

                  @knallochse
                  Hi
                  gerade mal nachgesehen im code.
                  Gesendet wird aufgrund dieser Tabelle: statusMessages (details unten)
                  Und ich sende bei kurzer Meldung tatsächlich nur die pure messages. In diesem Fall Sabotage. Ist so programmiert aber
                  vielleicht nicht so hilfreich. Ich schaue es mir an.

                  vG Looxer

                  const statusMessages = {
                      UNREACH_ALARM:                    { "hm-rpc": { 0: "keine Kommunikationsfehler",     1: "Kommunikation gestoert",                            2: "Kommunikation war gestoert" } },
                      STICKY_UNREACH_ALARM:             { "hm-rpc": { 0: "keine Kommunikationsfehler",     1: "Sticky Kommunikation gestoert",                     2: "Sticky Kommunikation war gestoert" } },
                      SABOTAGE_ALARM:                   { "hm-rpc": { 0: "Keine Sabotage",                 1: "Sabotage",                                          2: "Sabotage aufgehoben" } },
                      STICKY_SABOTAGE_ALARM:            { "hm-rpc": { 0: "Keine Sabotage",                 1: "Sticky Sabotage",                                   2: "Sticky Sabotage aufgehoben" } },
                      LOWBAT_ALARM:                     { "hm-rpc": { 0: "Batterie ok",                    1: "Batterie niedrig",                                  2: "Batterie ok" } },
                      LOW_BAT_ALARM:                    { "hm-rpc": { 0: "Batterie ok",                    1: "Batterie niedrig",                                  2: "Batterie ok" } },
                      ERROR_NON_FLAT_POSITIONING_ALARM: { "hm-rpc": { 0: "Keine Meldung",                  1: "Geraet wurde angehoben.",                           2: "Geraet wurde angehoben: Bestaetigt" } },
                      CONFIG_PENDING_ALARM:             { "hm-rpc": { 0: "keine Meldung",                  1: "Konfigurationsdaten stehen zur Uebertragung an",    2: "Konfigurationsdaten standen zur Uebertragung an" } },
                      UPDATE_PENDING_ALARM:             { "hm-rpc": { 0: "kein Update verfuegbar",         1: "Update verfuegbar",                                 2: "Update wurde eingespielt" } },
                      ERROR_OVERHEAT_ALARM:             { "hm-rpc": { 0: "kein Overheat Alarm",            1: "Overheat gemeldet",                                 2: "Overheat geloest" } },
                      ERROR_UNDERVOLTAGE_ALARM:         { "hm-rpc": { 0: "Kein Undervoltage Alarm",        1: "Undervoltage gemeldet",                             2: "Undervoltage geloest" } },
                      DEVICE_IN_BOOTLOADER_ALARM:       { "hm-rpc": { 0: "Keine Meldung",                  1: "Geraet startet neu",                                2: "Geraet wurde neu gestartet" } },
                      DUTY_CYCLE:                       { "hm-rpc": { false: "Geraete-Duty Cycle ok",      true: "Geraete-Duty Cycle erreicht",                    null: "unbekannter Status (Duty_Cycle" } },
                      lowBat:                           { "hmip":   { false: "Batterie ok",                true: "Batterie niedrig",                               null: "Batterie ok" } },
                      unreach:                          { "hmip":   { false: "keine Kommunikationsfehler", true: "Kommunikation gestoert",                         null: "Kommunikation war gestoert" } },
                      sabotage:                         { "hmip":   { false: "Keine Sabotage",             true: "Sabotage",                                       null: "Sabotage aufgehoben" } },
                      configPending:                    { "hmip":   { false: "Keine Meldung",              true: "Konfigurationsdaten stehen zur Uebertragung an", null: "Konfigurationsdaten standen zur Uebertragung an" } },
                      FALLBACK:                         { "hm-rpc": { 0: "keine Stoerung",                 1: "Stoerung",                                          2: "Stoerung aufgehoben",
                                                                      false: "Keine Stoerung",             true: "Stoerung",                                       null: "unbekannter Status Fallback"},
                                                          "hmip":   { false: "keine Stoerung",             true: "Stoerung",                                       null: "Stoerung aufgehoben" }, }
                  };
                  
                  rantanplan 1 Reply Last reply Reply Quote 2
                  • rantanplan
                    rantanplan @looxer01 last edited by

                    @looxer01 sagte in [Vorlage] Servicemeldungen Volume2:

                    @knallochse
                    Hi
                    gerade mal nachgesehen im code.
                    Gesendet wird aufgrund dieser Tabelle: statusMessages (details unten)
                    Und ich sende bei kurzer Meldung tatsächlich nur die pure messages. In diesem Fall Sabotage. Ist so programmiert aber
                    vielleicht nicht so hilfreich. Ich schaue es mir an.

                    Hi
                    Aus diesem Grund bin ich wieder auf das alte Script umgestiegen.
                    Ich lasse mir die Meldungen nach Telegram schicken. Die lange Version ist mir dabei zuviel und die kurzen Meldungen sind nicht aussagekräftig.
                    So etwas wie "Sticky Kommunikation gestoert" oder "Batterie niedrig - Batteriebezeichnung: 1x LR3/AAA" ohne Angabe um welches Gerät es sich handelt ist nicht hilfreich.
                    Das ist im alten Script besser gelöst.

                    Grüße

                    L 1 Reply Last reply Reply Quote 0
                    • L
                      looxer01 @rantanplan last edited by looxer01

                      @rantanplan
                      ich selber nutze nur email und daher habe nur die langen messages wirklich gesichtet und so ist es
                      mir nicht aufgefallen. Aber ja, so machen die kurzen messages keinen Sinn. Ist bei mir schon gefixt.

                      1 Reply Last reply Reply Quote 0
                      • L
                        looxer01 last edited by

                        Version 3.09 ist online

                        • kurze Messages gesendet über email, whatsapp, pushover etc. enthalten jetzt auch den Gerätenamen

                        vG Looxer

                        rantanplan 1 Reply Last reply Reply Quote 1
                        • L
                          looxer01 last edited by

                          Hi,

                          Die Tabelle zur Ausgabe von messages habe ich überprüft und festgestellt, dass nicht alles so funktioniert wie gedacht.
                          Hier mal ein Beispiel was möglich ist

                          let MessageSendCollector = []
                              
                              const services =               ['email',    'email',        'whatsApp',     'Signal',  'Telegram',    'Pushover', 'Pushsafer'];
                              const MessengerScope = {
                              'UNREACH_ALARM':                [true,       false,          false,          false,      false,          false,      false],
                              'LOWBAT_ALARM':                 [false,      false,          false,          false,      false,          false,      false],
                              'SABOTAGE_ALARM':               [true,       false,          true,           false,      false,          false,      false],
                              'CONFIG_PENDING':               [true,       false,          false,          false,      false,          false,      false],
                              'Sonstige':                     [false,      false,          false,          false,      false,          false,      false],
                              'keineSM':                      [true,       false,          false,          false,      false,          false,      false],
                              }
                              const MessengerInstanz =        [1,             2,              1,              0,          0,              0,          0 ];    // Instanz des Messengers
                              const TextTypeKurz      =       [false,       true,           true,          true,       true,           true,       true ]; // bei true wird der Kurztext gesendet - sonst der Langtext
                          
                          
                          • Es lassen sich beliebige (gültige) messageTypes hinzufügen.
                          • Es können je messageType mehrere gleiche messasgeservices mit unterschiedlichen Instanzen hinzugefügt werden.
                          • Alle gültigen messageTypes, die nicht in einer Zeile konfiguriert sind, werden automatisch unter "Sonstige" konfiguriert und gesendet

                          Der Zweck mehrerer MessageServices für einen MessageType ist z.B. eine besondere Behandlung für wichtige im Vergleich zu weniger wichtigen Message Types zu ermöglichen (unterschiedliche Instanzen z.B. bei Pushsafer)

                          Das funktioniert soweit alles bei mir. Ich werde noch ein wenig testen und dann posten.

                          vG Looxer

                          1 Reply Last reply Reply Quote 1
                          • rantanplan
                            rantanplan @looxer01 last edited by

                            @looxer01 sagte in [Vorlage] Servicemeldungen Volume2:

                            Version 3.09 ist online

                            • kurze Messages gesendet über email, whatsapp, pushover etc. enthalten jetzt auch den Gerätenamen

                            vG Looxer

                            Sieht besser aus.
                            Danke!

                            Grüße

                            1 Reply Last reply Reply Quote 1
                            • L
                              looxer01 last edited by looxer01

                              Hi,
                              Version 3.10 ist online

                              • Erhöhung der Wartezeit für HM-REGA Trigger (GeraeteIDTrigger = false = 1 subscription) von 2 Sekunden auf 3,5 Sekunden. Es gab vereinzelt Fälle bei denen der Update der ioBroker Datenpunkte länger als 2 Sekunden dauerte
                              • Erweiterung der Funktion der Tabelle MessengerScope. Es lassen sich abhängig vom Alarmtype Nachrichten auf verschiedene Instanzen senden. Dadurch kann z.B. eine erhöte Priorität für Sabotage-alarm indiziert werden. Ein Beispiel für Pushsaver wurde mit den Einstellungen dieser Tabelle eingerichtet. Im u.g. Beispiel wird die Sabotage Meldung sowohl an Instanz 0 als auch an 1 gesendet.

                              Looxer

                              Tabelle MessengerScope:

                              //  fuer alle Spalten mit true werden die Nachrichten ueber den zugeordneten Dienst versendet, vorausgesetzt der Messenge Adapter ist in iobroker installiert/konfiguriert
                                  const services =               ['email',    'whatsApp',     'Signal',  'Telegram',    'Pushover', 'Pushsafer', 'Pushsafer',];
                                  const MessengerScope = {
                                  'UNREACH_ALARM':                [false,        false,          false,      false,          false,      true,       false,],
                                  'LOWBAT_ALARM':                 [false,        false,          false,      false,          false,      true,       false,],
                                  'SABOTAGE_ALARM':               [false,        false,          false,      false,          false,      true,        true,],
                                  'CONFIG_PENDING_ALARM':         [false,        false,          false,      false,          false,      true,       false,],
                                  'Sonstige':                     [false,        false,          false,      false,          false,      true,       false,], // text ist fest verdrahtet nicht ändern
                                  'keineSM':                      [false,        false,          false,      false,          false,      true,       false,], // text ist fest verdrahtet nicht ändern
                                  }
                                  const MessengerInstanz =        [0,             0,               0,          0,              0,          0,            1,  ]; // Instanz des Messengers
                                  const TextTypeKurz      =       [false,        true,            true,       true,           true,      true,         false,]; // bei true wird der Kurztext gesendet - sonst der Langtext
                              
                              
                              rantanplan 1 Reply Last reply Reply Quote 0
                              • rantanplan
                                rantanplan @looxer01 last edited by

                                @looxer01 Hallo

                                wäre es möglich die Bestätigung von Servicemeldungen einzubauen?

                                Ich habe folgendes Problem.
                                Wenn ich die automatische Bestätigung in der CCU3 aktiviere, werden erledigte Meldungen, auf der CCU3, nicht mehr angezeigt. (Servicemeldungen (0))
                                Aber ioBroker bekommt davon nichts mit. Dort werden die Meldungen immer noch angezeigt.
                                Ich muss dann die Funktion in der CCU wieder deaktivieren.
                                Wenn ich das gemacht habe, werden die (alten) Meldungen wieder in der CCU angezeigt.
                                Nach einer manuellen Bestätigung wird dann auch ioBroker aktualisiert und Dein Script kann reagieren.

                                Keine Ahnung woran das liegt und ich der einzige bin der das Problem hat.
                                Mit dem alten Script hat das immer funktioniert.

                                Grüße

                                L 1 Reply Last reply Reply Quote 0
                                • L
                                  looxer01 @rantanplan last edited by looxer01

                                  @rantanplan
                                  Hi,
                                  es wäre gut ein paar Informationen einzusammeln:

                                  • Welche Version nutzt du ?
                                  • du schreibst, dass du die CCU3 nutzt (nicht RM - korrekt ?)
                                  • wie ist die Variable GeraeteIDTrigger eingestrellt ? (true oder false) ich nehme an: false
                                  • die stehengebliebene Service meldungen sehen wie genau aus (alarmtype ?)
                                  • welche hm geraeteklassen sind betroffen (ich nehme an nur HM-Classic)

                                  Das würde helfen

                                  zwischenzeitlich könnte es helfen, die Sticky-Unreach Meldungen zu ignorieren.
                                  Das kannst du erreichen indem du die Zeile auskommentierst (siehe unten)

                                  const alarmTypes = [
                                      { key: 'UNREACH_ALARM',                     suffixes: ['UNREACH_ALARM','unreach' ] },//UNREACH_ALARM = HM-Classic & HMIP-CCU - unreach = HMIP Accesspoint
                                  //    { key: 'STICKY_UNREACH_ALARM',              suffixes: ['STICKY_UNREACH_ALARM'] },
                                      { key: 'CONFIG_PENDING_ALARM',              suffixes: ['CONFIG_PENDING_ALARM','configPending'] }, //configPending ist eine HMIP Meldung
                                      { key: 'UPDATE_PENDING_ALARM',              suffixes: ['UPDATE_PENDING_ALARM'] },
                                      { key: 'LOWBAT_ALARM',                      suffixes: ['LOWBAT_ALARM', 'LOW_BAT_ALARM','lowBat'] }, //LOWBAT_ALARM = HM-Classic - LOW_BAT_ALARM = HMIP CCU - lowBat = HMIP Accesspoint
                                      { key: 'DEVICE_IN_BOOTLOADER_ALARM',        suffixes: ['DEVICE_IN_BOOTLOADER_ALARM'] },
                                      { key: 'ERROR',                             suffixes: ['ERROR','DUTY_CYCLE'] },                  // error ist ein Sammler fuer hier nicht definierte Meldungen
                                      { key: 'FAULT_REPORTING',                   suffixes: ['FAULT_REPORTING'] },
                                      { key: 'SABOTAGE_ALARM',                    suffixes: ['SABOTAGE_ALARM','sabotage'] }, // sabotage ist eine HMIP Meldung
                                      { key: 'STICKY_SABOTAGE_ALARM',             suffixes: ['STICKY_SABOTAGE_ALARM'] },
                                      { key: 'ERROR_NON_FLAT_POSITIONING_ALARM',  suffixes: ['ERROR_NON_FLAT_POSITIONING_ALARM'] },
                                      { key: 'OVERHEAT_ALARM',                    suffixes: ['ERROR_OVERHEAT_ALARM'] },
                                      { key: 'UNDERVOLTAGE_ALARM',                suffixes: ['ERROR_UNDERVOLTAGE_ALARM'] },
                                  ];
                                  
                                  rantanplan 1 Reply Last reply Reply Quote 0
                                  • rantanplan
                                    rantanplan @looxer01 last edited by

                                    @looxer01 sagte in [Vorlage] Servicemeldungen Volume2:

                                    @rantanplan
                                    Hi,
                                    es wäre gut ein paar Informationen einzusammeln:

                                    • Welche Version nutzt du ?

                                    Version 3.10

                                    • du schreibst, dass du die CCU3 nutzt (nicht RM - korrekt ?)

                                    Korrekt.

                                    • wie ist die Variable GeraeteIDTrigger eingestrellt ? (true oder false) ich nehme an: false

                                    Steht auf false

                                    • die stehengebliebene Service meldungen sehen wie genau aus (alarmtype ?)

                                    Meist "UNREACH_ALARM" oder "STICKY_UNRAECH_ALARM"
                                    In der CCU steht "Gerätekommunikation war gestört".

                                    • welche hm geraeteklassen sind betroffen (ich nehme an nur HM-Classic)

                                    Ja.

                                    Das würde helfen

                                    zwischenzeitlich könnte es helfen, die Sticky-Unreach Meldungen zu ignorieren.
                                    Das kannst du erreichen indem du die Zeile auskommentierst (siehe unten)

                                    Habe ich auskommentiert.
                                    In der CCU habe ich die automatische Bestätigung wieder aktiviert.

                                    Mal schauen was passiert.
                                    Danke für die schnelle Antwort.

                                    Grüße

                                    L 1 Reply Last reply Reply Quote 0
                                    • L
                                      looxer01 @rantanplan last edited by

                                      @rantanplan
                                      ok, bitte sag dann Bescheid, wenn es so ok ist.
                                      Ich muss mir generell überlegen wie ich damit umgehe.
                                      die sticky-unreach Meldungen gibt es nur bei den classic Geräten und ich habe nur HMIP-Geräte.

                                      vG Looxer

                                      rantanplan 2 Replies Last reply Reply Quote 0
                                      • rantanplan
                                        rantanplan @looxer01 last edited by

                                        @looxer01 sagte in [Vorlage] Servicemeldungen Volume2:

                                        ok, bitte sag dann Bescheid, wenn es so ok ist.

                                        Na klar, mache ich.

                                        1 Reply Last reply Reply Quote 0
                                        • rantanplan
                                          rantanplan @looxer01 last edited by

                                          @looxer01 sagte in [Vorlage] Servicemeldungen Volume2:

                                          @rantanplan
                                          ok, bitte sag dann Bescheid, wenn es so ok ist.

                                          Ist leider nicht ok.
                                          Die automatische Bestätigung auf der CCU3 funktioniert bei mir nicht.
                                          Wenn die Funktion eingeschaltet ist, werden die Meldungen auf der CCU ausgeblendet.


                                          Bild_1.png

                                          Aber in ioBroker bleiben die aktiv.

                                          Bild_2.png

                                          Für Dein Script ist alles ok.

                                          Bild_3.png

                                          Wenn ich auf der CCU die automatische Bestätigung wieder deaktiviere, werden dort auch wieder die Meldungen angezeigt.

                                          Bild_4.png
                                          Bild_5.png

                                          Nach der manuellen Bestätigung sind ioBroker und CCU wieder auf dem gleichen Stand.
                                          Und Dein Script meldet meldet nochmal "Derzeit keine Servicemeldungen".

                                          Mit der automatischen Bestätigung aus dem alten Script hat das immer geklappt.

                                          Grüße

                                          L 1 Reply Last reply Reply Quote 0
                                          • L
                                            looxer01 @rantanplan last edited by looxer01

                                            @rantanplan

                                            Ich verstehe hier vermutlich etwas falsch.

                                            Hier ist was ich sehe bei der Version: auto confirm der CCU

                                            1. Servicemeldungen in der CCU - 0
                                            2. Servicemeldungen in iobroker im HM-REGA Datenpunkt = 3
                                            3. Servicemeldungen laut Script = 0 - entsprechend der CCU

                                            Wo ist jetzt genau das Problem ?
                                            Das script ist gleichauf mit der CCU. Das sieht doch ok aus.
                                            Die Anzahl der Meldungen im HM-Rega Datenpunkt wird durch die CCU Schnittstelle gesetzt und hat nichts mit dem Script zu tun.

                                            Was erwartest du genau zu sehen ?

                                            EDIT:
                                            wahrscheinlich würdest du gerne die 3 Meldungen des HM-REGA Datenpunktes quittieren ?
                                            Das hatte ich bisher nicht auf dem Radar. Warum ist das notwendig ?

                                            vG Looxer

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            448
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            12
                                            219
                                            19050
                                            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