Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [Vorlage] MDCSS v2: Homematic-Log in vis anzeigen

NEWS

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

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

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vismaterial uimaterial css
16 Beiträge 7 Kommentatoren 2.3k Aufrufe 8 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • 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
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #8

        @Uhula

        Okay, Danke

        1 Antwort Letzte Antwort
        0
        • P Offline
          P Offline
          pusemuckel
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • Beliar_666B Offline
              Beliar_666B Offline
              Beliar_666
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                  0
                  • UhulaU Offline
                    UhulaU Offline
                    Uhula
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #15

                      @uhulal @all

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

                      S 1 Antwort Letzte Antwort
                      0
                      • S Saschag

                        @uhulal @all

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

                        S Offline
                        S Offline
                        schittl
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        746

                        Online

                        32.4k

                        Benutzer

                        81.5k

                        Themen

                        1.3m

                        Beiträge
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Anmelden

                        • Du hast noch kein Konto? Registrieren

                        • Anmelden oder registrieren, um zu suchen
                        • Erster Beitrag
                          Letzter Beitrag
                        0
                        • Home
                        • Aktuell
                        • Tags
                        • Ungelesen 0
                        • Kategorien
                        • Unreplied
                        • Beliebt
                        • GitHub
                        • Docu
                        • Hilfe