NEWS

HTML-Table für VIS oder Iqontrol (js und blockly)



  • mit diesem script kann man HTML Tabellen erzeugen - diese können dann in der VIS oder Iqontrol eingebunden werden - via iframe
    es gibt jeweils ein script für 2,3,4 oder 5 spalten (anzuzeigende werte) - iqontrol braucht ein extra file, um eine tabelle anzeigen zu können - für die vis reicht ein datenpunkt mit einer html-tabelle darin - beides kann das script erzeugen

    • kann auch in blockly übernommen werden - siehe beschreibung unten

    • die eigentliche aufgabe ist es, eine eigene schleife in das script einzutragen, welche die gewünschten werte liefert

    • das beispiel im script erzeugt eine datei htmlexample.html und legt es im iobroker-file-system unter /opt/iobroker/iobroker-data/files/vis.0 ab - als beispiel werden die adapter-zustände angezeigt - somit ist jedes der scripte schon lauffähig

    • es ist ein schedule am ende des scripts - alle 20 sekunden eingestellt - bitte ändern und an eigene bedürfnisse angleichen

    • das file ist im netzwerk erreichbar unter: http://192.168.178.59:8082/vis.0/htmlexample.html - der port und die ip adresse muss natürlich auf das eigene netzwerk angeglichen werden - port ist in dem instanz-setting der web-instanz zu entnehmen

    • für iQontrol kann man ein popup verwenden (eingetragen im feld :HTML - der port und die ip adresse angleichen)
      <iframe width="100% "height="100% "frameborder="0" src="/vis.0/htmlexample.html"></iframe>

    • es kann auch ein datenpunkt für die anzeige in der vis erzeugt werden - in einem eigenen datenpunkt wird dann die tabelle geschrieben - mit binding in das basic-html-widget eintragen

    • die tabelle kann verschiedenartig formatiert werden (auch im 1-, 2-, 3- oder 4-tabellen-nebeneinander-format (damit es kürzer, aber dafür breiter wird) - damit jede tabelle unterscheidbar ist, können die spaltenüberschriften und die felderschrift für jede 2.te tabelle geändert werden

    bisher realisiert:

    forum link MaterialDesign Widget
    tabelle für batterie anzeige für sensoren (z.b. xiaomi): https://forum.iobroker.net/topic/28789/script-fürtabelle-der-batterie-zustände ja
    tabelle für web-speedy adapter: https://forum.iobroker.net/topic/30226/html-tabelle-für-webspeedy-adapter-vis-iqontrol
    tabelle sonoff geräte: https://forum.iobroker.net/topic/28953/sonoff-geräte-als-html-tabelle-vis-iqontrol
    fussball tabelle https://forum.iobroker.net/topic/29526/fussballmeisterschat-html-tabelle
    energieverbrauch anzeige https://forum.iobroker.net/topic/29189/energieanzeige-kwh-über-html-tabelle-vis ja
    IP geräte im netzwerk https://forum.iobroker.net/topic/30057/ip-devices-im-netzwerk-html-tabelle-vis-iqontrol ja
    alexa listen als tabelle https://forum.iobroker.net/topic/28254/script-alexa-listen-pflegen-und-anzeigen
    liste backitup adapter https://forum.iobroker.net/topic/30705/html-tabelle-für-backitup
    alexa smart device https://forum.iobroker.net/topic/30833/html-table-für-alexa-smart-devices
    ping adapter https://forum.iobroker.net/post/396547
    time-switch adapter https://forum.iobroker.net/topic/33088/html-tabelle-für-time-switch-adapter
    unifi clients vom neuen adapter https://forum.iobroker.net/topic/34491/htmltabelle-unificlients-newadapter
    trashschedule anfallende tonnen https://forum.iobroker.net/topic/35399/html-tabelle-für-trashschedule-adapter ja
    Lebensmittel Warnungs Script https://forum.iobroker.net/topic/35474/html-tabelle-lebensmittel-warnung
    Calender Adapter https://forum.iobroker.net/topic/35791/html-tabelle-calendar-adapter
    Linux-Control https://forum.iobroker.net/topic/35880/html-tabelle-linux-control-adapter
    email postfach https://forum.iobroker.net/topic/36558/html-tabelle-für-email-postfach
    Tasmota Timer Tabelle mit Setzen eines Timers https://forum.iobroker.net/topic/36613/html-tabelle-für-tasmota-timer-setzen
    TankerKölnig adapter https://forum.iobroker.net/topic/37609/html-tabelle-für-tankerkönig

    Image 9.png Image 8.png

    was kann man alles einstellen:

    • tabelle zentrieren
    • schriftart, schriftgröße
    • größe der zellen beispiele: https://forum.iobroker.net/post/348791
    • tabelle aufteilen - nebeneinander - 1,2,3 oder4
    • farben: hintergrund allgemein, hintergrund tabelle (verlauf), felderfarbe, ...
    • gitterlinien - alle, nur spalten, nur zeilen, keine
    • eine gesamtüberschrift
    • tabellenwert-überschrift
    • schedule - wie oft wird geprüft
    • ob man eine datei möchte - z.b. für iqontrol
    • überschriften der spalten in der tabelle ein- und abschalten
    • für jede spalte eigene zell-ausrichtung (center,left,right)

    im script wird erklärt, was einzustellen ist - es muss der haupteil - je nach gewünschten daten - angelichen werden - evtl muss auch ein schedule erzeugt werden- damit die daten dynamisch geschrieben werden

    Script für verschiedene spaltenanzahl (anzahl werte, die anzuzeigen sind)




    ähnlicher beitrag nur mit blockly: https://forum.iobroker.net/topic/27517/tabelle-erzeugen-für-iqontrol-anzeige-blockly

    diese scripts in blockly einbinden:

    • in diesem beispiel werden die sonoff.0.POWER datenpunkte abgefragt - macht jetzt das blockly
    • dieses übergibt ein array an eine funktion - dieses array enthält die daten für die tabellenerstellung
    • die javascript-funktion im blockly ist eines der -tabellen-javascripte - je nachdem wieviel werte man anzeigen möchte - im beispiel hier sind es 2 werte
    • das javascript muss noch angepaßt werden
      -im inneren des javascripts muss die schleife die daten aus dem im blockly erzeugten und übergebenden array (liste) aufbereiten
    • das schedule wird ins blockly übernommen - daher das schedule im javascript auskommentieren

    Image 14.png

    • das blockly

    Image 10.png

    was muss in der javascript-funtion noch getan werden?

    • roter pfeil: der counter ist wichtig und muss in der schleife sein ! zuständig für die anzahl der tabellen nebeneinander
    • grüner pfeil: das schedule auskommentieren
      oranger pfeil: liest die daten aus dem array, welches übergeben worden ist und setzt die val0 und val1 , welche dann angezeigt werden

    Image 13.png

    das ganze sieht dann genauso aus wie ohne blockly: die tabellen sind verschieden zu formatieren

    Image 16.png Image 15.png

    hier gibt es eine bessere version der einkaufs- und todo-liste: https://forum.iobroker.net/post/347479

    alexa todo-liste anzeigen lassen

    Image 3.png
    alexa einkaufsliste
    alexa todo-liste https://forum.iobroker.net/topic/28254/script-alexa-listen-pflegen-und-anzeigen

    man kann sich dadurch schöne html-emails zusenden mit den infos, die in der tabelle sind

    z.b die todoliste als html-email

    Image 13.png Image 12.png



    • doppelte tabellen-anzeige hinzugefügt
    • auskommentierte section für das schreiben in einen datenpunkt- zur direkten anzeige in einen html-widget über binding

  • Forum Testing Most Active

    @liv-in-sky sagte in Script HTML-Tabellen für VIS oder Iqontrol:

    doppelte tabellen-anzeige hinzugefügt

    Wie?
    Erledigt.



  • @sigi234 es gibt einen datenpunkt, der so heißt - einfach auf true setzen (let doppelTabelle=false; )


  • Forum Testing Most Active

    @liv-in-sky sagte in Script HTML-Tabellen für VIS oder Iqontrol:

    @sigi234 es gibt einen datenpunkt, der so heißt - einfach auf true setzen (let doppelTabelle=false; )

    Geht auch 4 Spalten?



  • @sigi234 ich denke schon -ich schau mal


  • Forum Testing Most Active

    @liv-in-sky sagte in Script HTML-Tabellen für VIS oder Iqontrol:

    auskommentierte section für das schreiben in einen datenpunkt- zur direkten anzeige in einen html-widget über binding

    Das hier?

    //Ausgabe über VIS html widget - tabelle in datenpunkt schreiben - html tabelle ohne html header und body
                               //var htmlOutVIS="";
                               //htmlUberschrift ? htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>" : htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>";
                               //log(htmlOutVIS);
                               //setState("Datenpunkt_hier_Einsetzen", htmlOutVIS );
    

    Also alle // weg und einen eigenen DP erstellen?



  • @sigi234 ja genau - das log brauchste nicht auskommentieren

    • dann sollte es funktionieren
      den eigenen datenpunkjt noch erstellen und angeben

    der unterschied hier ist, es benötigt keine html hauptdefinitionen - es wird einfach nur eine html tablle erzeugt - das widget (binding) macht den rest


  • Forum Testing Most Active

    @liv-in-sky sagte in Script HTML-Tabellen für VIS oder Iqontrol:

    @sigi234 ja genau - das log brauchste nicht auskommentieren

    • dann sollte es funktionieren
      den eigenen datenpunkjt noch erstellen und angeben

    der unterschied hier ist, es benötigt keine html hauptdefinitionen - es wird einfach nur eine html tablle erzeugt - das widget (binding) macht den rest

    13:56:08.850	info	javascript.0 (3284) Stop script script.js.Status.Tabellen
    13:56:08.853	info	javascript.0 (3284) Start javascript script.js.Status.Tabellen
    13:56:08.858	warn	javascript.0 (3284) at writeHTML (script.js.Status.Tabellen:71:28)
    13:56:08.858	warn	javascript.0 (3284) at script.js.Status.Tabellen:80:2
    13:56:08.858	info	javascript.0 (3284) script.js.Status.Tabellen: registered 0 subscriptions and 0 schedules
    13:56:08.890	info	javascript.0 (3284) script.js.Status.Tabellen: file written
    
    // Ausgabe über VIS html widget - tabelle in datenpunkt schreiben - html tabelle ohne html header und body
                               var htmlOutVIS="";
                               htmlUberschrift ? htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>" : htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>";
                               //log(htmlOutVIS);
                               setState("javascript.0.Eigene_Datenpunkte.Tabelle_1", htmlOutVIS );
    

  • Forum Testing Most Active

    @liv-in-sky sagte in Script HTML-Tabellen für VIS oder Iqontrol:

    den eigenen datenpunkjt noch erstellen und angeben

    Zeichenkette?



  • @sigi234 ja - ich tüfftle gerade an mehr tabellen nebeneinander - den anderen fehler schaue ich noch an


  • Forum Testing Most Active

    @liv-in-sky sagte in Script HTML-Tabellen für VIS oder Iqontrol:

    @sigi234 ja - ich tüfftle gerade an mehr tabellen nebeneinander - den anderen fehler schaue ich noch an

    Ergebnis via Basic Html eingebunden:

    Screenshot (1028).png

    Screenshot (1030).png



  • @sigi234 habe das script vom post nochmal kopiert und getestet - mit einem basic html widget - sieh so aus - habe keine änderungen gemacht - liegt das an iobroker-windows ?- keine warnung - kein verziehen - könnte aber auch ein problem des browsers sein - nutzt mal bitte einen anderen browser

    Image 6.png

    muss langsam zum fest (wünsch dir ein schönes fest) - werd aber in den feirtagen weitermachen und bescheid geben


  • Forum Testing Most Active

    @liv-in-sky

    Ok, Schönes Fest.


  • Forum Testing Most Active

    @liv-in-sky sagte in Script HTML-Tabellen für VIS oder Iqontrol:

    habe das script vom post nochmal kopiert und getestet - mit einem basic html widget - sieh so aus - habe keine änderungen gemacht

    Erledigt, liegt an der Größe des Widgets



  • @sigi234 cool - dann kann ich mir beruhigt unterm tannenbaum ausdenken, wie ich das mit mehreren tabellen hinbekomme


  • Forum Testing Most Active

    @liv-in-sky sagte in Script HTML-Tabellen für VIS oder Iqontrol:

    @sigi234 cool - dann kann ich mir beruhigt unterm tannenbaum ausdenken, wie ich das mit mehreren tabellen hinbekomme

    Jupp, Fehler sind auch weg.



  • @sigi234 habe es doch noch geschafft

    leider ist es komlexer geworden - daher wird es schwieriger, wenn man unterschiedliche spalten möchte - in diesem beispiel sind es 3 spalten - wie gehabt - dies aber auf ein eandere anzahl zu ändern wird schwierig

    hier zum testen

    • es gibt eine var dpVIS (zeile 389) - da kannst du den datenpunkt eintragen, welcher für das VIS-basic-html widget ist
    • zeile 18: die anzahl der zu anzeigenden tabellen nebeneinander 1- 2- 3-4 ist möglich

    Image 7.png


  • Forum Testing Most Active

    @liv-in-sky sagte in Script HTML-Tabellen für VIS oder Iqontrol:

    ähnlicher beitrag nur mit blockly:

    sieht jetzt bei mir so aus...(Fotos sind schon einige Tage alt)
    Das schöne daran, die Liste wird geschrieben wenn sich der Zustand eines Fenster ändert. Das ganze nur über einen Selektor und die Zustände sind aus der Werteliste der Fenster Datenpunkte. Mit Hilfe von @paul53 und @liv-in-sky erstellt)

    Screenshot_20191220-202041_Chrome.jpg

    Screenshot_20191220-202206_Chrome.jpg



  • UPDATE - hat sich einges geändert

    • der erste post ist geandert worden - es gibt jetzt 4 scripte - für verschiedene spaltenanzahl (2-5)
    • der scriptaufbau und auch die settings haben sich geändert
    • man kann auch weiterhin auswählen , wieviele tabellen nebeneinander liegen sollen
    • man muss einstellen, ob man ein file oder eine VIS tabelle oder beides haben will
    • bei jeder 2 tabelle kann die schriftfarbe der felder und der tabellenüberschriften mit anderen werten gesetzt werden - damit man einen besseren überblich hat
    • ich hoffe die beschriftung im script reicht als erklärung - im spoiler sind bilder, die helfen sollen


Suggested Topics

  • 36
  • 7
  • 3
  • 1
  • 34
  • 3
  • 13
  • 20

1.6k
Online

30.6k
Users

37.6k
Topics

505.6k
Posts