Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Variables html Widget

    NEWS

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    Variables html Widget

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      hunterhb last edited by hunterhb

      Hallo ich möchte meine "alte" Solaranlage in die Vis einbinden.
      Bei der alten Solaranlage werkelt ein SolarLog 500.
      Dieser zeigt die Tageswerte unter folgender Adresse an:
      src="http://192.168.XXX.XXX/visu.html?mode=0"
      Soweit funktioniert das auch. Aber wenn ich jetzt den Mode auf Monatswerte (1) stellen möchte klappts schon nicht mehr.
      Ich habe einen Datenpunkt, mit dem ich den gewollten Mode abrufen kann.
      Und folgendes in das HTML Widget geschrieben:

      <div style>
      
      <iframe style="transform-origin: 0px 0px 0px; transform: scale(0.64); width: 1100px; height: 670px;" src="http://192.168.XXX.XX/visu.html?mode={x:parseInt(0_userdata.0.FromVis.pv_anlage_alt_mode);x}" name="iFrame" scrolling="no"></iframe>
      
      </div>
      

      wie nicht anderst zu erwarten, kommt undefined.
      Ich habe auch schon folgende Passage versucht, mit überschaubarem Erfolg:

      <div style>
      
      <iframe style="transform-origin: 0px 0px 0px; transform: scale(0.64); width: 1100px; height: 670px;" src="http://192.168.XXX.XXX/visu.html?mode={0_userdata.0.FromVis.pv_anlage_alt_mode}" name="iFrame" scrolling="no"></iframe>
      
      </div>
      

      pv_anlage_alt_mode ist eine Number (integer) Variable.
      Kann mir jemand helfen?
      Das wurde auch schon ausprobiert:

      <div style>
      
      <iframe style="transform-origin: 0px 0px 0px; transform: scale(0.64); width: 1100px; height: 670px;" src="http://192.168.XXX.XXX/visu.html?mode={parseInt(0_userdata.0.FromVis.pv_anlage_alt_mode)}" name="iFrame" scrolling="no"></iframe>
      
      </div>
      
      OliverIO 1 Reply Last reply Reply Quote 0
      • OliverIO
        OliverIO @hunterhb last edited by

        @hunterhb

        die notation beim 1. und 2. beispiel ist falsch.
        les dir die beschreibung dazu nochmal durch

        hast du mal mit den web developer tools im runtime mode das html angeschaut, was beim 2. beispiel genau erzeugt wird?
        das ist noch das richtigere. leider gibt es keinen int oder trim befehl, falls da ein text mit einem leerzeichen ankommt. das zerhaut dir dann die url.

        binding hat 2 modis.

        1. da wird am anfang einfach nur der datenpunkt genannt, ohne doppelpunkt und ohne variable, danach darf man mit ; getrennt dann bestimmte befehle verwenden, die in der doku aufgezählt sind.
        2. datenpunkt mit : und variable ist der javascript-modus. d.h. jeder nachfolgende befehl wird in ein javascript befehl umgewandelt, der aber bestimmten bedingungen folgt.
          wenn der datenpunkt in die variable eingelesen wird, darfst du noch keine funktion anwenden, das kannst du dann erst mit der variable machen.

        korrekt für dich wäre dann

        {x:0_userdata.0.FromVis.pv_anlage_alt_mode;parseInt(x)}
        
        H 1 Reply Last reply Reply Quote 0
        • H
          hunterhb @OliverIO last edited by

          @oliverio Hallo OliverIO, habe im Browser mal das Debugging durchgeführt.
          wenn ich ein Basic Html verwende und folgendes unter HTML: eintrage sehe ich ein Bild:

          <div style>
          
          <iframe style="transform-origin: 0px 0px 0px; transform: scale(0.63); width: 900px; height: 610px;" src="http://192.168.XXX.XXX/visu.html?mode=0" name="iFrame" scrolling="no"></iframe>
          
          </div>
          

          Mode 0 ist der Tagesmodus (Summe des Tages)
          wenn mode=0 durch mode=1 ersetzt wird sehe ich die Monatswerte.

          Ersetze ich aber den Code durch folgende Passage (variabler mode) :

          <div style>
          
          <iframe style="transform-origin: 0px 0px 0px; transform: scale(0.63); width: 900px; height: 610px;" src="http://192.168.XXX.XXX/visu.html?mode={x:0_userdata.0.FromVis.pv_anlage_alt_mode;x}" name="iFrame" scrolling="no"></iframe>
          
          </div>
          
          

          schon klappts nicht mehr.
          Im Debug steht aber nix von x sondern ein Problem, dass ich mal wegen der Farbauswahl hatte:

          Error in eval[value]: {level:mihome-vacuum.0.consumable.filter; parseInt(level) < 10 ? "#FF0000" : parseInt(level) < 30 "#FFBB33" : "#87EC2E"}
          

          Ich blicks nicht🙄

          Codierknecht 1 Reply Last reply Reply Quote 0
          • Codierknecht
            Codierknecht Developer Most Active @hunterhb last edited by

            @hunterhb

            Ersetze ich aber den Code durch folgende Passage (variabler mode)

            Da ist aber immer noch Dein „altes“ Binding zu sehen.
            Das von @OliverIO vorgeschlagene sieht anders aus:

            {x:0_userdata.0.FromVis.pv_anlage_alt_mode;parseInt(x)}
            

            oder so:

            {0_userdata.0.FromVis.pv_anlage_alt_mode}
            
            H 1 Reply Last reply Reply Quote 0
            • H
              hunterhb @Codierknecht last edited by

              @codierknecht Jetzt sieht es besser aus!
              Ich hatte die zweite Variante versucht, die klappte nicht.
              Mit parseInt() klappt es!!
              DAAAAAANKE

              Codierknecht 1 Reply Last reply Reply Quote 0
              • Codierknecht
                Codierknecht Developer Most Active @hunterhb last edited by

                @hunterhb sagte in Variables html Widget:

                Mit parseInt() klappt es!!

                Der Dank geht dann aber an @OliverIO

                H 1 Reply Last reply Reply Quote 0
                • H
                  hunterhb @Codierknecht last edited by

                  @codierknecht An beide, ohne Dich hätte ich den ersten Vorschlag nicht mehr probiert, weil ich der Meinung war, ich hab das schon getestet.

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  630
                  Online

                  32.2k
                  Users

                  80.9k
                  Topics

                  1.3m
                  Posts

                  3
                  7
                  319
                  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