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.
    • sigi234
      sigi234 Forum Testing Most Active @looxer01 last edited by

      @looxer01 sagte in [Vorlage] Servicemeldungen Volume2:

      Die Farben für die Kopfzeile sowie gerade und ungerade Zeilen können farblich angepasst werden unter "Experteneinstellungen"

      Super, kannst du bitte noch folgendes einbauen:

      Schriftfarbe für alle 3 DP (Kopfzeile, gerade und ungerade Zeilen)
      Rahmen mit Farbe und Stärke

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

        @sigi234 sagte in [Vorlage] Servicemeldungen Volume2:

        Schriftfarbe für alle 3 DP (Kopfzeile, gerade und ungerade Zeilen)
        Rahmen mit Farbe und Stärke

        siehe Version 3.03

        vG Looxer

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

          @looxer01 sagte in [Vorlage] Servicemeldungen Volume2:

          @sigi234 sagte in [Vorlage] Servicemeldungen Volume2:

          Schriftfarbe für alle 3 DP (Kopfzeile, gerade und ungerade Zeilen)
          Rahmen mit Farbe und Stärke

          siehe Version 3.03

          vG Looxer

          Super, aber der Rahmen wird auch Rechts übernommen und nicht NUR auf das Widgets

          Screenshot (1100).png

          Edit:
          Also auf alle Attribute, habe VIS2

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

            @looxer01 sagte in [Vorlage] Servicemeldungen Volume2:

            siehe Version 3.03

            //const PathSMLog = "/iobroker/log/ServicemeldungenVol2.csv";";             // Pfad fuer Windows/  iobroker ist der angenommene iobroker home-pfad
            

            Da kommt ein Fehler, so geht es:

            const PathSMLog = "/Users/sigi/Documents/ServicemeldungenVol2.csv";             // Pfad fuer Windows/  iobroker ist der angenommene iobroker home-pfad
            
            L 1 Reply Last reply Reply Quote 0
            • L
              looxer01 @sigi234 last edited by

              @sigi234
              siehe Version 3.04

              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
                siehe Version 3.04

                Keine Änderung der Rahmen in den Attributen

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

                  @sigi234
                  ich weiss nicht genau was du meinst. Was fehlt denn genau ?

                  Aussenlinie sehen so aus:
                  Screenshot 2025-01-21 203200.png

                  und gitterlinien so:

                  Screenshot 2025-01-21 203229.png

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

                    @looxer01 sagte in [Vorlage] Servicemeldungen Volume2:

                    ich weiss nicht genau was du meinst. Was fehlt denn genau ?

                    Screenshot (1100).png

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

                      @sigi234
                      oha, das sehe ich in VIS1 nicht so.
                      kannst du die folgende funktion austauschen und testen ?

                      function generateHtmlTable(data, HistOderAkt) {
                          if (!UpdateHTML_Datenpunkte) {  return;     }
                          const uniqueClass = "custom-table";
                          const cellPadding = '6px';
                          let table = `
                              <table class="${uniqueClass}" style="
                                  width: 100%;
                                  border-collapse: collapse; /* Rahmen zusammenführen */
                                  border-spacing: 0; /* Kein Abstand zwischen Zellen */
                                  ${useBorderOutside ? `border: ${borderWidth} solid ${borderColorOutside};` : 'border: none;'}
                              ">
                          `;
                          // Scoped Stile für die Tabelle
                          table += `
                              <style>
                                  .${uniqueClass} th, .${uniqueClass} td {
                                      padding: ${cellPadding};
                                      ${useBorderAll ? `border: ${borderWidth} solid ${borderColorInside};` : 'border: none;'}
                                  }
                      
                                  .${uniqueClass} thead th {
                                      position: sticky;
                                      top: 0;
                                      background-color: ${headerColor};
                                      color: ${headerTextColor};
                                      z-index: 1;
                                  }
                              </style>
                          `;
                          // Kopfzeile
                          table += `
                              <thead>
                              <tr>
                                  <th style="text-align: left;">Datum_Seit</th>
                                  <th style="text-align: left;">Meldungsart</th>
                                  <th style="text-align: left;">Name</th>
                                  <th style="text-align: left;">GeraeteId</th>
                                  <th style="text-align: left;">Status</th>
                                  <th style="text-align: left;">Batterie</th>
                                  <th style="text-align: left;">SM_aufgehoben_seit</th>
                              </tr>
                              </thead>
                          `;
                          // Tabellenkörper
                          table += '<tbody>';
                          data.forEach((item, index) => {
                              const rowColor = index % 2 === 0 ? evenRowColor : oddRowColor; // Farben der Zeilen
                              const textColor = index % 2 === 0 ? evenRowTextColor : oddRowTextColor; // Textfarbe
                      
                              table += `
                              <tr style="background-color: ${rowColor}; color: ${textColor};">
                                  <td>${item.datum_seit}</td>
                                  <td>${item.meldungsart}</td>
                                  <td>${item.common_name}</td>
                                  <td>${item.GeraeteId}</td>
                                  <td>${item.status_message_Pure}</td>
                                  <td>${item.batterie_bezeichnung}</td>
                                  <td>${item.SM_aufgehoben_seit}</td>
                              </tr>
                              `;
                          });
                          table += '</tbody>';
                          table += '</table>';
                          // Zustand setzen je nach HistOderAkt
                          if (HistOderAkt === "AKT") {
                              setState(id_HTML_ServicemeldungLang, table);  
                          } else {
                              setState(id_HTML_Servicemeldung_History, table); 
                          }
                      }
                      
                      sigi234 1 Reply Last reply Reply Quote 0
                      • sigi234
                        sigi234 Forum Testing Most Active @looxer01 last edited by

                        @looxer01 sagte in [Vorlage] Servicemeldungen Volume2:

                        oha, das sehe ich in VIS1 nicht so.
                        kannst du die folgende funktion austauschen und testen ?

                        Jupp, wieder normal. THX

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

                          Version 3.05 ist online.

                          • global CSS Fix zur Vermeidung überbreifender HTML Effekte
                          1 Reply Last reply Reply Quote 1
                          • L
                            looxer01 last edited by looxer01

                            ich musste noch Version 3.06 nachschieben

                            • Es gab ein log, übrig geblieben vom testen. Ist jetzt entfernt
                            • Die HTML Einstellungen für den äusseren Rand habe ich entfernt. Dieser kann ohnehin über das Widget separariert eingestellt werden
                              die einstellungen sind lokal geblieben, sollten also hoffentlich keine Nebenwirkungen haben.
                            • Für die Historie übernehme ich jetzt die Batteriebezeichnung. Das Feld gabe es zwar, wurde aber nie gefüllt

                            kleine Anmerkung: mir persönlich gefällt die HTML Version der Servicemeldungen zwischenzeitlich besser als die JSON Version. 🙂

                            vG Looxer

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

                              @looxer01 sagte in [Vorlage] Servicemeldungen Volume2:

                              kleine Anmerkung: mir persönlich gefällt die HTML Version der Servicemeldungen zwischenzeitlich besser als die JSON Version

                              Mir auch. Screenshot (1102).png

                              Frage:
                              Kann man die History manuell löschen lassen via Button?
                              Im Skript wird sie ja an einen 1. Sa im Monat gelöscht, kann ich das deaktivieren?

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

                                @sigi234
                                der Schedule befindet sich in den Experteneinstellungen

                                //Schedule Zeit fuer refresh der Historie
                                const scheduleTimeClearSMTexte = "2 0 1 * *";   // Sam 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 
                                

                                ich hatte monatlich und wöchentlich vorgegeben. Das lässt sich aber beliebig anpassen. (z.B. 60 * * * * bedeutet jede 60.Minute. Da es die in cron nicht gibt, wird auch der schedule nie ausgefuehrt)
                                Einen Refresh Button könntest du dir in die VIS legen und bei Druck den Datenpunkt leeren.
                                Eine Möglichkeit ohne script wäre ein HTML State Widget. Wenn du da den Datenpunkt angibst und dann in VIS auf die fläche drückst wird der Datenpunkt geleert. Das sollte aber immer nur dann gemacht werden, wenn es keine aktuellen Servicemeldungen gibt.

                                Anmerkung. Es reicht, wenn der JSON Datenpunkt geloescht wird. Also nicht den HTML Datenpunkt löschen, da der immer wieder aufgrund des JSON Datenpunktes neu generiert wird

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

                                  @sigi234
                                  ich werde die Funktion mit einem separaten Datenpunkt und entsprechender Logik hinzufügen.
                                  Es ist eben doch ein wenig mehr als nur den Datenpunkt zu löschen.
                                  Kommt heute oder morgen.

                                  vG Looxer

                                  sieht dann ggf so aus:
                                  Screenshot 2025-01-23 110926.png

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

                                    Version 3.07 ist online.
                                    Das ging recht schnell:

                                    • Datenpunkt als Button für VIS erstellt (boolean) bei true wird eine Subscription ausgeloest
                                    • Die Subscription loescht die Historie, belaesst aber die noch aktiven Servicemeldungen in der Historie
                                    • Der schedule zur regelmäßige Löschung kann beibehalten werden oder deaktiviert werden

                                    Alles getestet.

                                    vG Looxer

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

                                      @looxer01 sagte in [Vorlage] Servicemeldungen Volume2:

                                      Der schedule zur regelmäßige Löschung kann beibehalten werden oder deaktiviert werden

                                      Wie deaktvieren?

                                      L 1 Reply Last reply Reply Quote 0
                                      • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            834
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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