Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. HTML Tabelle für Shelly Device Übersicht

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    HTML Tabelle für Shelly Device Übersicht

    This topic has been deleted. Only users with topic management privileges can see it.
    • Latzi
      Latzi @liv-in-sky last edited by Latzi

      @liv-in-sky sagte in HTML Tabelle für Shelly Device Übersicht:

      nutzt du das neue script von github oder das script, was hier im ersten post steht?

      Nicht von github, es ist lauf header eine Version //@liv-in-sky 2021 5.3.-08:11

      @liv-in-sky sagte in HTML Tabelle für Shelly Device Übersicht:

      wie sieht der datenpunkt jetzt genau aus - ich habe keinen shelly adapter installiert - zeig mal ein bild, was im dp steht - wurde da noch mehr geändert ?

      5296f3a9-193a-4ef8-bf77-4459dbce4cd9-grafik.png

      Ganz unten die uptime

      @liv-in-sky sagte in HTML Tabelle für Shelly Device Übersicht:

      so richtig sinn macht die fehlermeldung eh nicht - egal in welcher version des scriptes - poste auch die zeilen um zeile 182 (+/- 3 zeilen) deines scriptes

      bitte sehr, ich hab´s ab der Schleife kopiert

      $('shelly.*.*.name').each(function(id, i) {           // hier eigene schleife definieren und den wert counter++ nicht vergessen  !!!
           
       
       
                var ida = id.split('.');
           
             //   if(existsState(id) && existsState(id.replace("alive","uptime"))) {
       
                getState(id).val!=null &&  getState(id).val!="" && getState(id).val!=undefined ?val[0]=getState(id).val : val[0]=" --- ";
               
               if (existsState(id.replace("name","hostname"))) val[1]=getState(id.replace("name","hostname")).val;
               if (existsState(id.replace("name","online"))) val[2]=getState(id.replace("name","online")).val;
               if (existsState(id.replace("name","uptime"))) val[3]=getState(id.replace("name","uptime")).val;
      
              valueuptime=(Number(val[3].replace(/.*?([0-9][0-9]?)\:.*/,"$1"))*60*60)+
                                (Number(val[3].replace(/.*?[0-9][0-9]?\:([0-9][0-9]?)\:.*/,"$1"))*60)
      

      Ich hoffe, du kannst damit etwas anfangen und bedanke mich vielmals für deine Unterstützung!!! 👏

      1 Reply Last reply Reply Quote 0
      • Latzi
        Latzi @da_Woody last edited by

        @da_woody
        bist du schon auf der Shelly 6.0.0?
        Falls ja, läuft dein script damit?
        Falls nochmals ja, hast du das script von github - vermute ich - am laufen?

        da_Woody amg_666 liv-in-sky 4 Replies Last reply Reply Quote 0
        • da_Woody
          da_Woody @Latzi last edited by da_Woody

          @latzi nope, 6.0 hab ich gerade erst angeboten bekommen. allerdings verwende ich das script im mom nicht mehr. bin gerade device watcher am testen. https://github.com/ciddi89/ioBroker.device-watcher
          brauch nur die übersicht.
          a9716246-3f0c-484e-b2cb-aa491dc58a18-grafik.png
          schalten tu ich über iQontrol listen dingens. notfalls. normal in den räumen.
          die listen sind da als widgets eingebunden, hab ich aber noch keine zeit gehabt das ansehentlicher zu machen.
          bei meteoalarm hab ich schon in den einstellungen gebastelt. zeit und lust ist halt relativ... 😉
          f92639db-1db0-4d14-aed4-1b6950e8b7fa-grafik.png

          1 Reply Last reply Reply Quote 0
          • amg_666
            amg_666 @Latzi last edited by

            @liv-in-sky Hallo, ich bekomme das Skript nicht ans Laufen. Bei Programmstart liefert er mir Fehler:

            16:27:09.269	info	javascript.0 (11145) Stop script script.js.Devicemanagement.Shelly_Watchdog
            16:27:09.445	info	javascript.0 (11145) Start javascript script.js.Devicemanagement.Shelly_Watchdog
            16:27:09.507	info	javascript.0 (11145) script.js.Devicemanagement.Shelly_Watchdog: registered 0 subscriptions, 0 schedules and 0 file subscriptions
            16:27:09.509	error	javascript.0 (11145) script.js.Devicemanagement.Shelly_Watchdog: TypeError: val[5].replace is not a function
            16:27:09.509	error	javascript.0 (11145) at script.js.Devicemanagement.Shelly_Watchdog:364:80
            16:27:09.509	error	javascript.0 (11145) at writeHTML (script.js.Devicemanagement.Shelly_Watchdog:341:23)
            16:27:09.510	error	javascript.0 (11145) at script.js.Devicemanagement.Shelly_Watchdog:781:5
            16:27:09.510	error	javascript.0 (11145) at script.js.Devicemanagement.Shelly_Watchdog:1467:3
            
            

            Die DP werden unter unter javascript.0.xxx angelegt, aber HTMLTabelleVist ist "empty"

            1 Reply Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @Latzi last edited by

              @latzi
              es handelt sich also insgesamt um 3 verschiedene scripte - deines, das vom ersten post und eines auf github

              ich habe keinen alten scripte mehr aufgehoben- du mußt also dein ganzes script hier posten - ich kann momentan wenig zeit mit iobroker verbringen - daher könnte es etwas dauern - wenn überhaupt 😞
              wenn sich bei den dp etwas geändert hat, muss ich das zuerst abfragen, welche type der dp hat und auch das sortieren müßte wohl angeglichen werden. poste mal das script - ich überlege mir dann später, ob ich wirklich 3 verschiedene scripte pflegen will - solche nachträglichen datenpunkt-/adapteränderungen sind nervig

              @amg_666 welches script nutzt du und welche adapter version ?

              da_Woody amg_666 2 Replies Last reply Reply Quote 0
              • da_Woody
                da_Woody @liv-in-sky last edited by

                @liv-in-sky sagte in HTML Tabelle für Shelly Device Übersicht:

                @latzi
                es handelt sich also insgesamt um 3 verschiedene scripte - deines, das vom ersten post und eines auf github

                wenn ich heute abend zeit habe, versuch ich mal meine scripte zu reaktivieren... updates hab ich mal durchgezogen...

                1 Reply Last reply Reply Quote 0
                • amg_666
                  amg_666 @liv-in-sky last edited by

                  @liv-in-sky Ich benutze dieses Script und Shelly 6.0.0

                  liv-in-sky 2 Replies Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @amg_666 last edited by

                    @amg_666

                    dann hast du das selbe problem - der adapter hat wohl einen dp umdefiniert - daher könnte das script ein problem haben

                    amg_666 da_Woody haus-automatisierung 3 Replies Last reply Reply Quote 0
                    • amg_666
                      amg_666 @liv-in-sky last edited by

                      @liv-in-sky sieht so aus. ich hab mal die fehlerhafte If-Anweisung rausgenommen, dann läuft er durch.
                      Im Skript ist das ab Zeile 362:

                              //  if (existsState(id.replace("id","uptime"))) { if(getState(id.replace("id","uptime")).val!=null &&  getState(id.replace("id","uptime")).val!="" && getState(id.replace("id","uptime")).val!=undefined ) {
                              //                                                    val[5]=getState(id.replace("id","uptime")).val;
                              //                                                    valueuptime=val[5].replace(/^([0-9]*?D)([0-9][0-9]:.*)/,"$1 $2" );// log(valueuptime)
                              //                                                    valueuptime=valueuptime.replace(/^([0-9]*?:.*)/,"0D $1" ); //log(valueuptime)
                              //                                                    val[5]=valueuptime
                      
                              //                                                    }
                              //                                                     else{val[3]="noUptime"}}
                                                                                  // log(valueuptime.toString()+"  ----" +val[3].replace(/^(.+)D.+/,"$1")) 
                              //                                                    if(!Boolean(val[1])) valueuptime=val[5]="00:00:00"
                      
                      

                      Damit hat er natürlich in der Vis-Tabelle bei "UPTIME" jetzt undefined stehen, ich brauch den Wert aber nicht.
                      Wär natürlich super wenn du das gefixt kriegst 🙂

                      Danke für den Support und die tolle Arbeit !

                      liv-in-sky haus-automatisierung 2 Replies Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @amg_666 last edited by liv-in-sky

                        @amg_666

                        für die schönheit: einfach nach dem auskommentierten bereich den wert val[5] definieren mit

                        val[5]="na";

                        dann sollte wenigstens das undefined weg sein

                        ODER du machst folgendes statt dem auskommentierten bereich:

                        if (existsState(id.replace("id","uptime"))) { if(getState(id.replace("id","uptime")).val!=null &&  getState(id.replace("id","uptime")).val!="" && getState(id.replace("id","uptime")).val!=undefined ) {
                        
                                                                                   val[5]=String(getState(id.replace("id","uptime")).val);} else{val[5]="na";}} else{val[5]="na";}
                        
                        1 Reply Last reply Reply Quote 0
                        • da_Woody
                          da_Woody @liv-in-sky last edited by

                          @liv-in-sky sagte in HTML Tabelle für Shelly Device Übersicht:

                          der adapter hat wohl einen dp umdefiniert

                          glaub ich eher nicht, aber vllt ein tippfehler?
                          mal schauen, was @haus-automatisierung dazu meint...

                          1 Reply Last reply Reply Quote 0
                          • haus-automatisierung
                            haus-automatisierung Developer Most Active @liv-in-sky last edited by

                            @liv-in-sky sagte in HTML Tabelle für Shelly Device Übersicht:

                            der adapter hat wohl einen dp umdefiniert - daher könnte das script ein problem haben

                            Nicht bewusst. Welchen denn?

                            1 Reply Last reply Reply Quote 0
                            • haus-automatisierung
                              haus-automatisierung Developer Most Active @amg_666 last edited by haus-automatisierung

                              @amg_666 sagte in HTML Tabelle für Shelly Device Übersicht:

                              ich hab mal die fehlerhafte If-Anweisung rausgenommen, dann läuft er durch.

                              Ahhh jetzt verstehe ich. Siehe Changelog für 6.0.0:

                              (klein0r) Breaking: Uptime is now a number (seconds since boot)

                              Das wurde sich hier gewünscht: https://github.com/iobroker-community-adapters/ioBroker.shelly/issues/604

                              Am besten im Script selbst umwandeln. Ihr könnt ja die alte Funktion (welche aus dem Adapter rausgeflogen ist) mit in das Script aufnehmen:

                              function uptimeString(uptime) {
                                   if (uptime < 0) {
                                       uptime = 0;
                                   }
                              
                                   const timeDifference = new Date(uptime * 1000);
                                   const secondsInADay = 60 * 60 * 1000 * 24;
                                   const secondsInAHour = 60 * 60 * 1000;
                                   const days = Math.floor(timeDifference / (secondsInADay) * 1);
                                   let hours = Math.floor((timeDifference % (secondsInADay)) / (secondsInAHour) * 1);
                                   let mins = Math.floor(((timeDifference % (secondsInADay)) % (secondsInAHour)) / (60 * 1000) * 1);
                                   let secs = Math.floor((((timeDifference % (secondsInADay)) % (secondsInAHour)) % (60 * 1000)) / 1000 * 1);
                              
                                   if (hours < 10) { hours = '0' + hours; }
                                   if (mins < 10) { mins = '0' + mins; }
                                   if (secs < 10) { secs = '0' + secs; }
                              
                                   if (days > 0) {
                                       return days + 'D' + hours + ':' + mins + ':' + secs;
                                   } else {
                                       return hours + ':' + mins + ':' + secs;
                                   }
                               }
                              
                              neuffer created this issue in iobroker-community-adapters/ioBroker.shelly

                              closed Uptime string format #604

                              liv-in-sky 1 Reply Last reply Reply Quote 1
                              • liv-in-sky
                                liv-in-sky @amg_666 last edited by

                                @amg_666

                                bitte teste mal das neue script auf github https://github.com/liv-in-sky/html-script-shelly---iobroker

                                dort wird unterschieden zwischen den alten und neuen dp für uptime

                                falls du irgendwelche settings im script gemacht hast - kannst du diese wieder reinkopieren (im oberen teil des scriptes)

                                amg_666 1 Reply Last reply Reply Quote 0
                                • liv-in-sky
                                  liv-in-sky @Latzi last edited by

                                  @latzi

                                  im ersten post ist auch ein upgedates script - jetzt bräuchte ich nur deines, um das auch zu ändern

                                  bitte poste dein script hier - beim script kopieren und einsetzen nicht mit firefox arbeiten !! am besten mit chrome

                                  du kannst auch dein script kopieren, in notepad++ einfügen, speichern und diese datei hier posten - oder direct in codetags in einem spoilertag in einem post

                                  Latzi 1 Reply Last reply Reply Quote 0
                                  • liv-in-sky
                                    liv-in-sky @haus-automatisierung last edited by

                                    @haus-automatisierung sagte in HTML Tabelle für Shelly Device Übersicht:

                                    Am besten im Script selbst umwandeln. Ihr könnt ja die alte Funktion (welche aus dem Adapter rausgeflogen ist) mit in das Script aufnehmen:

                                    danke für die uptimeString-function !!!

                                    1 Reply Last reply Reply Quote 0
                                    • Latzi
                                      Latzi @liv-in-sky last edited by

                                      @liv-in-sky sagte in HTML Tabelle für Shelly Device Übersicht:

                                      jetzt bräuchte ich nur deines, um das auch zu ändern

                                      Ach lass mal, vielen Dank für die pfeilschnelle Umsetzung, ich steig auf die aktuelle Version um - es gibt keinen besseren Grund!

                                      1 Reply Last reply Reply Quote 0
                                      • amg_666
                                        amg_666 @liv-in-sky last edited by

                                        @liv-in-sky Das sieht jetzt sehr gut aus, Skript läuft fehlerfrei und Uptime wird korrekt ermittelt.
                                        6dabbb89-5ffc-47f4-81a7-e0fe408c1743-grafik.png

                                        M 1 Reply Last reply Reply Quote 0
                                        • M
                                          manrum1 @amg_666 last edited by

                                          @liv-in-sky Hallo,ich habe verstanden worum es grundsätzlich geht, allerdings fehlt mir der Einstieg und bitte darum um Hilfe:
                                          Was brauche ich um die Tabelle ans Laufen zu bringen? Gibt es dazu eine detailiertere Anleitung als in Github?

                                          Ich frage vielleicht deshalb so dumm, weil ich (bisher) VIS nicht einsetze.

                                          amg_666 1 Reply Last reply Reply Quote 0
                                          • amg_666
                                            amg_666 @manrum1 last edited by

                                            @manrum1 Hast du denn das Skript bei dir am Laufen? Wenn es nur um die Visualisierung geht, kannst du im vis Editor einfach oben rechts auf "widgets importieren" klicken und da dann diesen Text reinkopieren

                                            [{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"{javascript.0.Tabellen@Liv.ShellyTabelleVIS.HTMLTableVis}"},"style":{"left":"906px","top":"160px","width":"915px","height":"400px"},"widgetSet":"basic"}]
                                            

                                            du musst dann evtl noch den genauen Ort des Datenpunktes anpassen, bei mir ist das
                                            javascript.0.Tabellen@Liv.ShellyTabelleVIS.HTMLTableVis und das kannst du im Widget rechts bei Eigenschaften HTML anpassen falls nötig.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            657
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            13
                                            261
                                            28146
                                            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