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. Visualisierung
  4. [Vorlage] MDCSS v2: Homematic-Log in vis anzeigen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    247

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

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

[Vorlage] MDCSS v2: Homematic-Log in vis anzeigen

Scheduled Pinned Locked Moved Visualisierung
vismaterial uimaterial css
16 Posts 7 Posters 2.6k Views 8 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.
  • UhulaU Uhula
    Um ein Feedback zu erhalten wäre es schön, wenn jeder, der diese Vorlagen nutzt, den 1.Beitrag des Themas positiv bewertet (Pfeil nach oben oder unten ;-) ). Ich kann dann auch abschätzen, ob sich die weitere Pflege lohnt. Thx!

    Vorweg: Dank an diejenigen, die hier schon eine Visualisierung der HM-States realisiert haben. Dort habe ich einige Ideen abgegriffen und mit einem neuen Script und erweiterten Funktionen passend ins MDCSS übertragen.

    Dieses Script dient der Visualisierung des Zustände der Homematic-Komponenten in der vis im Material Design CSS Style als table- bzw. list-Anzeige. Die HM-States werden nicht aktiv mit on-Handler überwacht, sondern es findet im Intervall BUILD_SCHEDULER eine Aktualiserung der bis zu MAX_LOG_FOLDER Log-Ordner statt.
    In jeder log-Zeile werden bis zu zwei Balken (bargraphs) dargestellt wenn es sich z.B. um RSSI, VOLT o.ä. Daten handelt.
    Der Aufbau der table/list HTML arbeitet intensiv mit flex-Optionen um bei jeder Darstellungsbreite eine optimale Anzeige zu erstellen. In jedem Log-Ordner

    • befindet sich ein table- und list-HTML State, welcher direkt in der vis angezeigt werden kann (jeweils im basic-string (unescaped) Widget).
    • kann ein filter als string (Bsp:':rssi:') oder als RegExp (Bsp:'/warn|error/') festgelegt werden, welcher beim Aufbau der table-/list-HTML States berücksichtigt wird.
    • kann die Sortierreihenfolge festgelgt werden.

    MduiLogHM_Listview.gif
    Datei-Download: Download

    Installation

    Einfach als serverseitiges Script installieren und starten-5 Sek warten-stoppen-starten. Beim 1.Start werden
    die notwendigen States unter STATE_PATH = '0_userdata.0.mdui.logHMDevices.' erzeugt. Erst beim 2.Start
    instanziiert das Script die Event-Handler und läuft dann.

    Konfiguration

    Eigentlich ist keine notwendig.
    Optional in der Funktion MduiLogHMDevices|doInit() eine Anpassung der KONFIGURATION vornehmen
    Optional Anpassung der tmpTable und tmpList.
    Bei Anpassung der tmpTable und tmpList auch ohne MD CSS Style nutzbar.

    Dokumentation

    Beispiel vis-view beschrieben in:

    States

    Unter dem STATE_PATH werden die folgenden States erzeugt:
    version : Script-Version, wird verwendet um Script-Updates zu erkennen
    updatePressed : auf true setzen, wenn ein table/list update außerhalb des Intervals erfolgen soll

    Weiterhin werden MAX_LOG_FOLDER Unterordner im STATE_PATH erzeugt (N=0-9):

    • LogN.table : enthält die table-HTML für ein basic-string (unescaped) Widget
    • LogN.list : enthält die list-HTML für ein basic-string (unescaped) Widget
    • LogN.count : Anzahl der Log-Zeilen (wenn das Log mit '/:error:|:warn:/' gefiltert ist, dann ist es die Anzahl der Fehler/Warnungen)
    • LogN.filter : Filter, der auch die logCache angewendet wurde im .table/.list zu erzeugen (siehe Filter)
    • LogN.lastUpdate : Timestamp des letzten Updates
    • LogN.sortBy : Sortierung nach welchem Feld
    • LogN.sortAscending: true=aufsteigend sortieren

    Filter

    In den filter-States können sowohl strings (Bsp:'error') als auch RegExp-Strings (Bsp:'/warn|error/')
    hinterlegt werden. RegExp-Strings werden an den einschließenden '/' erkannt. Über den ':' kann der Anfang
    eines Feldes mit in den Filter einbezogen werden.
    Beispiele:
    '/error|warn/' (RegExp) zeigt alle Zeilen an, in denen 'error' oder 'warn' in irgendeinem Feld vorkommen
    '/:error:|:warn:/' (RegExp) zeigt alle Zeilen an, welche dem Typ 'error' oder 'warn' entsprechen
    'rssi' (string) zeigt alle Zeilen an, in denen 'rssi' in irgendeinem Feld vorkommt
    ':rssi:' (string) zeigt alle Zeilen an, in welchen ein Feld den Inhalt 'rssi' hat

    Lizenz

    (c) 2020 by UH, MIT License, no warranty, use on your own risc

    :arrow_forward: Beschreibung (Github)
    :arrow_forward: Datei-Download (Github)


    MduiLogHM_Listview_Bars.gif

    MduiLogHM_Tableview.gif

    MduiLogHM_Tableview_Outlined.gif

    sigi234S Offline
    sigi234S Offline
    sigi234
    Forum Testing Most Active
    wrote on last edited by
    #4

    @Uhula

    Hallo, könnte man das nicht auf andere Logs ausweiten?

    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
    Immer Daten sichern!

    UhulaU 1 Reply Last reply
    0
    • sigi234S sigi234

      @Uhula

      Hallo, könnte man das nicht auf andere Logs ausweiten?

      UhulaU Offline
      UhulaU Offline
      Uhula
      wrote on last edited by Uhula
      #5

      @sigi234 Ja, habe ich teilweise auch schon. Von einem umfassenden View, der praktisch alle Logs darstellt, rate ich ab, da das Script dann zu aufwendig wird. Ich bastel lieber spezialisierte Logs. Oder halt jeder, der einen View braucht und als Basis einen der vorhandenen nehmen kann. Auf der anderen Seite ist dieses Script schon ziemlich offen und könnte durch neue States leicht erweitert werden ... mal sehen

      • [Vorlage] MDCSS v2: Homatic-Log in vis anzeigen
      • [Vorlage] MDCSS v2: ioBroker Log in vis anzeigen
      • [Vorlage] MDCSS v2: ping-Adapter in vis anzeigen
      • [Vorlage] MDCSS v2: tr-064/devices-Adapter in vis anzeigen

      Uhula - Leise und Weise
      Ex: ioBroker on Gigabyte NUC Proxmox

      1 Reply Last reply
      2
      • UhulaU Uhula
        Um ein Feedback zu erhalten wäre es schön, wenn jeder, der diese Vorlagen nutzt, den 1.Beitrag des Themas positiv bewertet (Pfeil nach oben oder unten ;-) ). Ich kann dann auch abschätzen, ob sich die weitere Pflege lohnt. Thx!

        Vorweg: Dank an diejenigen, die hier schon eine Visualisierung der HM-States realisiert haben. Dort habe ich einige Ideen abgegriffen und mit einem neuen Script und erweiterten Funktionen passend ins MDCSS übertragen.

        Dieses Script dient der Visualisierung des Zustände der Homematic-Komponenten in der vis im Material Design CSS Style als table- bzw. list-Anzeige. Die HM-States werden nicht aktiv mit on-Handler überwacht, sondern es findet im Intervall BUILD_SCHEDULER eine Aktualiserung der bis zu MAX_LOG_FOLDER Log-Ordner statt.
        In jeder log-Zeile werden bis zu zwei Balken (bargraphs) dargestellt wenn es sich z.B. um RSSI, VOLT o.ä. Daten handelt.
        Der Aufbau der table/list HTML arbeitet intensiv mit flex-Optionen um bei jeder Darstellungsbreite eine optimale Anzeige zu erstellen. In jedem Log-Ordner

        • befindet sich ein table- und list-HTML State, welcher direkt in der vis angezeigt werden kann (jeweils im basic-string (unescaped) Widget).
        • kann ein filter als string (Bsp:':rssi:') oder als RegExp (Bsp:'/warn|error/') festgelegt werden, welcher beim Aufbau der table-/list-HTML States berücksichtigt wird.
        • kann die Sortierreihenfolge festgelgt werden.

        MduiLogHM_Listview.gif
        Datei-Download: Download

        Installation

        Einfach als serverseitiges Script installieren und starten-5 Sek warten-stoppen-starten. Beim 1.Start werden
        die notwendigen States unter STATE_PATH = '0_userdata.0.mdui.logHMDevices.' erzeugt. Erst beim 2.Start
        instanziiert das Script die Event-Handler und läuft dann.

        Konfiguration

        Eigentlich ist keine notwendig.
        Optional in der Funktion MduiLogHMDevices|doInit() eine Anpassung der KONFIGURATION vornehmen
        Optional Anpassung der tmpTable und tmpList.
        Bei Anpassung der tmpTable und tmpList auch ohne MD CSS Style nutzbar.

        Dokumentation

        Beispiel vis-view beschrieben in:

        States

        Unter dem STATE_PATH werden die folgenden States erzeugt:
        version : Script-Version, wird verwendet um Script-Updates zu erkennen
        updatePressed : auf true setzen, wenn ein table/list update außerhalb des Intervals erfolgen soll

        Weiterhin werden MAX_LOG_FOLDER Unterordner im STATE_PATH erzeugt (N=0-9):

        • LogN.table : enthält die table-HTML für ein basic-string (unescaped) Widget
        • LogN.list : enthält die list-HTML für ein basic-string (unescaped) Widget
        • LogN.count : Anzahl der Log-Zeilen (wenn das Log mit '/:error:|:warn:/' gefiltert ist, dann ist es die Anzahl der Fehler/Warnungen)
        • LogN.filter : Filter, der auch die logCache angewendet wurde im .table/.list zu erzeugen (siehe Filter)
        • LogN.lastUpdate : Timestamp des letzten Updates
        • LogN.sortBy : Sortierung nach welchem Feld
        • LogN.sortAscending: true=aufsteigend sortieren

        Filter

        In den filter-States können sowohl strings (Bsp:'error') als auch RegExp-Strings (Bsp:'/warn|error/')
        hinterlegt werden. RegExp-Strings werden an den einschließenden '/' erkannt. Über den ':' kann der Anfang
        eines Feldes mit in den Filter einbezogen werden.
        Beispiele:
        '/error|warn/' (RegExp) zeigt alle Zeilen an, in denen 'error' oder 'warn' in irgendeinem Feld vorkommen
        '/:error:|:warn:/' (RegExp) zeigt alle Zeilen an, welche dem Typ 'error' oder 'warn' entsprechen
        'rssi' (string) zeigt alle Zeilen an, in denen 'rssi' in irgendeinem Feld vorkommt
        ':rssi:' (string) zeigt alle Zeilen an, in welchen ein Feld den Inhalt 'rssi' hat

        Lizenz

        (c) 2020 by UH, MIT License, no warranty, use on your own risc

        :arrow_forward: Beschreibung (Github)
        :arrow_forward: Datei-Download (Github)


        MduiLogHM_Listview_Bars.gif

        MduiLogHM_Tableview.gif

        MduiLogHM_Tableview_Outlined.gif

        B Offline
        B Offline
        Berchemer
        wrote on last edited by
        #6

        @Uhula sagte in [Vorlage] MDCSS v2: Homematic-Log in vis anzeigen:

        Einfach als serverseitiges Script installieren und starten-5 Sek warten-stoppen-starten. Beim 1.Start werden

        Tschuldigt bitte für die Frage, aber was ist nochmal ein serverseitiges Skript???
        Läuft das innerhalb des JS-Adapters in ioBroker oder außerhalb von ioBroker???

        UhulaU 1 Reply Last reply
        0
        • B Berchemer

          @Uhula sagte in [Vorlage] MDCSS v2: Homematic-Log in vis anzeigen:

          Einfach als serverseitiges Script installieren und starten-5 Sek warten-stoppen-starten. Beim 1.Start werden

          Tschuldigt bitte für die Frage, aber was ist nochmal ein serverseitiges Skript???
          Läuft das innerhalb des JS-Adapters in ioBroker oder außerhalb von ioBroker???

          UhulaU Offline
          UhulaU Offline
          Uhula
          wrote on last edited by
          #7

          @Berchemer Im JS-Adapter vom ioBroker, als "normales" Script. Ich nenne es "serverseitig", damit man nicht in Versuchung kommt, es in der vis als Script einzubinden.

          Uhula - Leise und Weise
          Ex: ioBroker on Gigabyte NUC Proxmox

          1 Reply Last reply
          1
          • UhulaU Uhula

            @Saschag Hier muss zwischen den alten HM Komponenten und den neuen HMIP unterschieden werden. Die HM liefern keine Werte für die Betriebsspannungen, nur die HMIP. Weiterhin liefern die HM Komponenten (oder der Adapter) für die RSSI Werte keinen negativen dBm Wert (Bsp: -50) sondern einen positiven Wert (Bsp: 205); den korrigiere ich für die Anzeige durch Abzug von 255 (Bsp: 205 - 255 = -50 dBm). Viele Komponenten liefern auch nur 0/1 dBm - die ignoriere ich.

            S Offline
            S Offline
            Saschag
            wrote on last edited by
            #8

            @Uhula

            Okay, Danke

            1 Reply Last reply
            0
            • P Offline
              P Offline
              pusemuckel
              wrote on last edited by
              #9

              @Uhula, Ich möchte hier einfach mal Danke sagen!
              Toll dass Du Deine Scripte und das CSS der allgemeinheit zur Verfügung stellst!
              Gruß
              Jörg

              UhulaU 1 Reply Last reply
              0
              • P pusemuckel

                @Uhula, Ich möchte hier einfach mal Danke sagen!
                Toll dass Du Deine Scripte und das CSS der allgemeinheit zur Verfügung stellst!
                Gruß
                Jörg

                UhulaU Offline
                UhulaU Offline
                Uhula
                wrote on last edited by
                #10

                @pusemuckel Ist ja nicht ganz uneigennützig. Ich nutze die Scripte auch selbst ;-) Außerdem habe ich hier in der Community schon so einige Ideen abgegriffen, so dass es fair ist die eigenen Dinge, wenn sie denn auch für andere von Interesse sein können, zu teilen.

                Uhula - Leise und Weise
                Ex: ioBroker on Gigabyte NUC Proxmox

                1 Reply Last reply
                0
                • Beliar_666B Offline
                  Beliar_666B Offline
                  Beliar_666
                  wrote on last edited by
                  #11

                  @Uhula Wie bastel ich das aber nun in so eine geile Tabelle wie in der Vorschaugrafik? Also so mit den Auswahl und Sortiermöglichkeiten? Hab jetzt eine der Tabellen in ein Basic String unescaped widget gepackt, somit habe ich ja nur eine einfache Liste oder Tabelle, je nachdem welchen Datenpunkt ich dann auswähle.

                  UhulaU 1 Reply Last reply
                  0
                  • Beliar_666B Beliar_666

                    @Uhula Wie bastel ich das aber nun in so eine geile Tabelle wie in der Vorschaugrafik? Also so mit den Auswahl und Sortiermöglichkeiten? Hab jetzt eine der Tabellen in ein Basic String unescaped widget gepackt, somit habe ich ja nur eine einfache Liste oder Tabelle, je nachdem welchen Datenpunkt ich dann auswähle.

                    UhulaU Offline
                    UhulaU Offline
                    Uhula
                    wrote on last edited by
                    #12

                    @Beliar_666 Dazu musst du auch die Views mit importieren - und entsprechend deinen Wünschen anpassen. Vorteil: Da sind die Edit-Felder/Buttons usw schon drin.

                    Wenn es genau so aussehen soll, wie in den Vorschau-Bildern, musst du die MDCSS v2 nutzen - allerdings benötigt das einige Einarbeitungszeit. MDCSS v2

                    Uhula - Leise und Weise
                    Ex: ioBroker on Gigabyte NUC Proxmox

                    Beliar_666B 1 Reply Last reply
                    1
                    • UhulaU Uhula

                      @Beliar_666 Dazu musst du auch die Views mit importieren - und entsprechend deinen Wünschen anpassen. Vorteil: Da sind die Edit-Felder/Buttons usw schon drin.

                      Wenn es genau so aussehen soll, wie in den Vorschau-Bildern, musst du die MDCSS v2 nutzen - allerdings benötigt das einige Einarbeitungszeit. MDCSS v2

                      Beliar_666B Offline
                      Beliar_666B Offline
                      Beliar_666
                      wrote on last edited by Beliar_666
                      #13

                      @Uhula Ja, das MDCSS v2 nutzt ja auch die Heating Control Vis von Pittini. Aber wo finde ich denn zu diesem hier View? Entweder bin ich blind oder seh den Wald vor lauter bäumen nicht.

                      AHHHH,

                      Ich habe den Wald nicht gesehen.... Die Json ist die View. jetzt hab ichs kapiert.... Danke!

                      1 Reply Last reply
                      0
                      • UhulaU Offline
                        UhulaU Offline
                        Uhula
                        wrote on last edited by
                        #14

                        Update 2020.04.30 UH

                        • Anpassung an neues MduiBase (intern)
                        • Anpassung an MDCSS 2.5
                        • Verschieben der Filter/Sortiereingabe in das Popupmenü; dadurch mehr Anzeigeplatz
                        Um ein Feedback zu erhalten wäre es schön, wenn jeder, der diese Vorlagen nutzt, den 1.Beitrag des Themas positiv bewertet (Pfeil nach oben oder unten ;-) ). Ich kann dann auch abschätzen, ob sich die weitere Pflege lohnt. Thx!

                        Uhula - Leise und Weise
                        Ex: ioBroker on Gigabyte NUC Proxmox

                        S 1 Reply Last reply
                        1
                        • UhulaU Uhula

                          Update 2020.04.30 UH

                          • Anpassung an neues MduiBase (intern)
                          • Anpassung an MDCSS 2.5
                          • Verschieben der Filter/Sortiereingabe in das Popupmenü; dadurch mehr Anzeigeplatz
                          Um ein Feedback zu erhalten wäre es schön, wenn jeder, der diese Vorlagen nutzt, den 1.Beitrag des Themas positiv bewertet (Pfeil nach oben oder unten ;-) ). Ich kann dann auch abschätzen, ob sich die weitere Pflege lohnt. Thx!
                          S Offline
                          S Offline
                          Saschag
                          wrote on last edited by
                          #15

                          @uhulal @all

                          Ich bekomme seit neusten einfach nichts mehr angezeigt, hat noch jemand dieses Problem?

                          S 1 Reply Last reply
                          0
                          • S Saschag

                            @uhulal @all

                            Ich bekomme seit neusten einfach nichts mehr angezeigt, hat noch jemand dieses Problem?

                            S Offline
                            S Offline
                            schittl
                            wrote on last edited by
                            #16

                            @saschag

                            Folgendes musst Du ändern. Bei allen Selektors muss das $-Zeichen entfernt werden. Das Beispiel ist für LOWBAT:

                            alt:

                                        'LOWBAT'  : { '_statetype':'lowbat', 
                                                      '_selectors':['channel[state.id=hm-rpc.*.0.LOWBAT_ALARM$]','channel[state.id=hm-rpc.*.0.LOW_BAT_ALARM$]'],
                                                      '_desc':'Batterie-Überwachung',
                                                      '_states' : {'0':{'msg':'Batterie ist ok',                 'msgtype':this.MSG_TYPE_OK,   'msgshow':this.MSG_SHOW_OK}, 
                                                                   '1':{'msg':'Batteriespannung ist zu niedrig', 'msgtype':this.MSG_TYPE_WARN, 'msgshow':true}, 
                                                                   '2':{'msg':'Batteriespannung war zu niedrig', 'msgtype':this.MSG_TYPE_INFO, 'msgshow':this.MSG_SHOW_INFO}
                                                                  },
                                                      '_buildFunc': this.buildLOWBAT.bind(this) },
                            
                            

                            neu:

                                        'LOWBAT'  : { '_statetype':'lowbat', 
                                                      '_selectors':['channel[state.id=hm-rpc.*.0.LOWBAT_ALARM]','channel[state.id=hm-rpc.*.0.LOW_BAT_ALARM]'],
                                                      '_desc':'Batterie-Überwachung',
                                                      '_states' : {'0':{'msg':'Batterie ist ok',                 'msgtype':this.MSG_TYPE_OK,   'msgshow':this.MSG_SHOW_OK}, 
                                                                   '1':{'msg':'Batteriespannung ist zu niedrig', 'msgtype':this.MSG_TYPE_WARN, 'msgshow':true}, 
                                                                   '2':{'msg':'Batteriespannung war zu niedrig', 'msgtype':this.MSG_TYPE_INFO, 'msgshow':this.MSG_SHOW_INFO}
                                                                  },
                                                      '_buildFunc': this.buildLOWBAT.bind(this) },
                            
                            

                            HW: Lenovo M920q (Proxmox, ioBroker, RaspMatic & Z2M), QNAP (Docker, Influx), Arduino Mega 2560 R3 (I2C DS18B20 + LED)

                            SW: CT IoBroker, VM RaspMatic(v3.79.6.20241122)

                            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

                            227

                            Online

                            32.7k

                            Users

                            82.5k

                            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