Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Bindings in vis

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Bindings in vis

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

      @SBorg sagte in Bindings in vis:

      {val:javascript.0.Log-Script.Loganzeige; val == 1 ? "javascript.0.Log-Script.logInfo.logJSON" :: val == 2 ? "javascript.0.Log-Script.logWarn.logJSON" :: val == 3 ? "javascript.0.Log-Script.logError.logJSON" :: ""}

      habe auch schon getestet - auch deine version - bringe es auch nicht ans laufen - kann das am widget selbst liegen ?

      SBorg 1 Reply Last reply Reply Quote 0
      • SBorg
        SBorg Forum Testing Most Active @liv-in-sky last edited by

        @liv-in-sky sagte in Bindings in vis:

        kann das am widget selbst liegen

        Glaube ich eigentlich nicht, denn dann dürfte es auch bei "1+2" schon nicht funktionieren.
        Dann muss ich es wohl mal nachbauen, um es auch testen zu können. Welches Skript erzeugt denn die 3 JSONs?

        O 1 Reply Last reply Reply Quote 0
        • O
          Oli @SBorg last edited by Oli

          @SBorg
          Es ist das Logscript von Mic
          https://forum.iobroker.net/topic/13971/vorlage-js-log-datei-aufbereiten-für-vis

          1 Reply Last reply Reply Quote 0
          • SBorg
            SBorg Forum Testing Most Active last edited by

            Oki, ich schau es mir dann mal an 🙂

            1 Reply Last reply Reply Quote 0
            • SBorg
              SBorg Forum Testing Most Active last edited by

              Ok, geht, aber nicht schön und anders als erwartet. In der Konstellation wird der Tabelleninhalt erst angezeigt wenn ein neuer Wert in die Tabelle geschrieben wird 😞
              Wer dennoch möchte (JSONs ggf. anpassen):

              {w:javascript.0.Log-Script.Loganzeige; w < 2 ? "javascript.0.Log-Script.logInfo.logJSON" :: w < 3 ? "javascript.0.Log-Script.logWarnanderror.logJSON" :: "javascript.0.Log-Script.logError.logJSON"}
              

              Ich würde es hier ohne Binding lösen und mit der "Sichtbarkeit" arbeiten. Geht einfacher und besser 😉


              [{"tpl":"tplJquiSelectList","data":{"oid":"javascript.0.Log-Script.Loganzeige","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"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","values":"1;2;3","texts":"Infologs;Warnlogs;Errorlogs","height":"100","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,"name":"Logauswahl","open":false},"style":{"left":"27px","top":"62px","height":"25px","font-size":"x-small","width":"170px","background-color":"#27272727","background":"#27272727","z-index":"2"},"widgetSet":"jqui"},{"tpl":"tplTableBody","data":{"g_fixed":true,"g_visibility":true,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"static_value":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis.0/Kuddel1/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.0/Kuddel1/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.0/Kuddel1/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"table_oid":"javascript.0.Log-Script.logError.logJSON","colName1":"Uhrzeit","colWidth1":"1x","colCount":"4","colWidth2":"10px","colWidth4":"450px","colWidth5":"40px","colWidth6":"40px","colName2":"Log-Eintrag","class":"mdui-table mdui-table-ascard-r250-l mdui-table-striped noSwipe","show_scroll":true,"hide_header":true,"g_last_change":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,"new_on_top":true,"max_rows":"2000","detailed_wid":"w00377","name":"System_Logs_error","g_header_§2":true,"colName3":"Log-Eintrag","colWidth3":"100px","visibility-cond":"==","visibility-val":"3","visibility-groups-action":"hide","event_oid":"","visibility-oid":"javascript.0.Log-Script.Loganzeige"},"style":{"left":"20px","top":"97px","width":"780px","height":"579px","text-align":"left","color":"#8f8f8f","background-color":"","font-family":"Arial, Helvetica, sans-serif","z-index":"3","background":"","box-shadow":"","border-radius":"10px","font-size":"15px","border-style":"solid","border-color":"#303030"},"widgetSet":"basic"},{"tpl":"tplTableBody","data":{"g_fixed":true,"g_visibility":true,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"static_value":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis.0/Kuddel1/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.0/Kuddel1/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.0/Kuddel1/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"table_oid":"javascript.0.Log-Script.logInfo.logJSON","colName1":"Uhrzeit","colWidth1":"1x","colCount":"4","colWidth2":"10px","colWidth4":"450px","colWidth5":"40px","colWidth6":"40px","colName2":"Log-Eintrag","class":"mdui-table mdui-table-ascard-r250-l mdui-table-striped noSwipe","show_scroll":true,"hide_header":true,"g_last_change":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,"new_on_top":true,"max_rows":"2000","detailed_wid":"w00377","name":"System_Logs_info","g_header_§2":true,"colName3":"Log-Eintrag","colWidth3":"100px","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","event_oid":"","visibility-oid":"javascript.0.Log-Script.Loganzeige"},"style":{"left":"20px","top":"97px","width":"780px","height":"579px","text-align":"left","color":"#8f8f8f","background-color":"","font-family":"Arial, Helvetica, sans-serif","z-index":"3","background":"","box-shadow":"","border-radius":"10px","font-size":"15px","border-style":"solid","border-color":"#303030"},"widgetSet":"basic"},{"tpl":"tplTableBody","data":{"g_fixed":true,"g_visibility":true,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"static_value":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis.0/Kuddel1/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.0/Kuddel1/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.0/Kuddel1/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"table_oid":"javascript.0.Log-Script.logWarnanderror.logJSON","colName1":"Uhrzeit","colWidth1":"1x","colCount":"4","colWidth2":"10px","colWidth4":"450px","colWidth5":"40px","colWidth6":"40px","colName2":"Log-Eintrag","class":"mdui-table mdui-table-ascard-r250-l mdui-table-striped noSwipe","show_scroll":true,"hide_header":true,"g_last_change":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,"new_on_top":true,"max_rows":"2000","detailed_wid":"w00377","name":"System_Logs_warn","g_header_§2":true,"colName3":"Log-Eintrag","colWidth3":"100px","visibility-cond":"==","visibility-val":"2","visibility-groups-action":"hide","event_oid":"","visibility-oid":"javascript.0.Log-Script.Loganzeige"},"style":{"left":"20px","top":"97px","width":"780px","height":"579px","text-align":"left","color":"#8f8f8f","background-color":"","font-family":"Arial, Helvetica, sans-serif","z-index":"3","background":"","box-shadow":"","border-radius":"10px","font-size":"15px","border-style":"solid","border-color":"#303030"},"widgetSet":"basic"}]

              O 1 Reply Last reply Reply Quote 0
              • O
                Oli @SBorg last edited by

                @SBorg

                trotzdem danke für deinen Versuch

                1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @foxriver76 last edited by Homoran

                  Ich habe mich mal wieder versucht mit Bindings anzufreunden.
                  Natürlich hat es nicht auf Anhieb geklappt

                  Dann habe ich das hier gefunden:

                  @foxriver76 sagte in Bindings in vis:

                  bindings sind die DPs vom Typ String also entweder parsen...

                  Ich wollte mir weitere Datenpunkte ersparen und aus dem Verbrauch die Kosten errechnen.

                  {Strom:Messwerte.0.Stromzaehler.Summenwerte.Waschmaschine_Verbrauch;Strom*0.2}
                  

                  Natürlich kommt in einem number Widget NaN.
                  in einem HTML-Widget eine unheimlich lange Dezimale

                  also habe ich (als js Legastheniker) es wegen des Hinweises von @foxriver76 mit parseFloat() versucht - ohne Erfolg

                  Weder {Strom:Messwerte.0.Stromzaehler.Summenwerte.Waschmaschine_Verbrauch;parseFloat(Strom)*0.2}, noch {Strom:Messwerte.0.Stromzaehler.Summenwerte.Waschmaschine_Verbrauch;parseFloat(Strom*0.2)} kommt zu einem Ergebnis

                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @Homoran last edited by mickym

                    @Homoran said in Bindings in vis:

                    in einem HTML-Widget eine unheimlich lange Dezimale

                    Funktioniert das denn nicht:

                    {Strom:Messwerte.0.Stromzaehler.Summenwerte.Waschmaschine_Verbrauch;round(Strom*0.2*100)/100}
                    

                    oder das

                    {Strom:Messwerte.0.Stromzaehler.Summenwerte.Waschmaschine_Verbrauch;Math.round(Strom*0.2*100)/100}
                    
                    Homoran foxriver76 2 Replies Last reply Reply Quote 1
                    • Homoran
                      Homoran Global Moderator Administrators @mickym last edited by

                      @mickym sagte in Bindings in vis:

                      Funktioniert das denn

                      Ja das funktioniert.
                      DANKE!

                      Aber ich kannte den Befehl fürs Runden nicht 😞

                      geht es denn "irgendwie" da eine Zahl herauszubekommen um es im basic number Widget zu formatieren?

                      mickym 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @Homoran last edited by mickym

                        @Homoran Eine Zahl mit Umwandeln mittels Number() ?

                        Letztlich steht in dem Text zu den Bindings:

                        You can use any javascript functions.

                        Homoran mickym 3 Replies Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @mickym last edited by Homoran

                          @mickym sagte in Bindings in vis:

                          Eine Zahl mit Umwandeln mittels Number() ?

                          sorry das sagt mir nichts 😳
                          ich dachte ich mache das mit dem parseFloat

                          sieht im Moment ganz brauchbar aus, ich habe sogar geschafft die EInheit dahinter zu bekommen:
                          Bindings_WaMa.png
                          rechts das basic number Widget

                          und mit den richtigen Werten kommen auch ct und nicht Euro raus 😉
                          Bindings_WaMa_ct.png

                          1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @mickym last edited by

                            @mickym sagte in Bindings in vis:

                            You can use any javascript functions.

                            ich bin leider nicht You, das ist ja mein Problem

                            1 Reply Last reply Reply Quote 1
                            • mickym
                              mickym Most Active @mickym last edited by

                              Ich weiß nicht ob das doppelt ist - aber um es in eine Zahl umzuwandeln dann müsste das ja gehen:

                              {Strom:Messwerte.0.Stromzaehler.Summenwerte.Waschmaschine_Verbrauch;Number(Strom*0.2)}
                              
                              Homoran 1 Reply Last reply Reply Quote 0
                              • foxriver76
                                foxriver76 Developer @mickym last edited by foxriver76

                                @mickym sagte in Bindings in vis:

                                @Homoran said in Bindings in vis:

                                in einem HTML-Widget eine unheimlich lange Dezimale

                                oder das

                                {Strom:Messwerte.0.Stromzaehler.Summenwerte.Waschmaschine_Verbrauch;Math.round(Strom*0.2*100)/100}
                                

                                Das sollte maximal mit 1.2.10 und 1.2.11 funktionieren, da sich ein Fehler eingeschlichen hat. In 1.2.12 sind number Werte initial wieder Strings.

                                1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @mickym last edited by

                                  @mickym sagte in Bindings in vis:

                                  aber um es in eine Zahl umzuwandeln dann müsste das ja gehen:

                                  leider nein -> NaN!

                                  aber nochmal Danke!
                                  es läuft jetzt ausreichend mit dem HTML widget. ich hatte da nur Angst die Formatierungen (Einheit und die Nachkommastellen) nicht hinzubekommen.
                                  Das ist ja jetzt alles geschafft.

                                  1 Reply Last reply Reply Quote 0
                                  • JB_Sullivan
                                    JB_Sullivan last edited by

                                    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.
                                    
                                    mickym haus-automatisierung 2 Replies Last reply Reply Quote 0
                                    • mickym
                                      mickym Most Active @JB_Sullivan last edited by mickym

                                      @JB_Sullivan sagte in Bindings in vis:

                                      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.

                                      ....

                                      Ich kann nicht auf alle Deine Fragen eine Antwort geben. Nur zum round Befehl:
                                      Der rundet grundsätzlich immer auf den nächsten integer auf und die Nachkommastellen bestimmst über das wann Du es einsetzt.
                                      Also gibt es keinen Parameter bei round. Möchtest Du 4 Nachkommastellen, dann Wert mit 10.000 multiplizieren- dann runden und dann wieder durch 10.000 dividieren.

                                      Also:

                                      round(0.1313585 *10000)/10000
                                      
                                      JB_Sullivan 1 Reply Last reply Reply Quote 0
                                      • JB_Sullivan
                                        JB_Sullivan @mickym last edited by 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

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

                                          @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 🙂

                                          1 Reply Last reply Reply Quote 0
                                          • SBorg
                                            SBorg Forum Testing Most Active @JB_Sullivan last edited by

                                            @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_Sullivan 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            961
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            vis
                                            17
                                            81
                                            12070
                                            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