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. Data flow animation html widgets

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    642

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    630

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

Data flow animation html widgets

Geplant Angeheftet Gesperrt Verschoben Visualisierung
20 Beiträge 8 Kommentatoren 5.0k Aufrufe 9 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.
  • sigi234S sigi234

    @stratos-gkrekidis

    Cool, gehen auch solche Zeichen?

    ">>>" oder Pfeile

    S Offline
    S Offline
    spaceduck
    schrieb am zuletzt editiert von
    #4

    @Stratos Gkrekidis:
    Wenn ich das Widget mehrfach in eine View einfüge und jeweils im Code separat die Farben ändere, dann ändern sich leider in jedem Widget die Farben. Kann man das irgendwie umgehen?

    HP Gen8 16GB / Ubuntu Server 20.04 LTS - Nein, ein Server braucht keine GUI…;-)

    liv-in-skyL 2 Antworten Letzte Antwort
    0
    • S spaceduck

      @Stratos Gkrekidis:
      Wenn ich das Widget mehrfach in eine View einfüge und jeweils im Code separat die Farben ändere, dann ändern sich leider in jedem Widget die Farben. Kann man das irgendwie umgehen?

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

      @spaceduck

      soweit ich mich erinnere - du musst in jedem widget die class loadingxx unbenennen - sonst überschneiden sich die classes

      Image 2.png

      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

      W 1 Antwort Letzte Antwort
      1
      • S spaceduck

        @Stratos Gkrekidis:
        Wenn ich das Widget mehrfach in eine View einfüge und jeweils im Code separat die Farben ändere, dann ändern sich leider in jedem Widget die Farben. Kann man das irgendwie umgehen?

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

        @spaceduck

        hier haben wir auch ein wenig gespielt

        https://forum.iobroker.net/post/679546

        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

        S 1 Antwort Letzte Antwort
        1
        • liv-in-skyL liv-in-sky

          @spaceduck

          hier haben wir auch ein wenig gespielt

          https://forum.iobroker.net/post/679546

          S Offline
          S Offline
          spaceduck
          schrieb am zuletzt editiert von
          #7

          @liv-in-sky
          Danke, genau was ich gesucht habe!

          HP Gen8 16GB / Ubuntu Server 20.04 LTS - Nein, ein Server braucht keine GUI…;-)

          1 Antwort Letzte Antwort
          0
          • liv-in-skyL liv-in-sky

            @spaceduck

            soweit ich mich erinnere - du musst in jedem widget die class loadingxx unbenennen - sonst überschneiden sich die classes

            Image 2.png

            W Offline
            W Offline
            warp735
            schrieb am zuletzt editiert von
            #8

            @liv-in-sky

            Weiß jemand wie ich die "Flussrichtung", also von rechts nach links umstellen kann?

            liv-in-skyL 1 Antwort Letzte Antwort
            0
            • W warp735

              @liv-in-sky

              Weiß jemand wie ich die "Flussrichtung", also von rechts nach links umstellen kann?

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

              @warp735 ohne viel in google zu suchen:

              Image 010.png

              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
              1
              • OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von OliverIO
                #10

                Ich habe das ein wenig optimiert und ein wenig dokumentiert.
                den folgenden block in ein html-widget eintragen

                <script>
                //anpassen der farbe über folgende css anweisung im css-tab von vis
                // #w00000 mit der widgetnummer tauschen
                /*
                #w00000 path {
                   stroke: #00ff00;
                }
                */
                //so können auch die anderen eigenschaften verändert werden
                //    	stroke-width: 10;          //breite des strichs
                //    	stroke-dasharray: 30 10;   //verhältnis von strich zu pause
                //    	stroke-dasharray: 30 10 10 10 // es können auch andere muster //erzeugt werden.
                //    	ggfs muss dann aber das zeitverhalten der animation angepasst //werden
                //->animation in andere richtung laufen lassen
                //einfach in das feld CSS-Klasse dieses widgets das wort
                reverse
                //eintragen
                */
                </script>
                
                <svg viewBox="0 0 700 200">
                   <path class="normal" d="m5,0 h700" />
                </svg>
                <style>
                   .normal {
                   	fill: none;
                   	stroke: #306f91;
                   	stroke-width: 10;
                   	stroke-dasharray: 30 10;
                   	animation: strokeAni .7s infinite linear;
                   }
                   .reverse path {
                       animation-direction: reverse;
                   }
                   @keyframes strokeAni {
                   	0% {
                   		stroke-dashoffset: 40;
                   	}
                   	100% {
                   		stroke-dashoffset: 0;
                   	}
                   }
                </style>
                

                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
                1
                • R Offline
                  R Offline
                  rvs11
                  schrieb am zuletzt editiert von rvs11
                  #11

                  Ich habe einige Linien auf meine vis dank euch erstellt und zeigen mir an ob eine Pumpe läuft oder nicht.
                  Nun möchte ich dies gerne für meine PV-Anlage auch machen.
                  Würde gerne je nachdem wie hoch die Leistung ist die diese Linien schneller laufen lassen.
                  Hab es mit Sichtbarkeit der widgets gemacht.
                  Leider ist es so das wenn man einen Wert dazwischen benötig z.B von 1kW bis 2kW das mit der Sichtbarkeit nicht mehr funktioniert da ich keinen Bereich angeben kann.
                  Gibt es eine möglichkeit das Style vom dem Widget über eine Skipt zu ändern sprich die Animationsgeschwindigkeit?

                  liv-in-skyL sigi234S OliverIOO 3 Antworten Letzte Antwort
                  0
                  • R rvs11

                    Ich habe einige Linien auf meine vis dank euch erstellt und zeigen mir an ob eine Pumpe läuft oder nicht.
                    Nun möchte ich dies gerne für meine PV-Anlage auch machen.
                    Würde gerne je nachdem wie hoch die Leistung ist die diese Linien schneller laufen lassen.
                    Hab es mit Sichtbarkeit der widgets gemacht.
                    Leider ist es so das wenn man einen Wert dazwischen benötig z.B von 1kW bis 2kW das mit der Sichtbarkeit nicht mehr funktioniert da ich keinen Bereich angeben kann.
                    Gibt es eine möglichkeit das Style vom dem Widget über eine Skipt zu ändern sprich die Animationsgeschwindigkeit?

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

                    @rvs11

                    einfacher weg:
                    du kannst das ganze widget in einen datenpunkt schreiben - über ein blockly (indem du den html code "erzeugst") kannst du den ganzen html code so anpassen, wie du willst und diesen in den datenpunkt speichern

                    als widget nimmst du dann ein html standard-widget mit binding des datenpunktes - so wird immer angezeigt, was im dp steht

                    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
                    • R rvs11

                      Ich habe einige Linien auf meine vis dank euch erstellt und zeigen mir an ob eine Pumpe läuft oder nicht.
                      Nun möchte ich dies gerne für meine PV-Anlage auch machen.
                      Würde gerne je nachdem wie hoch die Leistung ist die diese Linien schneller laufen lassen.
                      Hab es mit Sichtbarkeit der widgets gemacht.
                      Leider ist es so das wenn man einen Wert dazwischen benötig z.B von 1kW bis 2kW das mit der Sichtbarkeit nicht mehr funktioniert da ich keinen Bereich angeben kann.
                      Gibt es eine möglichkeit das Style vom dem Widget über eine Skipt zu ändern sprich die Animationsgeschwindigkeit?

                      sigi234S Online
                      sigi234S Online
                      sigi234
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #13

                      @rvs11 sagte in Data flow animation html widgets:

                      Nun möchte ich dies gerne für meine PV-Anlage auch machen.

                      https://forum.iobroker.net/topic/55627/test-adapter-energiefluss-v0-8-x-github-latest?_=1659862573833

                      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                      Immer Daten sichern!

                      1 Antwort Letzte Antwort
                      0
                      • R rvs11

                        Ich habe einige Linien auf meine vis dank euch erstellt und zeigen mir an ob eine Pumpe läuft oder nicht.
                        Nun möchte ich dies gerne für meine PV-Anlage auch machen.
                        Würde gerne je nachdem wie hoch die Leistung ist die diese Linien schneller laufen lassen.
                        Hab es mit Sichtbarkeit der widgets gemacht.
                        Leider ist es so das wenn man einen Wert dazwischen benötig z.B von 1kW bis 2kW das mit der Sichtbarkeit nicht mehr funktioniert da ich keinen Bereich angeben kann.
                        Gibt es eine möglichkeit das Style vom dem Widget über eine Skipt zu ändern sprich die Animationsgeschwindigkeit?

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

                        @rvs11
                        Die animations Geschwindigkeit
                        Ist im css definiert.
                        In meinem Beispiel oben ist es .7s
                        Also 0,7 Sekunden für einen Durchlauf.
                        Die Zeit kannst du auch anpassen.
                        Wenn du es dynamisch machen willst dann kannst du das auch per binding und einem datenpunkt machen
                        Das würde dann so aussehen

                        
                           	animation: strokeAni .{JavaScript.0.animationspeed}s infinite linear;
                        
                        

                        Im datenpunkt könntest du dann ganze Zahlen von 1 bis 9 schreiben.
                        1 ist am schnellsten

                        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
                        • R Offline
                          R Offline
                          rvs11
                          schrieb am zuletzt editiert von
                          #15

                          Danke für eure Antworten.

                          Mein Problem ist das ich mich im Java leider gar nicht gut auskenne (Eigentlich gar nicht ) :).
                          Mir fehlen auch irgendwie die zusammenhänge.
                          C Programmierung ist kein Problem - Programmiere Mikrocontroller
                          Wie ich einen HTML Code für das Widget generiere ist mir völlig unbekannt.
                          Ich möchte gerne eben den Stromfluß (Richtung) wie auch Geschwindigkeit und Farbe je nach PV Leistung bzw. Bezug vom Stromanbieter anzeigen lassen.
                          Aber wie gesagt wie ich einem Widget dies im Java übergebe, keine Ahnung.

                          OliverIOO 1 Antwort Letzte Antwort
                          0
                          • R rvs11

                            Danke für eure Antworten.

                            Mein Problem ist das ich mich im Java leider gar nicht gut auskenne (Eigentlich gar nicht ) :).
                            Mir fehlen auch irgendwie die zusammenhänge.
                            C Programmierung ist kein Problem - Programmiere Mikrocontroller
                            Wie ich einen HTML Code für das Widget generiere ist mir völlig unbekannt.
                            Ich möchte gerne eben den Stromfluß (Richtung) wie auch Geschwindigkeit und Farbe je nach PV Leistung bzw. Bezug vom Stromanbieter anzeigen lassen.
                            Aber wie gesagt wie ich einem Widget dies im Java übergebe, keine Ahnung.

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

                            @rvs11
                            Den für dich einfachsten Weg habe ich geschrieben.
                            Welcher Teil davon ist unklar?

                            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
                            • R Offline
                              R Offline
                              rvs11
                              schrieb am zuletzt editiert von
                              #17

                              @oliverio
                              Hab jetzt ein wenig herum Probiert.

                              Im neu erzeugten Datenpunkt wird nun die Zeit eingetragen mit welcher die Animation laufen soll.

                              Leider wird im vis nichts geändert.

                              //________________________________________________________________
                              //Script jede Sekunde ausfuehren
                              schedule('* * * * * *', Animation_aktualisieren);
                              //________________________________________________________________
                              
                              //animation_aktualisieren();  //Nur für Testzwecke (wird sonst immer Aufgerufen)
                              
                              
                              function Animation_aktualisieren() {
                              //______________________________________________________________________________________
                              
                                  //Einlese-Datenpunkte - müssen natürlich an die eigene Konstellation angepasst werden!
                                  var Leistung_Stromanbieter      = getState('0_userdata.0.Testdatenpunkte.Kelag_Strom').val ;           // 
                                  var Leistung_Haus               = getState('0_userdata.0.Testdatenpunkte.Haus_Stromverbrauch').val ;              //
                                  var Leistung_PV_West            = getState('0_userdata.0.Testdatenpunkte.PV_Solar_West').val ;    // 
                                  var Leistung_PV_Ost             = getState('0_userdata.0.Testdatenpunkte.PV_Solar_Ost').val ;       // 
                                  var Leistung_PV_Gesamt          = getState('0_userdata.0.Testdatenpunkte.PV_Solar_Gesamt').val ;           // 
                                  var Leistung_Akku               = getState('0_userdata.0.Testdatenpunkte.PV_Batterie_Ladestrom').val ;           // 
                              
                                  var sschnell = "0.4";
                                  var slangsam = "1.2";
                              
                              //Werte überprüfen
                              if (Leistung_Stromanbieter > 50 && Leistung_Stromanbieter < 1000) {
                                  setState('0_userdata.0.Animationen.Animation_Geschwindigkeit_Stromanbieter',sschnell);   //0,4 und 1,2s
                              }
                              else {
                                setState('0_userdata.0.Animationen.Animation_Geschwindigkeit_Stromanbieter',slangsam);  
                              }
                              
                              
                              
                              }
                              

                              Und im Widget

                              <svg width="50" height="50">
                              		<path class="Ein_10_1999W_kelag_bezug_test" d="m0,50 L50,0" />
                              		
                              		</svg>
                              		
                              		
                              		<style>
                              		
                              		.Ein_10_1999W_kelag_bezug_test {
                              	fill: none;
                              	stroke: #f82023;
                              	stroke-width: 5;
                              	stroke-dasharray: 15 5;
                                  
                                  animation: strokeAni .{0_userdata.0.Animationen.Animation_Geschwindigkeit_Stromanbieter}s infinite linear;
                              	animation-direction: normal;
                              }
                              
                              @keyframes strokeAni {
                              	0% {
                              		stroke-dashoffset: 40;
                              	}
                              	100% {
                              		stroke-dashoffset: 0;
                              	}
                              }
                              
                              		
                              		</style>
                              

                              Was ist da falsch?

                              1 Antwort Letzte Antwort
                              0
                              • R Offline
                                R Offline
                                rvs11
                                schrieb am zuletzt editiert von
                                #18

                                Hab den Fehler gefunden
                                Bei

                                animation: strokeAni .{0_userdata.0.Animationen.Animation_Geschwindigkeit_Stromanbieter}s infinite linear;

                                War dieser Punkt zuviel :)

                                Nun hat sich ein weiteres Problem aufgetan.
                                Jede Sekunde (ich rufe das Skrip jede Sekunde auf) stockt die Animation (scheint als Startet sie immer wieder neu)
                                Darf ich den Datenpunkt nicht alle Sekunden beschreiben?

                                1 Antwort Letzte Antwort
                                0
                                • R Offline
                                  R Offline
                                  rvs11
                                  schrieb am zuletzt editiert von
                                  #19

                                  So nun auch diesen Fehler behoben :)

                                  Ich beschreibe den Datenpunkt nur dann wenn er einen anderen Wert bekommen soll
                                  Danke für eure Hilfe

                                  OliverIOO 1 Antwort Letzte Antwort
                                  0
                                  • R rvs11

                                    So nun auch diesen Fehler behoben :)

                                    Ich beschreibe den Datenpunkt nur dann wenn er einen anderen Wert bekommen soll
                                    Danke für eure Hilfe

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

                                    @rvs11
                                    Ja sobald du die Animationskonfiguration änderst
                                    Startet der Browser die Animation von vorn.

                                    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
                                    Antworten
                                    • In einem neuen Thema antworten
                                    Anmelden zum Antworten
                                    • Älteste zuerst
                                    • Neuste zuerst
                                    • Meiste Stimmen


                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    896

                                    Online

                                    32.6k

                                    Benutzer

                                    81.9k

                                    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