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. Bindings in vis

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

Bindings in vis

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vis
81 Beiträge 17 Kommentatoren 15.2k Aufrufe 27 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.
  • JB_SullivanJ JB_Sullivan

    Bin auch gerade auf das Thema Bindung gestoßen, um die Daten meines Solar Wechselrichter tabellarisch darzustellen.

    f3618576-0669-4e7a-8339-72c2db0b8da1-image.png

    Dabei treten bei mir zwei Probleme auf.

    1.) wie kann ich Zahlen die eine führende Null haben, runden (siehe Leistung DC)? Also z,B. 0,1313585 setze ich auf round (4), was dazu führt, das dass Ergebnis "0" ist. Offensichtlich kann der Befehl round keine Zahlen runden die einen "Einer" haben der =<0 ist.

    2.) Meine Tabelle ist für mein dafür Halten nicht besonders umfangreich. Nun bricht aber meine Seiten Performance ganz übel zusammen, wenn ich die Seite mit den bindings aufrufe - teilweise dauert es bis zu 45Sekunden bis die Seite geladen hat.

    @haus-automatisierung hat in seinem Internet Blog das Bindings auch mal angeschnitten und dabei den folgenden Satz hinzugefügt.

    Gibt es dazu schon neue Erkenntnisse, wie sich die Performance verbessern läßt?

    Hinweis:
    Beim Einsatz von zu vielen Objekt-Bindings kann es zu Performance-Problemen kommen. Ich bin hier noch auf der Suche nach einer alternativen Lösung.
    
    haus-automatisierungH Offline
    haus-automatisierungH Offline
    haus-automatisierung
    Developer Most Active
    schrieb am zuletzt editiert von
    #38

    @JB_Sullivan sagte in Bindings in vis:

    @haus-automatisierung hat in seinem Internet Blog das Bindings auch mal angeschnitten und dabei den folgenden Satz hinzugefügt.

    Ich glaube Du verwechselst mich :)

    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
    📚 Meine inoffizielle ioBroker Dokumentation

    1 Antwort Letzte Antwort
    0
    • JB_SullivanJ JB_Sullivan

      @mickym sagte in Bindings in vis:

      Also gibt es keinen Parameter bei round.

      Laut der Doku aber schon -
      68fe22a6-d7b8-421a-ab53-b48616c48e71-image.png

      oder ob es ggf. daran liegt, das ich aus einer Rechenoption heraus eine Rundung des Endergebnisses haben möchte?

      {a:fronius.0.inverter.0.IDC_2;b:fronius.0.inverter.0.UDC_2;parseFloat(a)*parseFloat(b); round(2)} W

      SBorgS Offline
      SBorgS Offline
      SBorg
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #39

      @JB_Sullivan sagte in Bindings in vis:

      aus einer Rechenoption heraus eine Rundung des Endergebnisses haben möchte?

      Jupp, das geht nicht. Du könntest hier nur "a" runden, aber nicht dein Ergebnis aus "a*b". Du brauchst schon ein Konstrukt wie bspw:

      {a:fronius.0.inverter.0.IDC_2;b:fronius.0.inverter.0.UDC_2;round(((parseFloat(a)*parseFloat(b)) * 100) /100)}
      

      Das wird auch mit der Zeit schon "zäh", denn Bindings werden nicht Server seitig ausgeführt, sondern an den Client Rechner übertragen und dann dort vom Browser umgesetzt/berechnet. Das ist nicht unbedingt schnell ;)
      Gerade Tabellen mit etlichen Bindings/Berechnungen sollte man dann lieber auf dem Server generieren und bspw. als komplettes HTML in einen DP schreiben und diesen dann in der VIS aufrufen.

      LG SBorg ( SBorg auf GitHub)
      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

      JB_SullivanJ 1 Antwort Letzte Antwort
      0
      • SBorgS SBorg

        @JB_Sullivan sagte in Bindings in vis:

        aus einer Rechenoption heraus eine Rundung des Endergebnisses haben möchte?

        Jupp, das geht nicht. Du könntest hier nur "a" runden, aber nicht dein Ergebnis aus "a*b". Du brauchst schon ein Konstrukt wie bspw:

        {a:fronius.0.inverter.0.IDC_2;b:fronius.0.inverter.0.UDC_2;round(((parseFloat(a)*parseFloat(b)) * 100) /100)}
        

        Das wird auch mit der Zeit schon "zäh", denn Bindings werden nicht Server seitig ausgeführt, sondern an den Client Rechner übertragen und dann dort vom Browser umgesetzt/berechnet. Das ist nicht unbedingt schnell ;)
        Gerade Tabellen mit etlichen Bindings/Berechnungen sollte man dann lieber auf dem Server generieren und bspw. als komplettes HTML in einen DP schreiben und diesen dann in der VIS aufrufen.

        JB_SullivanJ Offline
        JB_SullivanJ Offline
        JB_Sullivan
        schrieb am zuletzt editiert von
        #40

        @SBorg sagte in Bindings in vis:

        Das wird auch mit der Zeit schon "zäh",

        Ja, das habe ich schon gemerkt. Darum habe ich jetzt angefangen, die Rechenoperationen in Blocklys auszulagern.

        Trotzdem hole ich die ganzen Datenpunkte innerhalb der Tabelle als Binding {} ab, weil ich einfach keine Vorstellung davon haben wie ich das komplette HTML in einen DP schreiben und diesen dann in der VIS aufrufen, soll.

        Ich habe einmal eine "virtuelle" Tabelle im VIS gebaut. Dutzende von einzelnen Datenfeldern, hundertfach ausgerichtet, formatiert und dann gruppiert. Ganz ehrlich den Scheiß mache ich nicht noch einmal.

        Wenn man Tabellen erstellen könnte wie in Excel, wo man pro Zelle einfach den Datenpunkt angibt - das wäre cool. Im Grunde ist es ja so mit den Bindings, aber wie du schon sagts, macht es das System langsam.

        Mir fehlt es einfach an den Kenntnissen wie ich im VIS eine performante Tabelle bauen kann.

        ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

        liv-in-skyL SBorgS 2 Antworten Letzte Antwort
        0
        • JB_SullivanJ JB_Sullivan

          @SBorg sagte in Bindings in vis:

          Das wird auch mit der Zeit schon "zäh",

          Ja, das habe ich schon gemerkt. Darum habe ich jetzt angefangen, die Rechenoperationen in Blocklys auszulagern.

          Trotzdem hole ich die ganzen Datenpunkte innerhalb der Tabelle als Binding {} ab, weil ich einfach keine Vorstellung davon haben wie ich das komplette HTML in einen DP schreiben und diesen dann in der VIS aufrufen, soll.

          Ich habe einmal eine "virtuelle" Tabelle im VIS gebaut. Dutzende von einzelnen Datenfeldern, hundertfach ausgerichtet, formatiert und dann gruppiert. Ganz ehrlich den Scheiß mache ich nicht noch einmal.

          Wenn man Tabellen erstellen könnte wie in Excel, wo man pro Zelle einfach den Datenpunkt angibt - das wäre cool. Im Grunde ist es ja so mit den Bindings, aber wie du schon sagts, macht es das System langsam.

          Mir fehlt es einfach an den Kenntnissen wie ich im VIS eine performante Tabelle bauen kann.

          liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          schrieb am zuletzt editiert von
          #41

          @JB_Sullivan

          wenn die datenpunkte ein schema haben und man dies durch eine schleife abfragen kann: https://forum.iobroker.net/topic/28021/html-table-für-vis-oder-iqontrol-js-und-blockly

          wenn es nur verschieden-zusammengesuchte datenpunkt sind, wird es damit nicht gehen

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          1 Antwort Letzte Antwort
          0
          • JB_SullivanJ JB_Sullivan

            @SBorg sagte in Bindings in vis:

            Das wird auch mit der Zeit schon "zäh",

            Ja, das habe ich schon gemerkt. Darum habe ich jetzt angefangen, die Rechenoperationen in Blocklys auszulagern.

            Trotzdem hole ich die ganzen Datenpunkte innerhalb der Tabelle als Binding {} ab, weil ich einfach keine Vorstellung davon haben wie ich das komplette HTML in einen DP schreiben und diesen dann in der VIS aufrufen, soll.

            Ich habe einmal eine "virtuelle" Tabelle im VIS gebaut. Dutzende von einzelnen Datenfeldern, hundertfach ausgerichtet, formatiert und dann gruppiert. Ganz ehrlich den Scheiß mache ich nicht noch einmal.

            Wenn man Tabellen erstellen könnte wie in Excel, wo man pro Zelle einfach den Datenpunkt angibt - das wäre cool. Im Grunde ist es ja so mit den Bindings, aber wie du schon sagts, macht es das System langsam.

            Mir fehlt es einfach an den Kenntnissen wie ich im VIS eine performante Tabelle bauen kann.

            SBorgS Offline
            SBorgS Offline
            SBorg
            Forum Testing Most Active
            schrieb am zuletzt editiert von SBorg
            #42

            @JB_Sullivan Dann mal ein Mini-Beispiel. Simple Tabelle mit genau einer Zeile und zwei Spalten, keinerlei Formatierung, Tabellenkopf, Linien, etc.
            Erzeugt im Minutentakt eine Tabelle mit der aktuellen Uptime des ioB:
            Bild 1.png

            Der HTML-Text liegt dann unter "0_userdata.0.Test"
            Die Anzeige in VIS ist dann ziemlich trivial. Einfach das (basic)HTML-Widget nehmen und unter "Allgemein" bei HTML ein Binding auf den Datenpunkt eintragen: {0_userdata.0.Test}


            <xml xmlns="https://developers.google.com/blockly/xml">
            <block type="create" id="JPPZEn|2rtL8i_=7$kC" x="38" y="-138">
            <field name="NAME">0_userdata.0.Test</field>
            <next>
            <block type="schedule" id="Hvb-u%]p|OM)CXo3k#1-">
            <field name="SCHEDULE">
            * * * </field>
            <statement name="STATEMENT">
            <block type="update" id="{o
            ijHqmJ@orI8`?QQ">
            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
            <field name="OID">0_userdata.0.Test</field>
            <field name="WITH_DELAY">FALSE</field>
            <value name="VALUE">
            <block type="procedures_callcustomreturn" id="M=AG%Zse(^#x)@Yz]h5/">
            <mutation name="HTML"></mutation>
            </block>
            </value>
            </block>
            </statement>
            </block>
            </next>
            </block>
            <block type="procedures_defcustomreturn" id=";?8J/@Qj2Q*:zoU@RaRj" x="338" y="-62">
            <mutation statements="false"></mutation>
            <field name="NAME">HTML</field>
            <field name="SCRIPT">bGV0IEhUTUw9Ijx0YWJsZT4iOw0KSFRNTCs9Ijx0cj4iOw0KSFRNTCs9Ijx0ZD5VcHRpbWU6PC90ZD4iOw0KSFRNTCs9Ijx0ZD4iICsgZ2V0U3RhdGUoInN5c3RlbS5hZGFwdGVyLmFkbWluLjAudXB0aW1lIikudmFsICsgIiBTZWsuPC90ZD4iOw0KSFRNTCs9IjwvdHI+IjsNCkhUTUwrPSI8L3RhYmxlPiI7DQoNCg0KcmV0dXJuIEhUTUw7</field>
            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
            </block>
            </xml>


            [{"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":"{0_userdata.0.Test}"},"style":{"left":"850px","top":"512px"},"widgetSet":"basic"}]

            btw: mach dann ev. ein neues Topic auf, da hier wg. "Bindings" sonst zu OT ;)

            LG SBorg ( SBorg auf GitHub)
            Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

            JB_SullivanJ 1 Antwort Letzte Antwort
            0
            • SBorgS SBorg

              @JB_Sullivan Dann mal ein Mini-Beispiel. Simple Tabelle mit genau einer Zeile und zwei Spalten, keinerlei Formatierung, Tabellenkopf, Linien, etc.
              Erzeugt im Minutentakt eine Tabelle mit der aktuellen Uptime des ioB:
              Bild 1.png

              Der HTML-Text liegt dann unter "0_userdata.0.Test"
              Die Anzeige in VIS ist dann ziemlich trivial. Einfach das (basic)HTML-Widget nehmen und unter "Allgemein" bei HTML ein Binding auf den Datenpunkt eintragen: {0_userdata.0.Test}


              <xml xmlns="https://developers.google.com/blockly/xml">
              <block type="create" id="JPPZEn|2rtL8i_=7$kC" x="38" y="-138">
              <field name="NAME">0_userdata.0.Test</field>
              <next>
              <block type="schedule" id="Hvb-u%]p|OM)CXo3k#1-">
              <field name="SCHEDULE">
              * * * </field>
              <statement name="STATEMENT">
              <block type="update" id="{o
              ijHqmJ@orI8`?QQ">
              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
              <field name="OID">0_userdata.0.Test</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
              <block type="procedures_callcustomreturn" id="M=AG%Zse(^#x)@Yz]h5/">
              <mutation name="HTML"></mutation>
              </block>
              </value>
              </block>
              </statement>
              </block>
              </next>
              </block>
              <block type="procedures_defcustomreturn" id=";?8J/@Qj2Q*:zoU@RaRj" x="338" y="-62">
              <mutation statements="false"></mutation>
              <field name="NAME">HTML</field>
              <field name="SCRIPT">bGV0IEhUTUw9Ijx0YWJsZT4iOw0KSFRNTCs9Ijx0cj4iOw0KSFRNTCs9Ijx0ZD5VcHRpbWU6PC90ZD4iOw0KSFRNTCs9Ijx0ZD4iICsgZ2V0U3RhdGUoInN5c3RlbS5hZGFwdGVyLmFkbWluLjAudXB0aW1lIikudmFsICsgIiBTZWsuPC90ZD4iOw0KSFRNTCs9IjwvdHI+IjsNCkhUTUwrPSI8L3RhYmxlPiI7DQoNCg0KcmV0dXJuIEhUTUw7</field>
              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
              </block>
              </xml>


              [{"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":"{0_userdata.0.Test}"},"style":{"left":"850px","top":"512px"},"widgetSet":"basic"}]

              btw: mach dann ev. ein neues Topic auf, da hier wg. "Bindings" sonst zu OT ;)

              JB_SullivanJ Offline
              JB_SullivanJ Offline
              JB_Sullivan
              schrieb am zuletzt editiert von
              #43

              @SBorg

              Vielen Dank für den Denkanstoß - lernen durch abgucken ;) Das würde ich mir öfter wünschen, das man so ein Mini Beispiel bekommt und kann sich dann mit dem WIE, WO und WARUM auseinander setzen.

              ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

              1 Antwort Letzte Antwort
              0
              • JB_SullivanJ Offline
                JB_SullivanJ Offline
                JB_Sullivan
                schrieb am zuletzt editiert von
                #44

                @SBorg

                Kannst du mir noch einen kurze Hinweis geben, wo ich eine Dokumentation finde, die sich auf das Thema "Funktions Editor" bezieht. Ich habe da dein 1-Zeilen Beispiel verwendet und versucht meine bestehende Tabelle damit aufzubauen.

                Leider hat das nicht wie gehofft funktioniert. Ist irgendwie alles "rot" und funktioniert auch nicht. Scheinbar bedarf es da eines bestimmten Befehlsatzes, den ich aber leider nicht kenne :(

                6bfb8713-7e44-4471-8584-523c3f030e3c-image.png

                ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

                SBorgS 1 Antwort Letzte Antwort
                0
                • JB_SullivanJ JB_Sullivan

                  @SBorg

                  Kannst du mir noch einen kurze Hinweis geben, wo ich eine Dokumentation finde, die sich auf das Thema "Funktions Editor" bezieht. Ich habe da dein 1-Zeilen Beispiel verwendet und versucht meine bestehende Tabelle damit aufzubauen.

                  Leider hat das nicht wie gehofft funktioniert. Ist irgendwie alles "rot" und funktioniert auch nicht. Scheinbar bedarf es da eines bestimmten Befehlsatzes, den ich aber leider nicht kenne :(

                  6bfb8713-7e44-4471-8584-523c3f030e3c-image.png

                  SBorgS Offline
                  SBorgS Offline
                  SBorg
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #45

                  @JB_Sullivan Das ist "normales" Javascript.
                  Dein Fehler beginnt in der ersten Zeile. Du kannst in (oder innerhalb) der Syntax keine "" verwenden:

                  korrekt: let html="blabla...";
                  falsch: let html="blabla...border="1"blabla...";
                  richtig (innerhalb der äußeren "" zB. escapen): let html="border=\"1\"blabla...";
                  

                  Konkret bei dir #1: border... cellspacing... + cellpadding
                  und #8 collspan
                  (oder einfach überall wo eine "rote Wellenlinie" drunter ist hast du einen Fehler ;)

                  LG SBorg ( SBorg auf GitHub)
                  Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                  JB_SullivanJ 1 Antwort Letzte Antwort
                  0
                  • SBorgS SBorg

                    @JB_Sullivan Das ist "normales" Javascript.
                    Dein Fehler beginnt in der ersten Zeile. Du kannst in (oder innerhalb) der Syntax keine "" verwenden:

                    korrekt: let html="blabla...";
                    falsch: let html="blabla...border="1"blabla...";
                    richtig (innerhalb der äußeren "" zB. escapen): let html="border=\"1\"blabla...";
                    

                    Konkret bei dir #1: border... cellspacing... + cellpadding
                    und #8 collspan
                    (oder einfach überall wo eine "rote Wellenlinie" drunter ist hast du einen Fehler ;)

                    JB_SullivanJ Offline
                    JB_SullivanJ Offline
                    JB_Sullivan
                    schrieb am zuletzt editiert von
                    #46

                    @SBorg Super, vielen Dank !!! Funktioniert weitestgehend. Eine letzte Frage habe ich aber doch noch - dann soll es aber auch gut sein ;)

                    Wie rundet man in javascript Zahlenwerte? So funktioniert es leider nicht

                    42d38b22-fa93-4061-aa4e-2fb36ab6a1bb-image.png

                    ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

                    SBorgS 1 Antwort Letzte Antwort
                    0
                    • JB_SullivanJ JB_Sullivan

                      @SBorg Super, vielen Dank !!! Funktioniert weitestgehend. Eine letzte Frage habe ich aber doch noch - dann soll es aber auch gut sein ;)

                      Wie rundet man in javascript Zahlenwerte? So funktioniert es leider nicht

                      42d38b22-fa93-4061-aa4e-2fb36ab6a1bb-image.png

                      SBorgS Offline
                      SBorgS Offline
                      SBorg
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #47

                      @JB_Sullivan Das funktioniert so nur im Binding ;)
                      Unser Beispiel mal etwas aufgebohrt:

                      let uptime_min=Math.round(getState("system.adapter.admin.0.uptime").val /60);
                      // wir teilen durch 60 (da die Uptime in Sekunden ist), um die Minuten zu erhalten 
                      // und runden das Ganze zu vollen Minuten auf
                      
                      let HTML="<table border=\"1\">";
                      HTML+="<tr><th></th><th>in Sekunden</th><th>in Minuten</th></tr>";
                      HTML+="<tr>";
                      HTML+="<td>Uptime:</td>";
                      HTML+="<td>" + getState("system.adapter.admin.0.uptime").val+ "</td>";
                      HTML+="<td>" + uptime_min + "</td>";
                      HTML+="</tr>";
                      HTML+="</table>";
                      
                      
                      return HTML;
                      

                      Man könnte auch #1 streichen und es direkt in #10 packen:

                      HTML+="<td>" + Math.round(getState("system.adapter.admin.0.uptime").val /60) + "</td>";
                      

                      Bei längerem Sourcecode verliert man so aber rasch den Überblick, auch sind Änderungen (wenn sich bspw. mal ein Datenpunkt ändert) nicht mehr so schnell möglich. Wenn der Wert in einer Variablen steckt kann man auch bequem mehrmals auf diesen zugreifen, oder ändern, oder...

                      ...und bei Nachkommastellen hilft nur multiplizieren, runden und abschließend wieder teilen, da JS nur Ganzzahlig rundet, oder man mit .toFixed(x) direkt abschneidet.

                      LG SBorg ( SBorg auf GitHub)
                      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                      JB_SullivanJ 1 Antwort Letzte Antwort
                      0
                      • SBorgS SBorg

                        @JB_Sullivan Das funktioniert so nur im Binding ;)
                        Unser Beispiel mal etwas aufgebohrt:

                        let uptime_min=Math.round(getState("system.adapter.admin.0.uptime").val /60);
                        // wir teilen durch 60 (da die Uptime in Sekunden ist), um die Minuten zu erhalten 
                        // und runden das Ganze zu vollen Minuten auf
                        
                        let HTML="<table border=\"1\">";
                        HTML+="<tr><th></th><th>in Sekunden</th><th>in Minuten</th></tr>";
                        HTML+="<tr>";
                        HTML+="<td>Uptime:</td>";
                        HTML+="<td>" + getState("system.adapter.admin.0.uptime").val+ "</td>";
                        HTML+="<td>" + uptime_min + "</td>";
                        HTML+="</tr>";
                        HTML+="</table>";
                        
                        
                        return HTML;
                        

                        Man könnte auch #1 streichen und es direkt in #10 packen:

                        HTML+="<td>" + Math.round(getState("system.adapter.admin.0.uptime").val /60) + "</td>";
                        

                        Bei längerem Sourcecode verliert man so aber rasch den Überblick, auch sind Änderungen (wenn sich bspw. mal ein Datenpunkt ändert) nicht mehr so schnell möglich. Wenn der Wert in einer Variablen steckt kann man auch bequem mehrmals auf diesen zugreifen, oder ändern, oder...

                        ...und bei Nachkommastellen hilft nur multiplizieren, runden und abschließend wieder teilen, da JS nur Ganzzahlig rundet, oder man mit .toFixed(x) direkt abschneidet.

                        JB_SullivanJ Offline
                        JB_SullivanJ Offline
                        JB_Sullivan
                        schrieb am zuletzt editiert von
                        #48

                        @SBorg
                        Vielen herzlichen Dank für deinen Gedankenanstoß mit den Blockly und dem javaScript.
                        Die Tabelle funktioniert jetzt und es VIEL VIEL schneller als alles was ich mir mit den Bindings zurecht gebastelt hatte.

                        ce60f753-04ac-4bcf-884c-f187c42dc02d-image.png

                        ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

                        SBorgS 1 Antwort Letzte Antwort
                        0
                        • JB_SullivanJ JB_Sullivan

                          @SBorg
                          Vielen herzlichen Dank für deinen Gedankenanstoß mit den Blockly und dem javaScript.
                          Die Tabelle funktioniert jetzt und es VIEL VIEL schneller als alles was ich mir mit den Bindings zurecht gebastelt hatte.

                          ce60f753-04ac-4bcf-884c-f187c42dc02d-image.png

                          SBorgS Offline
                          SBorgS Offline
                          SBorg
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von
                          #49

                          @JB_Sullivan :) ...und im Grunde kann man als letzten Schritt auch noch auf das Blockly verzichten und packt den Trigger oder Cron einfach mit in ein JS.

                          btw: hat schon mal wer ein Binding auf ein JSON funktionsfähig bekommen?

                          LG SBorg ( SBorg auf GitHub)
                          Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                          1 Antwort Letzte Antwort
                          0
                          • W Offline
                            W Offline
                            wye
                            schrieb am zuletzt editiert von wye
                            #50

                            Hallo zusammen,

                            versuche mich aktuell am Binding für die Farbänderung.

                            {0_userdata.0.example_state} <- damit wird in einem Widget alles korrekt dargestellt. 1.PNG

                            Soweit so gut!

                            Problem stellt die View an sich dar...
                            So ändert sich der Background der View leider nicht...
                            Edit: Häkchen setzen oder nicht ändert leider auch nichts
                            Was mache ich falsch?2.PNG

                            OliverIOO 1 Antwort Letzte Antwort
                            0
                            • W wye

                              Hallo zusammen,

                              versuche mich aktuell am Binding für die Farbänderung.

                              {0_userdata.0.example_state} <- damit wird in einem Widget alles korrekt dargestellt. 1.PNG

                              Soweit so gut!

                              Problem stellt die View an sich dar...
                              So ändert sich der Background der View leider nicht...
                              Edit: Häkchen setzen oder nicht ändert leider auch nichts
                              Was mache ich falsch?2.PNG

                              OliverIOO Offline
                              OliverIOO Offline
                              OliverIO
                              schrieb am zuletzt editiert von
                              #51

                              @wye sagte in Bindings in vis:

                              Hallo zusammen,

                              versuche mich aktuell am Binding für die Farbänderung.

                              {0_userdata.0.example_state} <- damit wird in einem Widget alles korrekt dargestellt. 1.PNG

                              Soweit so gut!

                              Problem stellt die View an sich dar...
                              So ändert sich der Background der View leider nicht...
                              Edit: Häkchen setzen oder nicht ändert leider auch nichts
                              Was mache ich falsch?2.PNG

                              lustig,
                              habe es gerade ausprobiert, tut bei mir auch nicht.
                              im code von vis sieht es so aus, das bindings nur in widgets gehen.
                              aber evtl. weiß jemand anderes mehr

                              Meine Adapter und Widgets
                              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                              Links im Profil

                              1 Antwort Letzte Antwort
                              0
                              • SBorgS Offline
                                SBorgS Offline
                                SBorg
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #52

                                Sagen, oder zitieren wir mal von GitHub:

                                ...there is another option how to bind any attribute of widget to some ObjectID...

                                ;)

                                LG SBorg ( SBorg auf GitHub)
                                Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                W 1 Antwort Letzte Antwort
                                0
                                • SBorgS SBorg

                                  Sagen, oder zitieren wir mal von GitHub:

                                  ...there is another option how to bind any attribute of widget to some ObjectID...

                                  ;)

                                  W Offline
                                  W Offline
                                  wye
                                  schrieb am zuletzt editiert von
                                  #53

                                  @sborg said in Bindings in vis:

                                  Sagen, oder zitieren wir mal von GitHub:

                                  ...there is another option how to bind any attribute of widget to some ObjectID...

                                  ;)

                                  Ah ok...
                                  Danke für Info an euch beide!

                                  1 Antwort Letzte Antwort
                                  0
                                  • SBorgS SBorg

                                    @SBorg sagte in Bindings in vis:

                                    EDIT Hmm, wo der Flot-Part herkommt ist eigenartig und Homematic habe ich ebenfalls nicht...

                                    Steckt tatsächlich im "Info" und lässt sich nur beim Export/Import herauslöschen.
                                    Mit den Bindings lässt sich so einiges realisieren. Man kann auch zwei oder mehrere Objektbedingungen prüfen.

                                    Ich möchte eine Anzeige wenn es regnet und das Garagentor offen steht...
                                    Mit Blockly, JS, Node-RED kann ich zwar z.B. die Bedingungen prüfen und auch reagieren (bspw. Fahrbefehl 'Garage zu'), für eine Anzeige in VIS müsste ich aber nun extra ein Objekt erzeugen. Ist mit Bindings aber nicht nötig, da ich "einfach" (zumindest wenn man es mal verinnerlicht hat :) ) prüfen kann ob Objekt "Regen" = true UND Objekt "Garagentor" = offen --> dann Anzeige "es regnet gerade in die Garage"

                                    ...und mal ein Beispiel für den "BackitUp":
                                    auf Knopfdruck Backup erstellen und den jeweiligen Status (erstellen/wird erstellt) anzeigen.
                                    Backup.png

                                     [{"tpl":"tplJquiButtonState","data":{"oid":"backitup.0.oneClick.minimal","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","buttontext":"{wert:backitup.0.oneClick.minimal;wert === \"true\" || wert === true || wert === 1 ? \"Minimal Backup </br> wird erstellt\" : \"Minimal Backup </br> erstellen\"}","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,"no_style":false,"value":"true","name":"Minimal-Backup_Button","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},"style":{"left":"1027px","top":"55px","border-width":"2px","border-style":"solid","border-color":"#505253","width":"200px","height":"50px","z-index":"3","border-radius":"10px","box-shadow":"8px 8px 8px rgba(20, 20, 20, 50)"},"widgetSet":"jqui"}]
                                    


                                     [{"tpl":"tplJquiButtonState","data":{"oid":"backitup.0.oneClick.total","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","buttontext":"{wert:backitup.0.oneClick.total;wert === \"true\" || wert === true || wert === 1 ? \"Voll-Backup </br> wird erstellt\" : \"Voll Backup </br> erstellen\"}","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,"no_style":false,"value":"true","name":"Voll-Backup_Button","html_prepend":"","html_append":"","class":""},"style":{"left":"1027px","top":"125px","border-width":"2px","border-style":"solid","border-color":"#505253","width":"200px","height":"50px","z-index":"3","border-radius":"10px","box-shadow":"8px 8px 8px rgba(20, 20, 20, 50)"},"widgetSet":"jqui"}]
                                    


                                    Hier wird mit "ODER" die Bedingung überprüft: Objekt = "true" oder true oder 1

                                    D Offline
                                    D Offline
                                    DoubleD
                                    schrieb am zuletzt editiert von
                                    #54

                                    @sborg said in Bindings in vis:

                                    @SBorg sagte in Bindings in vis:

                                    EDIT Hmm, wo der Flot-Part herkommt ist eigenartig und Homematic habe ich ebenfalls nicht...

                                    Steckt tatsächlich im "Info" und lässt sich nur beim Export/Import herauslöschen.
                                    Mit den Bindings lässt sich so einiges realisieren. Man kann auch zwei oder mehrere Objektbedingungen prüfen.

                                    Ich möchte eine Anzeige wenn es regnet und das Garagentor offen steht...
                                    Mit Blockly, JS, Node-RED kann ich zwar z.B. die Bedingungen prüfen und auch reagieren (bspw. Fahrbefehl 'Garage zu'), für eine Anzeige in VIS müsste ich aber nun extra ein Objekt erzeugen. Ist mit Bindings aber nicht nötig, da ich "einfach" (zumindest wenn man es mal verinnerlicht hat :) ) prüfen kann ob Objekt "Regen" = true UND Objekt "Garagentor" = offen --> dann Anzeige "es regnet gerade in die Garage"

                                    ...und mal ein Beispiel für den "BackitUp":
                                    auf Knopfdruck Backup erstellen und den jeweiligen Status (erstellen/wird erstellt) anzeigen.
                                    Backup.png


                                    [{"tpl":"tplJquiButtonState","data":{"oid":"backitup.0.oneClick.minimal","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","buttontext":"{wert:backitup.0.oneClick.minimal;wert === "true" || wert === true || wert === 1 ? "Minimal Backup </br> wird erstellt" :: "Minimal Backup </br> erstellen"}","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,"no_style":false,"value":"true","name":"Minimal-Backup_Button","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},"style":{"left":"1027px","top":"55px","border-width":"2px","border-style":"solid","border-color":"#505253","width":"200px","height":"50px","z-index":"3","border-radius":"10px","box-shadow":"8px 8px 8px rgba(20, 20, 20, 50)"},"widgetSet":"jqui"}]


                                    [{"tpl":"tplJquiButtonState","data":{"oid":"backitup.0.oneClick.total","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","buttontext":"{wert:backitup.0.oneClick.total;wert === "true" || wert === true || wert === 1 ? "Voll-Backup </br> wird erstellt" :: "Voll Backup </br> erstellen"}","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,"no_style":false,"value":"true","name":"Voll-Backup_Button","html_prepend":"","html_append":"","class":""},"style":{"left":"1027px","top":"125px","border-width":"2px","border-style":"solid","border-color":"#505253","width":"200px","height":"50px","z-index":"3","border-radius":"10px","box-shadow":"8px 8px 8px rgba(20, 20, 20, 50)"},"widgetSet":"jqui"}]

                                    Hier wird mit "ODER" die Bedingung überprüft: Objekt = "true" oder true oder 1

                                    @SBorg
                                    Beim Import werden bei mit Fehler angezeigt, was könnte das sein?
                                    io_import.jpg

                                    Danke & Gruß
                                    Daniel

                                    crunchipC SBorgS 2 Antworten Letzte Antwort
                                    0
                                    • D DoubleD

                                      @sborg said in Bindings in vis:

                                      @SBorg sagte in Bindings in vis:

                                      EDIT Hmm, wo der Flot-Part herkommt ist eigenartig und Homematic habe ich ebenfalls nicht...

                                      Steckt tatsächlich im "Info" und lässt sich nur beim Export/Import herauslöschen.
                                      Mit den Bindings lässt sich so einiges realisieren. Man kann auch zwei oder mehrere Objektbedingungen prüfen.

                                      Ich möchte eine Anzeige wenn es regnet und das Garagentor offen steht...
                                      Mit Blockly, JS, Node-RED kann ich zwar z.B. die Bedingungen prüfen und auch reagieren (bspw. Fahrbefehl 'Garage zu'), für eine Anzeige in VIS müsste ich aber nun extra ein Objekt erzeugen. Ist mit Bindings aber nicht nötig, da ich "einfach" (zumindest wenn man es mal verinnerlicht hat :) ) prüfen kann ob Objekt "Regen" = true UND Objekt "Garagentor" = offen --> dann Anzeige "es regnet gerade in die Garage"

                                      ...und mal ein Beispiel für den "BackitUp":
                                      auf Knopfdruck Backup erstellen und den jeweiligen Status (erstellen/wird erstellt) anzeigen.
                                      Backup.png


                                      [{"tpl":"tplJquiButtonState","data":{"oid":"backitup.0.oneClick.minimal","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","buttontext":"{wert:backitup.0.oneClick.minimal;wert === "true" || wert === true || wert === 1 ? "Minimal Backup </br> wird erstellt" :: "Minimal Backup </br> erstellen"}","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,"no_style":false,"value":"true","name":"Minimal-Backup_Button","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},"style":{"left":"1027px","top":"55px","border-width":"2px","border-style":"solid","border-color":"#505253","width":"200px","height":"50px","z-index":"3","border-radius":"10px","box-shadow":"8px 8px 8px rgba(20, 20, 20, 50)"},"widgetSet":"jqui"}]


                                      [{"tpl":"tplJquiButtonState","data":{"oid":"backitup.0.oneClick.total","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","buttontext":"{wert:backitup.0.oneClick.total;wert === "true" || wert === true || wert === 1 ? "Voll-Backup </br> wird erstellt" :: "Voll Backup </br> erstellen"}","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,"no_style":false,"value":"true","name":"Voll-Backup_Button","html_prepend":"","html_append":"","class":""},"style":{"left":"1027px","top":"125px","border-width":"2px","border-style":"solid","border-color":"#505253","width":"200px","height":"50px","z-index":"3","border-radius":"10px","box-shadow":"8px 8px 8px rgba(20, 20, 20, 50)"},"widgetSet":"jqui"}]

                                      Hier wird mit "ODER" die Bedingung überprüft: Objekt = "true" oder true oder 1

                                      @SBorg
                                      Beim Import werden bei mit Fehler angezeigt, was könnte das sein?
                                      io_import.jpg

                                      Danke & Gruß
                                      Daniel

                                      crunchipC Abwesend
                                      crunchipC Abwesend
                                      crunchip
                                      Forum Testing Most Active
                                      schrieb am zuletzt editiert von
                                      #55

                                      @doubled sagte in Bindings in vis:

                                      Beim Import

                                      als widget?

                                      umgestiegen von Proxmox auf Unraid

                                      D 1 Antwort Letzte Antwort
                                      0
                                      • D DoubleD

                                        @sborg said in Bindings in vis:

                                        @SBorg sagte in Bindings in vis:

                                        EDIT Hmm, wo der Flot-Part herkommt ist eigenartig und Homematic habe ich ebenfalls nicht...

                                        Steckt tatsächlich im "Info" und lässt sich nur beim Export/Import herauslöschen.
                                        Mit den Bindings lässt sich so einiges realisieren. Man kann auch zwei oder mehrere Objektbedingungen prüfen.

                                        Ich möchte eine Anzeige wenn es regnet und das Garagentor offen steht...
                                        Mit Blockly, JS, Node-RED kann ich zwar z.B. die Bedingungen prüfen und auch reagieren (bspw. Fahrbefehl 'Garage zu'), für eine Anzeige in VIS müsste ich aber nun extra ein Objekt erzeugen. Ist mit Bindings aber nicht nötig, da ich "einfach" (zumindest wenn man es mal verinnerlicht hat :) ) prüfen kann ob Objekt "Regen" = true UND Objekt "Garagentor" = offen --> dann Anzeige "es regnet gerade in die Garage"

                                        ...und mal ein Beispiel für den "BackitUp":
                                        auf Knopfdruck Backup erstellen und den jeweiligen Status (erstellen/wird erstellt) anzeigen.
                                        Backup.png


                                        [{"tpl":"tplJquiButtonState","data":{"oid":"backitup.0.oneClick.minimal","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","buttontext":"{wert:backitup.0.oneClick.minimal;wert === "true" || wert === true || wert === 1 ? "Minimal Backup </br> wird erstellt" :: "Minimal Backup </br> erstellen"}","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,"no_style":false,"value":"true","name":"Minimal-Backup_Button","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},"style":{"left":"1027px","top":"55px","border-width":"2px","border-style":"solid","border-color":"#505253","width":"200px","height":"50px","z-index":"3","border-radius":"10px","box-shadow":"8px 8px 8px rgba(20, 20, 20, 50)"},"widgetSet":"jqui"}]


                                        [{"tpl":"tplJquiButtonState","data":{"oid":"backitup.0.oneClick.total","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","buttontext":"{wert:backitup.0.oneClick.total;wert === "true" || wert === true || wert === 1 ? "Voll-Backup </br> wird erstellt" :: "Voll Backup </br> erstellen"}","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,"no_style":false,"value":"true","name":"Voll-Backup_Button","html_prepend":"","html_append":"","class":""},"style":{"left":"1027px","top":"125px","border-width":"2px","border-style":"solid","border-color":"#505253","width":"200px","height":"50px","z-index":"3","border-radius":"10px","box-shadow":"8px 8px 8px rgba(20, 20, 20, 50)"},"widgetSet":"jqui"}]

                                        Hier wird mit "ODER" die Bedingung überprüft: Objekt = "true" oder true oder 1

                                        @SBorg
                                        Beim Import werden bei mit Fehler angezeigt, was könnte das sein?
                                        io_import.jpg

                                        Danke & Gruß
                                        Daniel

                                        SBorgS Offline
                                        SBorgS Offline
                                        SBorg
                                        Forum Testing Most Active
                                        schrieb am zuletzt editiert von
                                        #56

                                        @doubled

                                        ...und noch: beim Minimal-Backup? Voll Backup gibt es ja schon einige Zeit nicht mehr beim Adapter ;)

                                        LG SBorg ( SBorg auf GitHub)
                                        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                        1 Antwort Letzte Antwort
                                        0
                                        • crunchipC crunchip

                                          @doubled sagte in Bindings in vis:

                                          Beim Import

                                          als widget?

                                          D Offline
                                          D Offline
                                          DoubleD
                                          schrieb am zuletzt editiert von
                                          #57

                                          @crunchip

                                          Ja

                                          SBorgS 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

                                          446

                                          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