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. Eigenes Widget erstellen und mit Daten füllen

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.2k

Eigenes Widget erstellen und mit Daten füllen

Geplant Angeheftet Gesperrt Verschoben Visualisierung
25 Beiträge 5 Kommentatoren 1.1k Aufrufe 4 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.
  • M Offline
    M Offline
    Mattes 0
    schrieb am zuletzt editiert von
    #1

    Hallo, ich beschäftige mich schon seit ein paar Jahren mit dem Thema Automation und Steuerung(hatte vor IOBroker was eigenes gebaut).
    (War mal Softwareentwickler für Internet und Datenbanken, allerdings mehr VB, Python, PHP, CPP und Java, weniger JS).

    Ich möchte meine Heizungsanlage und alles drum herum in SVG darstellen und je nach Situation den Energie(Wärme)-fluss animiert darstellen.
    Das habe ich teilweise bereits erledigt, allerdings schaffe ich es nicht die Daten aus IOBroker in meiner SVG Datei darzustellen und die Dokumentationen die ich bisher gelesen habe, haben mir auch nicht geholfen. (selbst ChatGPT eiert herum)

    Die Datei im .../files/web Verzeichnis zu speichern und dann aufzurufen scheiter trotz korrekter pfade und Berechtigungen (wird vermutlich absichtlich unterbunden)

    Ich nutze momentan Habpanel - das dortige template widget verarbeitet aber kein javascript ....

    Ich bräuchte vermutlich nur einen Hinweis zum korrekten ablauf (vielleicht ein Beispiel) ... und keine Ahnung unter welcher Forumsrubrik ich das posten soll ...

    Grüße
    Mattes

    HomoranH F 2 Antworten Letzte Antwort
    0
    • M Mattes 0

      Hallo, ich beschäftige mich schon seit ein paar Jahren mit dem Thema Automation und Steuerung(hatte vor IOBroker was eigenes gebaut).
      (War mal Softwareentwickler für Internet und Datenbanken, allerdings mehr VB, Python, PHP, CPP und Java, weniger JS).

      Ich möchte meine Heizungsanlage und alles drum herum in SVG darstellen und je nach Situation den Energie(Wärme)-fluss animiert darstellen.
      Das habe ich teilweise bereits erledigt, allerdings schaffe ich es nicht die Daten aus IOBroker in meiner SVG Datei darzustellen und die Dokumentationen die ich bisher gelesen habe, haben mir auch nicht geholfen. (selbst ChatGPT eiert herum)

      Die Datei im .../files/web Verzeichnis zu speichern und dann aufzurufen scheiter trotz korrekter pfade und Berechtigungen (wird vermutlich absichtlich unterbunden)

      Ich nutze momentan Habpanel - das dortige template widget verarbeitet aber kein javascript ....

      Ich bräuchte vermutlich nur einen Hinweis zum korrekten ablauf (vielleicht ein Beispiel) ... und keine Ahnung unter welcher Forumsrubrik ich das posten soll ...

      Grüße
      Mattes

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #2

      @mattes-0 sagte in Eigenes Widget erstellen und mit Daten füllen:

      keine Ahnung unter welcher Forumsrubrik ich das posten soll ...

      Das sehen eir schon, wenn wir wissen was da genau abläuft, oder eben nicht.

      @mattes-0 sagte in Eigenes Widget erstellen und mit Daten füllen:

      schaffe ich es nicht die Daten aus IOBroker in meiner SVG Datei darzustellen

      woran hapert das?
      sind die Daten nicht kompatibel?
      Was für Daten hast du?
      Was brauchst du?

      ohne ausreichende Informationen ist das rühren im Kaffeesatz für die Helfenden

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        Mattes 0
        schrieb am zuletzt editiert von
        #3

        @homoran ich habe bspw. diverse Temperatursensoren und würde die für den Anfang gerne in so einer svg grafik anzeigen lassen - je nach datenpunkt/situation dann die flussanimation deaktivieren

        Shema.svg

        SVG ist noch nicht komplett, da kommen noch diverse 2/3Wege Zonenventile, Mischer etc. hinzu - der IOBroker Teil funktioniert aber bestens.

        Leider passen alle bisherigen Visualisierungen nicht so wirklich zu dem was ich mir vorstelle ...

        mir wäre bereits geholfen, wenn ich irgendwo in der Grafik
        0_userdata.0.Heizungssteuerung.Heizen.VL_Minimum
        anzeigen könnte und bei Änderung automatisch aktualisieren ... den Rest würde ich dann schon selbst hinbekommen - denke ich

        HomoranH 1 Antwort Letzte Antwort
        0
        • M Mattes 0

          @homoran ich habe bspw. diverse Temperatursensoren und würde die für den Anfang gerne in so einer svg grafik anzeigen lassen - je nach datenpunkt/situation dann die flussanimation deaktivieren

          Shema.svg

          SVG ist noch nicht komplett, da kommen noch diverse 2/3Wege Zonenventile, Mischer etc. hinzu - der IOBroker Teil funktioniert aber bestens.

          Leider passen alle bisherigen Visualisierungen nicht so wirklich zu dem was ich mir vorstelle ...

          mir wäre bereits geholfen, wenn ich irgendwo in der Grafik
          0_userdata.0.Heizungssteuerung.Heizen.VL_Minimum
          anzeigen könnte und bei Änderung automatisch aktualisieren ... den Rest würde ich dann schon selbst hinbekommen - denke ich

          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von Homoran
          #4

          @mattes-0 sagte in Eigenes Widget erstellen und mit Daten füllen:

          Leider passen alle bisherigen Visualisierungen nicht so wirklich zu dem was ich mir vorstelle ...

          hast du dich auch mit Energiefluss-erweitert beschäftigt?
          Screenshot_20250911-123322_Firefox.jpg

          @mattes-0 sagte in Eigenes Widget erstellen und mit Daten füllen:

          der IOBroker Teil funktioniert aber bestens.

          und was nicht???

          @mattes-0 sagte in Eigenes Widget erstellen und mit Daten füllen:

          wenn ich irgendwo in der Grafik
          0_userdata.0.Heizungssteuerung.Heizen.VL_Minimum
          anzeigen könnte

          Mangels Kenntnis von der Funktion von deinem SVG kann ich gerade nicht nachvollziehen wo und wie ein Wert dort dargestellt wird.

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          M 1 Antwort Letzte Antwort
          0
          • OliverIOO Offline
            OliverIOO Offline
            OliverIO
            schrieb am zuletzt editiert von OliverIO
            #5

            @mattes-0
            Du kannst jederzeit auf ein beliebiges Widget ein anderes legen.

            Wenn du es aber unbedingt in einem SVG integriert haben möchtest, könntest du auch mein Widget json-Template nehmen im gleichnamigen Adapter

            https://forum.iobroker.net/topic/31521/test-widget-json-template?_=1757587185055

            Wenn du mir das/ein svg mit vorbereiteten textplatzhalter bereitstellst mache ich dir ein kleines Beispiel

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

            M 1 Antwort Letzte Antwort
            1
            • OliverIOO OliverIO

              @mattes-0
              Du kannst jederzeit auf ein beliebiges Widget ein anderes legen.

              Wenn du es aber unbedingt in einem SVG integriert haben möchtest, könntest du auch mein Widget json-Template nehmen im gleichnamigen Adapter

              https://forum.iobroker.net/topic/31521/test-widget-json-template?_=1757587185055

              Wenn du mir das/ein svg mit vorbereiteten textplatzhalter bereitstellst mache ich dir ein kleines Beispiel

              M Offline
              M Offline
              Mattes 0
              schrieb am zuletzt editiert von
              #6

              @oliverio

              0_userdata.0.Heizungssteuerung.Heizen.VL_Minimum wäre ein Datenpunkt.

              Der Platzhalter dafür in der Grafik wäre mir erstmal egal wo der ist, das lässt sich ändern.

              Wenn du mir dafür ein Beispiel basteln würdest wäre das wunderbar.

              Ich habe rund 35 Sensoren verlegt und eingepflegt und steuere bisher knapp 5 Pumpen, zwei Mischer, 7 Stellmotoren, Außenlicht, Klingeln, Öffner und da kommt mit Sicherheit noch was dazu, denn die alte Steuerung war zum Teil noch umfangreicher, allerdings alles Arduino und entsprechend weniger Netzwerkfähig.

              Es fehlt Bewässerung, Alarmanlage, Lüftungsanlage... muss ich alles noch selbst umsetzen bzw. installieren... ist Softwaretechnisch mit iobroker deutlich schneller und einfacher als mit cpp alles neu zu entwickeln.

              Leider hasse ich Javascript... steige da nicht mehr durch und bin obendrein gerade in einer Umschulung...

              OliverIOO 1 Antwort Letzte Antwort
              0
              • M Mattes 0

                @oliverio

                0_userdata.0.Heizungssteuerung.Heizen.VL_Minimum wäre ein Datenpunkt.

                Der Platzhalter dafür in der Grafik wäre mir erstmal egal wo der ist, das lässt sich ändern.

                Wenn du mir dafür ein Beispiel basteln würdest wäre das wunderbar.

                Ich habe rund 35 Sensoren verlegt und eingepflegt und steuere bisher knapp 5 Pumpen, zwei Mischer, 7 Stellmotoren, Außenlicht, Klingeln, Öffner und da kommt mit Sicherheit noch was dazu, denn die alte Steuerung war zum Teil noch umfangreicher, allerdings alles Arduino und entsprechend weniger Netzwerkfähig.

                Es fehlt Bewässerung, Alarmanlage, Lüftungsanlage... muss ich alles noch selbst umsetzen bzw. installieren... ist Softwaretechnisch mit iobroker deutlich schneller und einfacher als mit cpp alles neu zu entwickeln.

                Leider hasse ich Javascript... steige da nicht mehr durch und bin obendrein gerade in einer Umschulung...

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

                @mattes-0

                wo ist die svg?
                ich habe keine

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

                M 1 Antwort Letzte Antwort
                0
                • OliverIOO OliverIO

                  @mattes-0

                  wo ist die svg?
                  ich habe keine

                  M Offline
                  M Offline
                  Mattes 0
                  schrieb am zuletzt editiert von
                  #8

                  @oliverio https://forum.iobroker.net/assets/uploads/files/1757585945399-shema.svg

                  OliverIOO 1 Antwort Letzte Antwort
                  0
                  • HomoranH Homoran

                    @mattes-0 sagte in Eigenes Widget erstellen und mit Daten füllen:

                    Leider passen alle bisherigen Visualisierungen nicht so wirklich zu dem was ich mir vorstelle ...

                    hast du dich auch mit Energiefluss-erweitert beschäftigt?
                    Screenshot_20250911-123322_Firefox.jpg

                    @mattes-0 sagte in Eigenes Widget erstellen und mit Daten füllen:

                    der IOBroker Teil funktioniert aber bestens.

                    und was nicht???

                    @mattes-0 sagte in Eigenes Widget erstellen und mit Daten füllen:

                    wenn ich irgendwo in der Grafik
                    0_userdata.0.Heizungssteuerung.Heizen.VL_Minimum
                    anzeigen könnte

                    Mangels Kenntnis von der Funktion von deinem SVG kann ich gerade nicht nachvollziehen wo und wie ein Wert dort dargestellt wird.

                    M Offline
                    M Offline
                    Mattes 0
                    schrieb am zuletzt editiert von
                    #9

                    @homoran ja, allerdings leider auch nicht das was ich gerne hätte.

                    Was funktioniert ist die Hardware und die Steuerung via Scripte, bspw. bei Dämmerung automatisch das Außenlicht ein bzw ausschalten, Türklingel an Smartphone weiterleiten uvm.

                    Jetzt versuche ich mich an der Visualisierung und stoße bei den bisherigen Widgets an Grenzen... Vis bzw vis2 sind irgendwie nix für mich, habpanel schon eher, allerdings wird es extrem unübersichtlich und sieht jedesmal auf verschiedenen Geräten anders aus (Auflösung).

                    Speziell geht's bei mir momentan vor allem um Wärme.

                    Quelle ist je nach Lage solarthermie, Wärmepumpe, heizstab oder Pufferspeicher.
                    Bei Störungen ist so ein animiertes Hydraulikschema dann sehr praktisch...

                    Ziel, je nach Situation entweder Warmwasserspeicher, Pufferspeicher oder heizkreis oder die noch zu bauende Lüftungsanlage...

                    Situation ist abhängig von Raumtemperaturen, Außentemperaturen, Speicher bzw Puffer Temperaturen und Tageszeit oder sowas wie Legionnellen Schaltung (Desinfektion).

                    Die Solarthermie ist momentan mit 10 Kollektoren Heizung und 3 Kollektoren für Warmwasser realisiert und als Altbestand (ehemalige Holzvergaserheizung) stehen noch 3x800l Pufferspeicher im Keller+ 800l die ich anschließen kann wenn Platz gemacht wurde.

                    Sind noch immer im Umbau bzw energetischer Sanierung - Fassaden sind gedämmt, Dach muß noch... hauptsächlich Eigenleistung, da nichts vermietet ist - sind 9 Personen und alles Familie mit geringem Einkommen da Rentner (Generationen Haus).

                    HomoranH 1 Antwort Letzte Antwort
                    0
                    • M Mattes 0

                      @oliverio https://forum.iobroker.net/assets/uploads/files/1757585945399-shema.svg

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

                      @mattes-0

                      Hier das widget zum importieren.
                      es verwendet wie oben schon gesagt den vis-jsontemplate adapter

                      im svg sind die folgenden datenpunkte eingebaut
                      0_userdata.0.val1
                      0_userdata.0.val2

                      falls was nicht klappt einfach nochmal fragen.

                      vis1

                      [{"tpl":"tplJSONTemplate4","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","json_dpCount":"2","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,"json_template":"<% debugger; %> \n<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<svg version=\"1.2\" width=\"297mm\" height=\"210mm\" viewBox=\"0 0 29700 21000\" preserveAspectRatio=\"xMidYMid\" fill-rule=\"evenodd\" stroke-width=\"28.222\" stroke-linejoin=\"round\" xml:space=\"preserve\" id=\"svg14\"\n\txmlns=\"http://www.w3.org/2000/svg\"\n\txmlns:svg=\"http://www.w3.org/2000/svg\">\n\t<defs id=\"defs14\"/>&#10;\n\t<g visibility=\"visible\" id=\"MasterSlide_1_Default\">&#10;\n\t\t<desc id=\"desc1\">Master slide&#10;</desc>&#10;\n\t\t<rect fill=\"none\" stroke=\"none\" x=\"0\" y=\"0\" width=\"29700\" height=\"21000\" id=\"rect1\"/>&#10;\n\t</g>&#10;&#10;\n\t<g visibility=\"visible\" id=\"Slide_1_page1\">&#10;\n\t\t<g id=\"Speicher\">&#10;\n\t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 22750,10500 C 22375,10500 22000,10875 22000,11250 L 22000,17250 C 22000,17625 22375,18001 22750,18001 L 25750,18001 C 26125,18001 26501,17625 26501,17250 L 26501,11250 C 26501,10875 26125,10500 25750,10500 L 22750,10500 Z\" id=\"path1\"/>&#10;\n\t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_1_0\" stroke-linejoin=\"round\" d=\"M 22750,10500 C 22375,10500 22000,10875 22000,11250 L 22000,17250 C 22000,17625 22375,18001 22750,18001 L 25750,18001 C 26125,18001 26501,17625 26501,17250 L 26501,11250 C 26501,10875 26125,10500 25750,10500 L 22750,10500 Z\"/>&#10;\n\t\t\t<rect fill=\"none\" stroke=\"none\" x=\"22000\" y=\"10500\" width=\"4501\" height=\"7501\" id=\"rect2\"/>&#10;&#10;\n\t\t</g>&#10;&#10;\n\t\t<g id=\"Puffer\">&#10;\n\t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 9250,10500 C 8875,10500 8500,10875 8500,11250 L 8500,17250 C 8500,17625 8875,18001 9250,18001 L 12250,18001 C 12625,18001 13001,17625 13001,17250 L 13001,11250 C 13001,10875 12625,10500 12250,10500 L 9250,10500 Z\" id=\"path2\"/>&#10;\n\t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_2_0\" stroke-linejoin=\"round\" d=\"M 9250,10500 C 8875,10500 8500,10875 8500,11250 L 8500,17250 C 8500,17625 8875,18001 9250,18001 L 12250,18001 C 12625,18001 13001,17625 13001,17250 L 13001,11250 C 13001,10875 12625,10500 12250,10500 L 9250,10500 Z\"/>&#10;\n\t\t\t<rect fill=\"none\" stroke=\"none\" x=\"8500\" y=\"10500\" width=\"4501\" height=\"7501\" id=\"rect3\"/>&#10;\n\t\t</g>&#10;&#10;\n\t\t<g id=\"Solar\">&#10;\n\t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 3625,3500 L 7001,3500 5875,6501 2500,6501 3625,3500 Z\" id=\"path3\"/>&#10;\n\t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_3_0\" stroke-linejoin=\"round\" d=\"M 3625,3500 L 7001,3500 5875,6501 2500,6501 3625,3500 Z\"/>&#10;\n\t\t\t<rect fill=\"none\" stroke=\"none\" x=\"2500\" y=\"3500\" width=\"4501\" height=\"3001\" id=\"rect4\"/>&#10;\n\t\t</g>&#10;&#10;\n\t\t<g id=\"WP_PU\">&#10;\n\t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 6000,19500 L 4000,19500 4000,17500 8000,17500 8000,19500 6000,19500 Z\" id=\"path4\"/>&#10;\n\t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" stroke-linejoin=\"round\" d=\"M 6000,19500 L 4000,19500 4000,17500 8000,17500 8000,19500 6000,19500 Z\" id=\"path5\"/>&#10;\n\t\t</g>&#10;\n\t\t<g id=\"Heizen\">&#10;\n\t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 18000,4000 L 15500,4000 15500,1500 20500,1500 20500,4000 18000,4000 Z\" id=\"path6\"/>&#10;\n\t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" stroke-linejoin=\"round\" d=\"M 18000,4000 L 15500,4000 15500,1500 20500,1500 20500,4000 18000,4000 Z\" id=\"path7\"/>&#10;\n\t\t\t<text xml:space=\"preserve\" style=\"font-size:493.889px;fill:#000000;stroke-width:746.707\" x=\"16243.243\" y=\"2189.1892\" id=\"text14\">\n\t\t\t\t<tspan id=\"tspan14\" style=\"font-size:493.889px;stroke-width:746.707\" x=\"16243.243\" y=\"2189.1892\">test1: <%- dp[\"0_userdata.0.val1\"] %></tspan>\n\t\t\t</text>\n\t\t\t<text xml:space=\"preserve\" style=\"font-size:493.89px;fill:#000000;stroke-width:746.707\" x=\"16222.973\" y=\"2918.9187\" id=\"text15\">\n\t\t\t\t<tspan id=\"tspan15\" style=\"stroke-width:746.707\" x=\"16222.973\" y=\"2918.9187\">test2: <%- dp[\"0_userdata.0.val2\"] %></tspan>\n\t\t\t</text>\t\t\t\n\t\t</g>&#10;&#10;&#10;\n\t\t<line id=\"von_Puffer_an_Heizen_VL\" x1=\"15000\" y1=\"2500\" x2=\"15500\" y2=\"2500\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line7\" x1=\"15000\" y1=\"2500\" x2=\"15000\" y2=\"11000\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line8\" x1=\"13000\" y1=\"11000\" x2=\"15000\" y2=\"11000\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;&#10;&#10;&#10;&#10;\n\t\t<line id=\"von_Solar_an_Puffer_VL\" x1=\"13000\" y1=\"11500\" x2=\"18000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;&#10;\n\t\t<line id=\"von_Puffer_an_Speicher_RL\" x1=\"13001\" y1=\"16200\" x2=\"22000\" y2=\"16200\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;&#10;&#10;\n\t\t<line id=\"Puffer_Speicher_VL\" x1=\"13001\" y1=\"11200\" x2=\"22000\" y2=\"11200\" stroke=\"#FF00F0\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;\n\t\t<line id=\"Puffer_Speicher_VL_1\" x1=\"18000\" y1=\"11500\" x2=\"22000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"Puffer_Speicher_RL\" x1=\"13001\" y1=\"16000\" x2=\"17600\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"Puffer_Speicher_RL_1\" x1=\"17600\" y1=\"16000\" x2=\"22000\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;&#10;\n\t\t<line id=\"Speicher_Solar_VL_1\" x1=\"7001\" y1=\"3600\" x2=\"7001\" y2=\"7001\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"Speicher_Solar_VL_2\" x1=\"7001\" y1=\"7001\" x2=\"18000\" y2=\"7001\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"Speicher_Solar_VL_3\" x1=\"18000\" y1=\"7001\" x2=\"18000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"Speicher_Solar_RL_1\" x1=\"6000\" y1=\"6000\" x2=\"6000\" y2=\"7600\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line9\" x1=\"6000\" y1=\"7600\" x2=\"17600\" y2=\"7600\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line10\" x1=\"17600\" y1=\"7600\" x2=\"17600\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;\n\t\t<line id=\"Speicher_WWPU_VL_\" x1=\"8000\" y1=\"18600\" x2=\"17000\" y2=\"18600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line11\" x1=\"17000\" y1=\"18600\" x2=\"17000\" y2=\"11600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line12\" x1=\"17000\" y1=\"11600\" x2=\"22000\" y2=\"11600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;&#10;&#10;\n\t\t<line id=\"Speicher_WWPU_RL_\" x1=\"8000\" y1=\"19000\" x2=\"17500\" y2=\"19000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line13\" x1=\"17500\" y1=\"19000\" x2=\"17500\" y2=\"16500\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line14\" x1=\"17500\" y1=\"16500\" x2=\"22000\" y2=\"16500\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;\n\t</g>&#10;\n</svg>\n","json_dp1":"0_userdata.0.val1","json_dp2":"0_userdata.0.val2"},"style":{"left":"19px","top":"25px","width":""},"widgetSet":"jsontemplate"}]
                      

                      vis2

                      [
                       {
                         "tpl": "tplJSONTemplateWidget4vis2",
                         "data": {
                           "bindings": [],
                           "oid": "nothing_selected",
                           "dpcount": 2,
                           "g_common": true,
                           "template": "<% debugger; %>  <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?> <svg version=\"1.2\" width=\"297mm\" height=\"210mm\" viewBox=\"0 0 29700 21000\" preserveAspectRatio=\"xMidYMid\" fill-rule=\"evenodd\" stroke-width=\"28.222\" stroke-linejoin=\"round\" xml:space=\"preserve\" id=\"svg14\" \txmlns=\"http://www.w3.org/2000/svg\" \txmlns:svg=\"http://www.w3.org/2000/svg\"> \t<defs id=\"defs14\"/>&#10; \t<g visibility=\"visible\" id=\"MasterSlide_1_Default\">&#10; \t\t<desc id=\"desc1\">Master slide&#10;</desc>&#10; \t\t<rect fill=\"none\" stroke=\"none\" x=\"0\" y=\"0\" width=\"29700\" height=\"21000\" id=\"rect1\"/>&#10; \t</g>&#10;&#10; \t<g visibility=\"visible\" id=\"Slide_1_page1\">&#10; \t\t<g id=\"Speicher\">&#10; \t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 22750,10500 C 22375,10500 22000,10875 22000,11250 L 22000,17250 C 22000,17625 22375,18001 22750,18001 L 25750,18001 C 26125,18001 26501,17625 26501,17250 L 26501,11250 C 26501,10875 26125,10500 25750,10500 L 22750,10500 Z\" id=\"path1\"/>&#10; \t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_1_0\" stroke-linejoin=\"round\" d=\"M 22750,10500 C 22375,10500 22000,10875 22000,11250 L 22000,17250 C 22000,17625 22375,18001 22750,18001 L 25750,18001 C 26125,18001 26501,17625 26501,17250 L 26501,11250 C 26501,10875 26125,10500 25750,10500 L 22750,10500 Z\"/>&#10; \t\t\t<rect fill=\"none\" stroke=\"none\" x=\"22000\" y=\"10500\" width=\"4501\" height=\"7501\" id=\"rect2\"/>&#10;&#10; \t\t</g>&#10;&#10; \t\t<g id=\"Puffer\">&#10; \t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 9250,10500 C 8875,10500 8500,10875 8500,11250 L 8500,17250 C 8500,17625 8875,18001 9250,18001 L 12250,18001 C 12625,18001 13001,17625 13001,17250 L 13001,11250 C 13001,10875 12625,10500 12250,10500 L 9250,10500 Z\" id=\"path2\"/>&#10; \t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_2_0\" stroke-linejoin=\"round\" d=\"M 9250,10500 C 8875,10500 8500,10875 8500,11250 L 8500,17250 C 8500,17625 8875,18001 9250,18001 L 12250,18001 C 12625,18001 13001,17625 13001,17250 L 13001,11250 C 13001,10875 12625,10500 12250,10500 L 9250,10500 Z\"/>&#10; \t\t\t<rect fill=\"none\" stroke=\"none\" x=\"8500\" y=\"10500\" width=\"4501\" height=\"7501\" id=\"rect3\"/>&#10; \t\t</g>&#10;&#10; \t\t<g id=\"Solar\">&#10; \t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 3625,3500 L 7001,3500 5875,6501 2500,6501 3625,3500 Z\" id=\"path3\"/>&#10; \t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_3_0\" stroke-linejoin=\"round\" d=\"M 3625,3500 L 7001,3500 5875,6501 2500,6501 3625,3500 Z\"/>&#10; \t\t\t<rect fill=\"none\" stroke=\"none\" x=\"2500\" y=\"3500\" width=\"4501\" height=\"3001\" id=\"rect4\"/>&#10; \t\t</g>&#10;&#10; \t\t<g id=\"WP_PU\">&#10; \t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 6000,19500 L 4000,19500 4000,17500 8000,17500 8000,19500 6000,19500 Z\" id=\"path4\"/>&#10; \t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" stroke-linejoin=\"round\" d=\"M 6000,19500 L 4000,19500 4000,17500 8000,17500 8000,19500 6000,19500 Z\" id=\"path5\"/>&#10; \t\t</g>&#10; \t\t<g id=\"Heizen\">&#10; \t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 18000,4000 L 15500,4000 15500,1500 20500,1500 20500,4000 18000,4000 Z\" id=\"path6\"/>&#10; \t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" stroke-linejoin=\"round\" d=\"M 18000,4000 L 15500,4000 15500,1500 20500,1500 20500,4000 18000,4000 Z\" id=\"path7\"/>&#10; \t\t\t<text xml:space=\"preserve\" style=\"font-size:493.889px;fill:#000000;stroke-width:746.707\" x=\"16243.243\" y=\"2189.1892\" id=\"text14\"> \t\t\t\t<tspan id=\"tspan14\" style=\"font-size:493.889px;stroke-width:746.707\" x=\"16243.243\" y=\"2189.1892\">test1: <%- dp[\"0_userdata.0.val1\"] %></tspan> \t\t\t</text> \t\t\t<text xml:space=\"preserve\" style=\"font-size:493.89px;fill:#000000;stroke-width:746.707\" x=\"16222.973\" y=\"2918.9187\" id=\"text15\"> \t\t\t\t<tspan id=\"tspan15\" style=\"stroke-width:746.707\" x=\"16222.973\" y=\"2918.9187\">test2: <%- dp[\"0_userdata.0.val2\"] %></tspan> \t\t\t</text>\t\t\t \t\t</g>&#10;&#10;&#10; \t\t<line id=\"von_Puffer_an_Heizen_VL\" x1=\"15000\" y1=\"2500\" x2=\"15500\" y2=\"2500\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line7\" x1=\"15000\" y1=\"2500\" x2=\"15000\" y2=\"11000\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line8\" x1=\"13000\" y1=\"11000\" x2=\"15000\" y2=\"11000\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10;&#10;&#10;&#10;&#10; \t\t<line id=\"von_Solar_an_Puffer_VL\" x1=\"13000\" y1=\"11500\" x2=\"18000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10;&#10; \t\t<line id=\"von_Puffer_an_Speicher_RL\" x1=\"13001\" y1=\"16200\" x2=\"22000\" y2=\"16200\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10;&#10;&#10; \t\t<line id=\"Puffer_Speicher_VL\" x1=\"13001\" y1=\"11200\" x2=\"22000\" y2=\"11200\" stroke=\"#FF00F0\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10; \t\t<line id=\"Puffer_Speicher_VL_1\" x1=\"18000\" y1=\"11500\" x2=\"22000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"Puffer_Speicher_RL\" x1=\"13001\" y1=\"16000\" x2=\"17600\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"Puffer_Speicher_RL_1\" x1=\"17600\" y1=\"16000\" x2=\"22000\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10;&#10; \t\t<line id=\"Speicher_Solar_VL_1\" x1=\"7001\" y1=\"3600\" x2=\"7001\" y2=\"7001\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"Speicher_Solar_VL_2\" x1=\"7001\" y1=\"7001\" x2=\"18000\" y2=\"7001\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"Speicher_Solar_VL_3\" x1=\"18000\" y1=\"7001\" x2=\"18000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"Speicher_Solar_RL_1\" x1=\"6000\" y1=\"6000\" x2=\"6000\" y2=\"7600\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line9\" x1=\"6000\" y1=\"7600\" x2=\"17600\" y2=\"7600\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line10\" x1=\"17600\" y1=\"7600\" x2=\"17600\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10; \t\t<line id=\"Speicher_WWPU_VL_\" x1=\"8000\" y1=\"18600\" x2=\"17000\" y2=\"18600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line11\" x1=\"17000\" y1=\"18600\" x2=\"17000\" y2=\"11600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line12\" x1=\"17000\" y1=\"11600\" x2=\"22000\" y2=\"11600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10;&#10;&#10; \t\t<line id=\"Speicher_WWPU_RL_\" x1=\"8000\" y1=\"19000\" x2=\"17500\" y2=\"19000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line13\" x1=\"17500\" y1=\"19000\" x2=\"17500\" y2=\"16500\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line14\" x1=\"17500\" y1=\"16500\" x2=\"22000\" y2=\"16500\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10; \t</g>&#10; </svg>",
                           "g_datapoints-0": true,
                           "g_datapoints-1": true,
                           "g_datapoints-2": true,
                           "datapoint-oid1": "0_userdata.0.val1",
                           "datapoint-oid2": "0_userdata.0.val2"
                         },
                         "style": {
                           "bindings": [],
                           "left": 49,
                           "top": 28,
                           "width": "518px",
                           "height": "300px"
                         },
                         "widgetSet": "jsontemplate",
                         "_id": "i000001"
                       }
                      ]
                      

                      habe gerade festgestellt, das jsontemplate von vis1 nach vis2 nicht übertragbar ist. daher noch mal eine 2. version des imports für vis2

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

                      M 2 Antworten Letzte Antwort
                      0
                      • OliverIOO OliverIO

                        @mattes-0

                        Hier das widget zum importieren.
                        es verwendet wie oben schon gesagt den vis-jsontemplate adapter

                        im svg sind die folgenden datenpunkte eingebaut
                        0_userdata.0.val1
                        0_userdata.0.val2

                        falls was nicht klappt einfach nochmal fragen.

                        vis1

                        [{"tpl":"tplJSONTemplate4","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","json_dpCount":"2","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,"json_template":"<% debugger; %> \n<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<svg version=\"1.2\" width=\"297mm\" height=\"210mm\" viewBox=\"0 0 29700 21000\" preserveAspectRatio=\"xMidYMid\" fill-rule=\"evenodd\" stroke-width=\"28.222\" stroke-linejoin=\"round\" xml:space=\"preserve\" id=\"svg14\"\n\txmlns=\"http://www.w3.org/2000/svg\"\n\txmlns:svg=\"http://www.w3.org/2000/svg\">\n\t<defs id=\"defs14\"/>&#10;\n\t<g visibility=\"visible\" id=\"MasterSlide_1_Default\">&#10;\n\t\t<desc id=\"desc1\">Master slide&#10;</desc>&#10;\n\t\t<rect fill=\"none\" stroke=\"none\" x=\"0\" y=\"0\" width=\"29700\" height=\"21000\" id=\"rect1\"/>&#10;\n\t</g>&#10;&#10;\n\t<g visibility=\"visible\" id=\"Slide_1_page1\">&#10;\n\t\t<g id=\"Speicher\">&#10;\n\t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 22750,10500 C 22375,10500 22000,10875 22000,11250 L 22000,17250 C 22000,17625 22375,18001 22750,18001 L 25750,18001 C 26125,18001 26501,17625 26501,17250 L 26501,11250 C 26501,10875 26125,10500 25750,10500 L 22750,10500 Z\" id=\"path1\"/>&#10;\n\t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_1_0\" stroke-linejoin=\"round\" d=\"M 22750,10500 C 22375,10500 22000,10875 22000,11250 L 22000,17250 C 22000,17625 22375,18001 22750,18001 L 25750,18001 C 26125,18001 26501,17625 26501,17250 L 26501,11250 C 26501,10875 26125,10500 25750,10500 L 22750,10500 Z\"/>&#10;\n\t\t\t<rect fill=\"none\" stroke=\"none\" x=\"22000\" y=\"10500\" width=\"4501\" height=\"7501\" id=\"rect2\"/>&#10;&#10;\n\t\t</g>&#10;&#10;\n\t\t<g id=\"Puffer\">&#10;\n\t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 9250,10500 C 8875,10500 8500,10875 8500,11250 L 8500,17250 C 8500,17625 8875,18001 9250,18001 L 12250,18001 C 12625,18001 13001,17625 13001,17250 L 13001,11250 C 13001,10875 12625,10500 12250,10500 L 9250,10500 Z\" id=\"path2\"/>&#10;\n\t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_2_0\" stroke-linejoin=\"round\" d=\"M 9250,10500 C 8875,10500 8500,10875 8500,11250 L 8500,17250 C 8500,17625 8875,18001 9250,18001 L 12250,18001 C 12625,18001 13001,17625 13001,17250 L 13001,11250 C 13001,10875 12625,10500 12250,10500 L 9250,10500 Z\"/>&#10;\n\t\t\t<rect fill=\"none\" stroke=\"none\" x=\"8500\" y=\"10500\" width=\"4501\" height=\"7501\" id=\"rect3\"/>&#10;\n\t\t</g>&#10;&#10;\n\t\t<g id=\"Solar\">&#10;\n\t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 3625,3500 L 7001,3500 5875,6501 2500,6501 3625,3500 Z\" id=\"path3\"/>&#10;\n\t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_3_0\" stroke-linejoin=\"round\" d=\"M 3625,3500 L 7001,3500 5875,6501 2500,6501 3625,3500 Z\"/>&#10;\n\t\t\t<rect fill=\"none\" stroke=\"none\" x=\"2500\" y=\"3500\" width=\"4501\" height=\"3001\" id=\"rect4\"/>&#10;\n\t\t</g>&#10;&#10;\n\t\t<g id=\"WP_PU\">&#10;\n\t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 6000,19500 L 4000,19500 4000,17500 8000,17500 8000,19500 6000,19500 Z\" id=\"path4\"/>&#10;\n\t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" stroke-linejoin=\"round\" d=\"M 6000,19500 L 4000,19500 4000,17500 8000,17500 8000,19500 6000,19500 Z\" id=\"path5\"/>&#10;\n\t\t</g>&#10;\n\t\t<g id=\"Heizen\">&#10;\n\t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 18000,4000 L 15500,4000 15500,1500 20500,1500 20500,4000 18000,4000 Z\" id=\"path6\"/>&#10;\n\t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" stroke-linejoin=\"round\" d=\"M 18000,4000 L 15500,4000 15500,1500 20500,1500 20500,4000 18000,4000 Z\" id=\"path7\"/>&#10;\n\t\t\t<text xml:space=\"preserve\" style=\"font-size:493.889px;fill:#000000;stroke-width:746.707\" x=\"16243.243\" y=\"2189.1892\" id=\"text14\">\n\t\t\t\t<tspan id=\"tspan14\" style=\"font-size:493.889px;stroke-width:746.707\" x=\"16243.243\" y=\"2189.1892\">test1: <%- dp[\"0_userdata.0.val1\"] %></tspan>\n\t\t\t</text>\n\t\t\t<text xml:space=\"preserve\" style=\"font-size:493.89px;fill:#000000;stroke-width:746.707\" x=\"16222.973\" y=\"2918.9187\" id=\"text15\">\n\t\t\t\t<tspan id=\"tspan15\" style=\"stroke-width:746.707\" x=\"16222.973\" y=\"2918.9187\">test2: <%- dp[\"0_userdata.0.val2\"] %></tspan>\n\t\t\t</text>\t\t\t\n\t\t</g>&#10;&#10;&#10;\n\t\t<line id=\"von_Puffer_an_Heizen_VL\" x1=\"15000\" y1=\"2500\" x2=\"15500\" y2=\"2500\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line7\" x1=\"15000\" y1=\"2500\" x2=\"15000\" y2=\"11000\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line8\" x1=\"13000\" y1=\"11000\" x2=\"15000\" y2=\"11000\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;&#10;&#10;&#10;&#10;\n\t\t<line id=\"von_Solar_an_Puffer_VL\" x1=\"13000\" y1=\"11500\" x2=\"18000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;&#10;\n\t\t<line id=\"von_Puffer_an_Speicher_RL\" x1=\"13001\" y1=\"16200\" x2=\"22000\" y2=\"16200\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;&#10;&#10;\n\t\t<line id=\"Puffer_Speicher_VL\" x1=\"13001\" y1=\"11200\" x2=\"22000\" y2=\"11200\" stroke=\"#FF00F0\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;\n\t\t<line id=\"Puffer_Speicher_VL_1\" x1=\"18000\" y1=\"11500\" x2=\"22000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"Puffer_Speicher_RL\" x1=\"13001\" y1=\"16000\" x2=\"17600\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"Puffer_Speicher_RL_1\" x1=\"17600\" y1=\"16000\" x2=\"22000\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;&#10;\n\t\t<line id=\"Speicher_Solar_VL_1\" x1=\"7001\" y1=\"3600\" x2=\"7001\" y2=\"7001\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"Speicher_Solar_VL_2\" x1=\"7001\" y1=\"7001\" x2=\"18000\" y2=\"7001\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"Speicher_Solar_VL_3\" x1=\"18000\" y1=\"7001\" x2=\"18000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"Speicher_Solar_RL_1\" x1=\"6000\" y1=\"6000\" x2=\"6000\" y2=\"7600\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line9\" x1=\"6000\" y1=\"7600\" x2=\"17600\" y2=\"7600\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line10\" x1=\"17600\" y1=\"7600\" x2=\"17600\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;\n\t\t<line id=\"Speicher_WWPU_VL_\" x1=\"8000\" y1=\"18600\" x2=\"17000\" y2=\"18600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line11\" x1=\"17000\" y1=\"18600\" x2=\"17000\" y2=\"11600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line12\" x1=\"17000\" y1=\"11600\" x2=\"22000\" y2=\"11600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;&#10;&#10;\n\t\t<line id=\"Speicher_WWPU_RL_\" x1=\"8000\" y1=\"19000\" x2=\"17500\" y2=\"19000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line13\" x1=\"17500\" y1=\"19000\" x2=\"17500\" y2=\"16500\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line14\" x1=\"17500\" y1=\"16500\" x2=\"22000\" y2=\"16500\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;\n\t</g>&#10;\n</svg>\n","json_dp1":"0_userdata.0.val1","json_dp2":"0_userdata.0.val2"},"style":{"left":"19px","top":"25px","width":""},"widgetSet":"jsontemplate"}]
                        

                        vis2

                        [
                         {
                           "tpl": "tplJSONTemplateWidget4vis2",
                           "data": {
                             "bindings": [],
                             "oid": "nothing_selected",
                             "dpcount": 2,
                             "g_common": true,
                             "template": "<% debugger; %>  <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?> <svg version=\"1.2\" width=\"297mm\" height=\"210mm\" viewBox=\"0 0 29700 21000\" preserveAspectRatio=\"xMidYMid\" fill-rule=\"evenodd\" stroke-width=\"28.222\" stroke-linejoin=\"round\" xml:space=\"preserve\" id=\"svg14\" \txmlns=\"http://www.w3.org/2000/svg\" \txmlns:svg=\"http://www.w3.org/2000/svg\"> \t<defs id=\"defs14\"/>&#10; \t<g visibility=\"visible\" id=\"MasterSlide_1_Default\">&#10; \t\t<desc id=\"desc1\">Master slide&#10;</desc>&#10; \t\t<rect fill=\"none\" stroke=\"none\" x=\"0\" y=\"0\" width=\"29700\" height=\"21000\" id=\"rect1\"/>&#10; \t</g>&#10;&#10; \t<g visibility=\"visible\" id=\"Slide_1_page1\">&#10; \t\t<g id=\"Speicher\">&#10; \t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 22750,10500 C 22375,10500 22000,10875 22000,11250 L 22000,17250 C 22000,17625 22375,18001 22750,18001 L 25750,18001 C 26125,18001 26501,17625 26501,17250 L 26501,11250 C 26501,10875 26125,10500 25750,10500 L 22750,10500 Z\" id=\"path1\"/>&#10; \t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_1_0\" stroke-linejoin=\"round\" d=\"M 22750,10500 C 22375,10500 22000,10875 22000,11250 L 22000,17250 C 22000,17625 22375,18001 22750,18001 L 25750,18001 C 26125,18001 26501,17625 26501,17250 L 26501,11250 C 26501,10875 26125,10500 25750,10500 L 22750,10500 Z\"/>&#10; \t\t\t<rect fill=\"none\" stroke=\"none\" x=\"22000\" y=\"10500\" width=\"4501\" height=\"7501\" id=\"rect2\"/>&#10;&#10; \t\t</g>&#10;&#10; \t\t<g id=\"Puffer\">&#10; \t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 9250,10500 C 8875,10500 8500,10875 8500,11250 L 8500,17250 C 8500,17625 8875,18001 9250,18001 L 12250,18001 C 12625,18001 13001,17625 13001,17250 L 13001,11250 C 13001,10875 12625,10500 12250,10500 L 9250,10500 Z\" id=\"path2\"/>&#10; \t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_2_0\" stroke-linejoin=\"round\" d=\"M 9250,10500 C 8875,10500 8500,10875 8500,11250 L 8500,17250 C 8500,17625 8875,18001 9250,18001 L 12250,18001 C 12625,18001 13001,17625 13001,17250 L 13001,11250 C 13001,10875 12625,10500 12250,10500 L 9250,10500 Z\"/>&#10; \t\t\t<rect fill=\"none\" stroke=\"none\" x=\"8500\" y=\"10500\" width=\"4501\" height=\"7501\" id=\"rect3\"/>&#10; \t\t</g>&#10;&#10; \t\t<g id=\"Solar\">&#10; \t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 3625,3500 L 7001,3500 5875,6501 2500,6501 3625,3500 Z\" id=\"path3\"/>&#10; \t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_3_0\" stroke-linejoin=\"round\" d=\"M 3625,3500 L 7001,3500 5875,6501 2500,6501 3625,3500 Z\"/>&#10; \t\t\t<rect fill=\"none\" stroke=\"none\" x=\"2500\" y=\"3500\" width=\"4501\" height=\"3001\" id=\"rect4\"/>&#10; \t\t</g>&#10;&#10; \t\t<g id=\"WP_PU\">&#10; \t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 6000,19500 L 4000,19500 4000,17500 8000,17500 8000,19500 6000,19500 Z\" id=\"path4\"/>&#10; \t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" stroke-linejoin=\"round\" d=\"M 6000,19500 L 4000,19500 4000,17500 8000,17500 8000,19500 6000,19500 Z\" id=\"path5\"/>&#10; \t\t</g>&#10; \t\t<g id=\"Heizen\">&#10; \t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 18000,4000 L 15500,4000 15500,1500 20500,1500 20500,4000 18000,4000 Z\" id=\"path6\"/>&#10; \t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" stroke-linejoin=\"round\" d=\"M 18000,4000 L 15500,4000 15500,1500 20500,1500 20500,4000 18000,4000 Z\" id=\"path7\"/>&#10; \t\t\t<text xml:space=\"preserve\" style=\"font-size:493.889px;fill:#000000;stroke-width:746.707\" x=\"16243.243\" y=\"2189.1892\" id=\"text14\"> \t\t\t\t<tspan id=\"tspan14\" style=\"font-size:493.889px;stroke-width:746.707\" x=\"16243.243\" y=\"2189.1892\">test1: <%- dp[\"0_userdata.0.val1\"] %></tspan> \t\t\t</text> \t\t\t<text xml:space=\"preserve\" style=\"font-size:493.89px;fill:#000000;stroke-width:746.707\" x=\"16222.973\" y=\"2918.9187\" id=\"text15\"> \t\t\t\t<tspan id=\"tspan15\" style=\"stroke-width:746.707\" x=\"16222.973\" y=\"2918.9187\">test2: <%- dp[\"0_userdata.0.val2\"] %></tspan> \t\t\t</text>\t\t\t \t\t</g>&#10;&#10;&#10; \t\t<line id=\"von_Puffer_an_Heizen_VL\" x1=\"15000\" y1=\"2500\" x2=\"15500\" y2=\"2500\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line7\" x1=\"15000\" y1=\"2500\" x2=\"15000\" y2=\"11000\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line8\" x1=\"13000\" y1=\"11000\" x2=\"15000\" y2=\"11000\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10;&#10;&#10;&#10;&#10; \t\t<line id=\"von_Solar_an_Puffer_VL\" x1=\"13000\" y1=\"11500\" x2=\"18000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10;&#10; \t\t<line id=\"von_Puffer_an_Speicher_RL\" x1=\"13001\" y1=\"16200\" x2=\"22000\" y2=\"16200\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10;&#10;&#10; \t\t<line id=\"Puffer_Speicher_VL\" x1=\"13001\" y1=\"11200\" x2=\"22000\" y2=\"11200\" stroke=\"#FF00F0\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10; \t\t<line id=\"Puffer_Speicher_VL_1\" x1=\"18000\" y1=\"11500\" x2=\"22000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"Puffer_Speicher_RL\" x1=\"13001\" y1=\"16000\" x2=\"17600\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"Puffer_Speicher_RL_1\" x1=\"17600\" y1=\"16000\" x2=\"22000\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10;&#10; \t\t<line id=\"Speicher_Solar_VL_1\" x1=\"7001\" y1=\"3600\" x2=\"7001\" y2=\"7001\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"Speicher_Solar_VL_2\" x1=\"7001\" y1=\"7001\" x2=\"18000\" y2=\"7001\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"Speicher_Solar_VL_3\" x1=\"18000\" y1=\"7001\" x2=\"18000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"Speicher_Solar_RL_1\" x1=\"6000\" y1=\"6000\" x2=\"6000\" y2=\"7600\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line9\" x1=\"6000\" y1=\"7600\" x2=\"17600\" y2=\"7600\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line10\" x1=\"17600\" y1=\"7600\" x2=\"17600\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10; \t\t<line id=\"Speicher_WWPU_VL_\" x1=\"8000\" y1=\"18600\" x2=\"17000\" y2=\"18600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line11\" x1=\"17000\" y1=\"18600\" x2=\"17000\" y2=\"11600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line12\" x1=\"17000\" y1=\"11600\" x2=\"22000\" y2=\"11600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10;&#10;&#10; \t\t<line id=\"Speicher_WWPU_RL_\" x1=\"8000\" y1=\"19000\" x2=\"17500\" y2=\"19000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line13\" x1=\"17500\" y1=\"19000\" x2=\"17500\" y2=\"16500\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line14\" x1=\"17500\" y1=\"16500\" x2=\"22000\" y2=\"16500\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10; \t</g>&#10; </svg>",
                             "g_datapoints-0": true,
                             "g_datapoints-1": true,
                             "g_datapoints-2": true,
                             "datapoint-oid1": "0_userdata.0.val1",
                             "datapoint-oid2": "0_userdata.0.val2"
                           },
                           "style": {
                             "bindings": [],
                             "left": 49,
                             "top": 28,
                             "width": "518px",
                             "height": "300px"
                           },
                           "widgetSet": "jsontemplate",
                           "_id": "i000001"
                         }
                        ]
                        

                        habe gerade festgestellt, das jsontemplate von vis1 nach vis2 nicht übertragbar ist. daher noch mal eine 2. version des imports für vis2

                        M Offline
                        M Offline
                        Mattes 0
                        schrieb am zuletzt editiert von
                        #11

                        @oliverio vielen dank, werde ich heute Abend nach Feierabend ausprobieren - morgen dann zur Frühschicht... hoffe es klappt alles.

                        Berichte aber so oder so

                        1 Antwort Letzte Antwort
                        0
                        • M Mattes 0

                          @homoran ja, allerdings leider auch nicht das was ich gerne hätte.

                          Was funktioniert ist die Hardware und die Steuerung via Scripte, bspw. bei Dämmerung automatisch das Außenlicht ein bzw ausschalten, Türklingel an Smartphone weiterleiten uvm.

                          Jetzt versuche ich mich an der Visualisierung und stoße bei den bisherigen Widgets an Grenzen... Vis bzw vis2 sind irgendwie nix für mich, habpanel schon eher, allerdings wird es extrem unübersichtlich und sieht jedesmal auf verschiedenen Geräten anders aus (Auflösung).

                          Speziell geht's bei mir momentan vor allem um Wärme.

                          Quelle ist je nach Lage solarthermie, Wärmepumpe, heizstab oder Pufferspeicher.
                          Bei Störungen ist so ein animiertes Hydraulikschema dann sehr praktisch...

                          Ziel, je nach Situation entweder Warmwasserspeicher, Pufferspeicher oder heizkreis oder die noch zu bauende Lüftungsanlage...

                          Situation ist abhängig von Raumtemperaturen, Außentemperaturen, Speicher bzw Puffer Temperaturen und Tageszeit oder sowas wie Legionnellen Schaltung (Desinfektion).

                          Die Solarthermie ist momentan mit 10 Kollektoren Heizung und 3 Kollektoren für Warmwasser realisiert und als Altbestand (ehemalige Holzvergaserheizung) stehen noch 3x800l Pufferspeicher im Keller+ 800l die ich anschließen kann wenn Platz gemacht wurde.

                          Sind noch immer im Umbau bzw energetischer Sanierung - Fassaden sind gedämmt, Dach muß noch... hauptsächlich Eigenleistung, da nichts vermietet ist - sind 9 Personen und alles Familie mit geringem Einkommen da Rentner (Generationen Haus).

                          HomoranH Nicht stören
                          HomoranH Nicht stören
                          Homoran
                          Global Moderator Administrators
                          schrieb am zuletzt editiert von
                          #12

                          @mattes-0 sagte in Eigenes Widget erstellen und mit Daten füllen:

                          Situation ist abhängig von Raumtemperaturen, Außentemperaturen, Speicher bzw Puffer Temperaturen und Tageszeit oder sowas wie Legionnellen Schaltung (Desinfektion).

                          wovon reden wir?
                          Darstellung oder Steuerung.

                          Auch zu EE gibt es einige Beispiele den Energiefluss von vergleichbaren Heizungssystemen zu visualisieren.

                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                          M 1 Antwort Letzte Antwort
                          0
                          • M Mattes 0

                            Hallo, ich beschäftige mich schon seit ein paar Jahren mit dem Thema Automation und Steuerung(hatte vor IOBroker was eigenes gebaut).
                            (War mal Softwareentwickler für Internet und Datenbanken, allerdings mehr VB, Python, PHP, CPP und Java, weniger JS).

                            Ich möchte meine Heizungsanlage und alles drum herum in SVG darstellen und je nach Situation den Energie(Wärme)-fluss animiert darstellen.
                            Das habe ich teilweise bereits erledigt, allerdings schaffe ich es nicht die Daten aus IOBroker in meiner SVG Datei darzustellen und die Dokumentationen die ich bisher gelesen habe, haben mir auch nicht geholfen. (selbst ChatGPT eiert herum)

                            Die Datei im .../files/web Verzeichnis zu speichern und dann aufzurufen scheiter trotz korrekter pfade und Berechtigungen (wird vermutlich absichtlich unterbunden)

                            Ich nutze momentan Habpanel - das dortige template widget verarbeitet aber kein javascript ....

                            Ich bräuchte vermutlich nur einen Hinweis zum korrekten ablauf (vielleicht ein Beispiel) ... und keine Ahnung unter welcher Forumsrubrik ich das posten soll ...

                            Grüße
                            Mattes

                            F Offline
                            F Offline
                            fuerchtischlumpf
                            schrieb am zuletzt editiert von
                            #13

                            @mattes-0 ich habe mir mal ein komplettes Heizsystem mit Animation gebaut und die SVG-Daten mit objekt-binding ins Standard HTML-Widget gepackt - nutze es nur nicht mehr. 3ac85ffc-16de-440b-ac3a-975d71f7c462-image.png

                            F 1 Antwort Letzte Antwort
                            0
                            • F fuerchtischlumpf

                              @mattes-0 ich habe mir mal ein komplettes Heizsystem mit Animation gebaut und die SVG-Daten mit objekt-binding ins Standard HTML-Widget gepackt - nutze es nur nicht mehr. 3ac85ffc-16de-440b-ac3a-975d71f7c462-image.png

                              F Offline
                              F Offline
                              fuerchtischlumpf
                              schrieb am zuletzt editiert von
                              #14

                              @fuerchtischlumpf hier noch ein Code-Schnipsel mit meinen animierten Heizkörper - Aus und laufend mit Heat-Ani und Binding an einen Modbus-Datenpunkt:


                              <svg x="0px" y="0px"
                              width="66px" height="90px" viewBox="0 0 66 90" xml:space="preserve">
                              <path class="Hitzewellen" d="M11.519,13.313c0,0,2,0.779,2,4.114c0,5.381-4,4.978-4,9.916c0,3.692,2,4.961,2,4.961"/>
                              <path class="Hitzewellen" d="M54.477,13.313c0,0,2,0.779,2,4.114c0,5.381-4,4.978-4,9.916c0,3.692,2,4.961,2,4.961"/>
                              <path class="Hitzewellen" d="M20.11,13.313c0,0,2,0.779,2,4.114c0,5.381-4,4.978-4,9.916c0,3.692,2,4.961,2,4.961"/>
                              <path class="Hitzewellen" d="M28.702,13.313c0,0,2,0.779,2,4.114c0,5.381-4,4.978-4,9.916c0,3.692,2,4.961,2,4.961"/>
                              <path class="Hitzewellen" d="M37.293,13.313c0,0,2,0.779,2,4.114c0,5.381-4,4.978-4,9.916c0,3.692,2,4.961,2,4.961"/>
                              <path class="Hitzewellen" d="M45.885,13.313c0,0,2,0.779,2,4.114c0,5.381-4,4.978-4,9.916c0,3.692,2,4.961,2,4.961"/>
                              <path class="Heizkoerper" d="M10.667,80.762c0,1.686-1.585,3.052-3.54,3.052l0,0
                              c-1.957,0-3.543-1.366-3.543-3.052v-40.63c0-1.686,1.586-3.052,3.543-3.052l0,0c1.955,0,3.54,1.366,3.54,3.052V80.762z"/>
                              <path class="Heizkoerper" d="M20.679,80.762c0,1.686-1.585,3.052-3.54,3.052l0,0
                              c-1.957,0-3.543-1.366-3.543-3.052v-40.63c0-1.686,1.586-3.052,3.543-3.052l0,0c1.955,0,3.54,1.366,3.54,3.052V80.762z"/>
                              <path class="Heizkoerper" d="M60.728,80.762c0,1.686-1.585,3.052-3.54,3.052l0,0
                              c-1.957,0-3.543-1.366-3.543-3.052v-40.63c0-1.686,1.586-3.052,3.543-3.052l0,0c1.955,0,3.54,1.366,3.54,3.052V80.762z"/>
                              <path class="Heizkoerper" d="M63.902,47.922c0,0.877-0.711,1.587-1.587,1.587l0,0
                              c-0.877,0-1.588-0.71-1.588-1.587V42.79c0-0.876,0.711-1.587,1.588-1.587l0,0c0.876,0,1.587,0.711,1.587,1.587V47.922z"/>
                              <path class="Heizkoerper" d="M30.691,80.762c0,1.686-1.585,3.052-3.54,3.052l0,0
                              c-1.957,0-3.543-1.366-3.543-3.052v-40.63c0-1.686,1.586-3.052,3.543-3.052l0,0c1.955,0,3.54,1.366,3.54,3.052V80.762z"/>
                              <path class="Heizkoerper" d="M50.716,80.762c0,1.686-1.585,3.052-3.54,3.052l0,0
                              c-1.957,0-3.543-1.366-3.543-3.052v-40.63c0-1.686,1.586-3.052,3.543-3.052l0,0c1.955,0,3.54,1.366,3.54,3.052V80.762z"/>
                              <path class="Heizkoerper" d="M40.703,80.762c0,1.686-1.585,3.052-3.54,3.052l0,0
                              c-1.957,0-3.543-1.366-3.543-3.052v-40.63c0-1.686,1.586-3.052,3.543-3.052l0,0c1.955,0,3.54,1.366,3.54,3.052V80.762z"/>
                              </svg>

                              <style>
                              .Hitzewellen {
                              fill: none;
                              stroke:#F29400;
                              stroke-width:{h:modbus.0.coils.12_Pumpe_Heizkreis; h == 'true' ? '3' : '0'};
                              stroke-linecap:round;
                              stroke-miterlimit:10;
                              filter: drop-shadow(0px 0px 5px #F29400);
                              animation: Hitzewelle 4s linear infinite;
                              }
                              .Heizkoerper {
                              fill: none;
                              stroke:{h:modbus.0.coils.12_Pumpe_Heizkreis; h == 'true' ? '#F29400' : '#ffffff'};
                              stroke-width: 2;
                              stroke-linecap:round;
                              }
                              @keyframes Hitzewelle {
                              60% {
                              opacity: 0.4;
                              }
                              </style>

                              1 Antwort Letzte Antwort
                              0
                              • HomoranH Homoran

                                @mattes-0 sagte in Eigenes Widget erstellen und mit Daten füllen:

                                Situation ist abhängig von Raumtemperaturen, Außentemperaturen, Speicher bzw Puffer Temperaturen und Tageszeit oder sowas wie Legionnellen Schaltung (Desinfektion).

                                wovon reden wir?
                                Darstellung oder Steuerung.

                                Auch zu EE gibt es einige Beispiele den Energiefluss von vergleichbaren Heizungssystemen zu visualisieren.

                                M Offline
                                M Offline
                                Mattes 0
                                schrieb am zuletzt editiert von
                                #15

                                @homoran der erst Eindruck ist dann wohl der richtige - hab anfangs bewusst auf Details verzichtet um hier nicht unnötig Verwirrung zu stiften und deine frage zeigt mir, das war eigentlich richtig.

                                Es geht noch immer um die Darstellung, den ganzen Rest schaffe ich ohne Hilfe und EE gefällt mir nicht - das sieht mir bisschen zu sehr nach "Lizenz! und Spende" aus und damit habe ich schlechte Erfahrungen gemacht.

                                Danke für deine mühe.

                                Samson71S 1 Antwort Letzte Antwort
                                0
                                • M Mattes 0

                                  @homoran der erst Eindruck ist dann wohl der richtige - hab anfangs bewusst auf Details verzichtet um hier nicht unnötig Verwirrung zu stiften und deine frage zeigt mir, das war eigentlich richtig.

                                  Es geht noch immer um die Darstellung, den ganzen Rest schaffe ich ohne Hilfe und EE gefällt mir nicht - das sieht mir bisschen zu sehr nach "Lizenz! und Spende" aus und damit habe ich schlechte Erfahrungen gemacht.

                                  Danke für deine mühe.

                                  Samson71S Offline
                                  Samson71S Offline
                                  Samson71
                                  Global Moderator
                                  schrieb am zuletzt editiert von Samson71
                                  #16

                                  @mattes-0 sagte in Eigenes Widget erstellen und mit Daten füllen:

                                  das sieht mir bisschen zu sehr nach "Lizenz! und Spende" aus und damit habe ich schlechte Erfahrungen gemacht.

                                  Deine "Erfahrungen" in allen Ehren, aber bevor Du hier so einen Quark in die Welt setzt, empfehle ich ganz dringend Dich VORHER mit ioBroker und insbesondere mit einem bestimmten Adapter, dessen Entstehungsgeschichte und seinem Dev auseinanderzusetzen. So ein Geschwurbel gefällt hier nämlich auch nicht unbedingt.

                                  Markus

                                  Bitte beachten:
                                  Hinweise für gute Forenbeiträge
                                  Maßnahmen zum Schutz des Forums

                                  M 1 Antwort Letzte Antwort
                                  0
                                  • OliverIOO OliverIO

                                    @mattes-0

                                    Hier das widget zum importieren.
                                    es verwendet wie oben schon gesagt den vis-jsontemplate adapter

                                    im svg sind die folgenden datenpunkte eingebaut
                                    0_userdata.0.val1
                                    0_userdata.0.val2

                                    falls was nicht klappt einfach nochmal fragen.

                                    vis1

                                    [{"tpl":"tplJSONTemplate4","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","json_dpCount":"2","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,"json_template":"<% debugger; %> \n<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<svg version=\"1.2\" width=\"297mm\" height=\"210mm\" viewBox=\"0 0 29700 21000\" preserveAspectRatio=\"xMidYMid\" fill-rule=\"evenodd\" stroke-width=\"28.222\" stroke-linejoin=\"round\" xml:space=\"preserve\" id=\"svg14\"\n\txmlns=\"http://www.w3.org/2000/svg\"\n\txmlns:svg=\"http://www.w3.org/2000/svg\">\n\t<defs id=\"defs14\"/>&#10;\n\t<g visibility=\"visible\" id=\"MasterSlide_1_Default\">&#10;\n\t\t<desc id=\"desc1\">Master slide&#10;</desc>&#10;\n\t\t<rect fill=\"none\" stroke=\"none\" x=\"0\" y=\"0\" width=\"29700\" height=\"21000\" id=\"rect1\"/>&#10;\n\t</g>&#10;&#10;\n\t<g visibility=\"visible\" id=\"Slide_1_page1\">&#10;\n\t\t<g id=\"Speicher\">&#10;\n\t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 22750,10500 C 22375,10500 22000,10875 22000,11250 L 22000,17250 C 22000,17625 22375,18001 22750,18001 L 25750,18001 C 26125,18001 26501,17625 26501,17250 L 26501,11250 C 26501,10875 26125,10500 25750,10500 L 22750,10500 Z\" id=\"path1\"/>&#10;\n\t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_1_0\" stroke-linejoin=\"round\" d=\"M 22750,10500 C 22375,10500 22000,10875 22000,11250 L 22000,17250 C 22000,17625 22375,18001 22750,18001 L 25750,18001 C 26125,18001 26501,17625 26501,17250 L 26501,11250 C 26501,10875 26125,10500 25750,10500 L 22750,10500 Z\"/>&#10;\n\t\t\t<rect fill=\"none\" stroke=\"none\" x=\"22000\" y=\"10500\" width=\"4501\" height=\"7501\" id=\"rect2\"/>&#10;&#10;\n\t\t</g>&#10;&#10;\n\t\t<g id=\"Puffer\">&#10;\n\t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 9250,10500 C 8875,10500 8500,10875 8500,11250 L 8500,17250 C 8500,17625 8875,18001 9250,18001 L 12250,18001 C 12625,18001 13001,17625 13001,17250 L 13001,11250 C 13001,10875 12625,10500 12250,10500 L 9250,10500 Z\" id=\"path2\"/>&#10;\n\t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_2_0\" stroke-linejoin=\"round\" d=\"M 9250,10500 C 8875,10500 8500,10875 8500,11250 L 8500,17250 C 8500,17625 8875,18001 9250,18001 L 12250,18001 C 12625,18001 13001,17625 13001,17250 L 13001,11250 C 13001,10875 12625,10500 12250,10500 L 9250,10500 Z\"/>&#10;\n\t\t\t<rect fill=\"none\" stroke=\"none\" x=\"8500\" y=\"10500\" width=\"4501\" height=\"7501\" id=\"rect3\"/>&#10;\n\t\t</g>&#10;&#10;\n\t\t<g id=\"Solar\">&#10;\n\t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 3625,3500 L 7001,3500 5875,6501 2500,6501 3625,3500 Z\" id=\"path3\"/>&#10;\n\t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_3_0\" stroke-linejoin=\"round\" d=\"M 3625,3500 L 7001,3500 5875,6501 2500,6501 3625,3500 Z\"/>&#10;\n\t\t\t<rect fill=\"none\" stroke=\"none\" x=\"2500\" y=\"3500\" width=\"4501\" height=\"3001\" id=\"rect4\"/>&#10;\n\t\t</g>&#10;&#10;\n\t\t<g id=\"WP_PU\">&#10;\n\t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 6000,19500 L 4000,19500 4000,17500 8000,17500 8000,19500 6000,19500 Z\" id=\"path4\"/>&#10;\n\t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" stroke-linejoin=\"round\" d=\"M 6000,19500 L 4000,19500 4000,17500 8000,17500 8000,19500 6000,19500 Z\" id=\"path5\"/>&#10;\n\t\t</g>&#10;\n\t\t<g id=\"Heizen\">&#10;\n\t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 18000,4000 L 15500,4000 15500,1500 20500,1500 20500,4000 18000,4000 Z\" id=\"path6\"/>&#10;\n\t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" stroke-linejoin=\"round\" d=\"M 18000,4000 L 15500,4000 15500,1500 20500,1500 20500,4000 18000,4000 Z\" id=\"path7\"/>&#10;\n\t\t\t<text xml:space=\"preserve\" style=\"font-size:493.889px;fill:#000000;stroke-width:746.707\" x=\"16243.243\" y=\"2189.1892\" id=\"text14\">\n\t\t\t\t<tspan id=\"tspan14\" style=\"font-size:493.889px;stroke-width:746.707\" x=\"16243.243\" y=\"2189.1892\">test1: <%- dp[\"0_userdata.0.val1\"] %></tspan>\n\t\t\t</text>\n\t\t\t<text xml:space=\"preserve\" style=\"font-size:493.89px;fill:#000000;stroke-width:746.707\" x=\"16222.973\" y=\"2918.9187\" id=\"text15\">\n\t\t\t\t<tspan id=\"tspan15\" style=\"stroke-width:746.707\" x=\"16222.973\" y=\"2918.9187\">test2: <%- dp[\"0_userdata.0.val2\"] %></tspan>\n\t\t\t</text>\t\t\t\n\t\t</g>&#10;&#10;&#10;\n\t\t<line id=\"von_Puffer_an_Heizen_VL\" x1=\"15000\" y1=\"2500\" x2=\"15500\" y2=\"2500\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line7\" x1=\"15000\" y1=\"2500\" x2=\"15000\" y2=\"11000\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line8\" x1=\"13000\" y1=\"11000\" x2=\"15000\" y2=\"11000\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;&#10;&#10;&#10;&#10;\n\t\t<line id=\"von_Solar_an_Puffer_VL\" x1=\"13000\" y1=\"11500\" x2=\"18000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;&#10;\n\t\t<line id=\"von_Puffer_an_Speicher_RL\" x1=\"13001\" y1=\"16200\" x2=\"22000\" y2=\"16200\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;&#10;&#10;\n\t\t<line id=\"Puffer_Speicher_VL\" x1=\"13001\" y1=\"11200\" x2=\"22000\" y2=\"11200\" stroke=\"#FF00F0\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;\n\t\t<line id=\"Puffer_Speicher_VL_1\" x1=\"18000\" y1=\"11500\" x2=\"22000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"Puffer_Speicher_RL\" x1=\"13001\" y1=\"16000\" x2=\"17600\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"Puffer_Speicher_RL_1\" x1=\"17600\" y1=\"16000\" x2=\"22000\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;&#10;\n\t\t<line id=\"Speicher_Solar_VL_1\" x1=\"7001\" y1=\"3600\" x2=\"7001\" y2=\"7001\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"Speicher_Solar_VL_2\" x1=\"7001\" y1=\"7001\" x2=\"18000\" y2=\"7001\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"Speicher_Solar_VL_3\" x1=\"18000\" y1=\"7001\" x2=\"18000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"Speicher_Solar_RL_1\" x1=\"6000\" y1=\"6000\" x2=\"6000\" y2=\"7600\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line9\" x1=\"6000\" y1=\"7600\" x2=\"17600\" y2=\"7600\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line10\" x1=\"17600\" y1=\"7600\" x2=\"17600\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;\n\t\t<line id=\"Speicher_WWPU_VL_\" x1=\"8000\" y1=\"18600\" x2=\"17000\" y2=\"18600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line11\" x1=\"17000\" y1=\"18600\" x2=\"17000\" y2=\"11600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line12\" x1=\"17000\" y1=\"11600\" x2=\"22000\" y2=\"11600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;&#10;&#10;\n\t\t<line id=\"Speicher_WWPU_RL_\" x1=\"8000\" y1=\"19000\" x2=\"17500\" y2=\"19000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line13\" x1=\"17500\" y1=\"19000\" x2=\"17500\" y2=\"16500\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;\n\t\t<line id=\"line14\" x1=\"17500\" y1=\"16500\" x2=\"22000\" y2=\"16500\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10;\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10;\n\t\t</line>&#10;&#10;\n\t</g>&#10;\n</svg>\n","json_dp1":"0_userdata.0.val1","json_dp2":"0_userdata.0.val2"},"style":{"left":"19px","top":"25px","width":""},"widgetSet":"jsontemplate"}]
                                    

                                    vis2

                                    [
                                     {
                                       "tpl": "tplJSONTemplateWidget4vis2",
                                       "data": {
                                         "bindings": [],
                                         "oid": "nothing_selected",
                                         "dpcount": 2,
                                         "g_common": true,
                                         "template": "<% debugger; %>  <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?> <svg version=\"1.2\" width=\"297mm\" height=\"210mm\" viewBox=\"0 0 29700 21000\" preserveAspectRatio=\"xMidYMid\" fill-rule=\"evenodd\" stroke-width=\"28.222\" stroke-linejoin=\"round\" xml:space=\"preserve\" id=\"svg14\" \txmlns=\"http://www.w3.org/2000/svg\" \txmlns:svg=\"http://www.w3.org/2000/svg\"> \t<defs id=\"defs14\"/>&#10; \t<g visibility=\"visible\" id=\"MasterSlide_1_Default\">&#10; \t\t<desc id=\"desc1\">Master slide&#10;</desc>&#10; \t\t<rect fill=\"none\" stroke=\"none\" x=\"0\" y=\"0\" width=\"29700\" height=\"21000\" id=\"rect1\"/>&#10; \t</g>&#10;&#10; \t<g visibility=\"visible\" id=\"Slide_1_page1\">&#10; \t\t<g id=\"Speicher\">&#10; \t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 22750,10500 C 22375,10500 22000,10875 22000,11250 L 22000,17250 C 22000,17625 22375,18001 22750,18001 L 25750,18001 C 26125,18001 26501,17625 26501,17250 L 26501,11250 C 26501,10875 26125,10500 25750,10500 L 22750,10500 Z\" id=\"path1\"/>&#10; \t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_1_0\" stroke-linejoin=\"round\" d=\"M 22750,10500 C 22375,10500 22000,10875 22000,11250 L 22000,17250 C 22000,17625 22375,18001 22750,18001 L 25750,18001 C 26125,18001 26501,17625 26501,17250 L 26501,11250 C 26501,10875 26125,10500 25750,10500 L 22750,10500 Z\"/>&#10; \t\t\t<rect fill=\"none\" stroke=\"none\" x=\"22000\" y=\"10500\" width=\"4501\" height=\"7501\" id=\"rect2\"/>&#10;&#10; \t\t</g>&#10;&#10; \t\t<g id=\"Puffer\">&#10; \t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 9250,10500 C 8875,10500 8500,10875 8500,11250 L 8500,17250 C 8500,17625 8875,18001 9250,18001 L 12250,18001 C 12625,18001 13001,17625 13001,17250 L 13001,11250 C 13001,10875 12625,10500 12250,10500 L 9250,10500 Z\" id=\"path2\"/>&#10; \t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_2_0\" stroke-linejoin=\"round\" d=\"M 9250,10500 C 8875,10500 8500,10875 8500,11250 L 8500,17250 C 8500,17625 8875,18001 9250,18001 L 12250,18001 C 12625,18001 13001,17625 13001,17250 L 13001,11250 C 13001,10875 12625,10500 12250,10500 L 9250,10500 Z\"/>&#10; \t\t\t<rect fill=\"none\" stroke=\"none\" x=\"8500\" y=\"10500\" width=\"4501\" height=\"7501\" id=\"rect3\"/>&#10; \t\t</g>&#10;&#10; \t\t<g id=\"Solar\">&#10; \t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 3625,3500 L 7001,3500 5875,6501 2500,6501 3625,3500 Z\" id=\"path3\"/>&#10; \t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_3_0\" stroke-linejoin=\"round\" d=\"M 3625,3500 L 7001,3500 5875,6501 2500,6501 3625,3500 Z\"/>&#10; \t\t\t<rect fill=\"none\" stroke=\"none\" x=\"2500\" y=\"3500\" width=\"4501\" height=\"3001\" id=\"rect4\"/>&#10; \t\t</g>&#10;&#10; \t\t<g id=\"WP_PU\">&#10; \t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 6000,19500 L 4000,19500 4000,17500 8000,17500 8000,19500 6000,19500 Z\" id=\"path4\"/>&#10; \t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" stroke-linejoin=\"round\" d=\"M 6000,19500 L 4000,19500 4000,17500 8000,17500 8000,19500 6000,19500 Z\" id=\"path5\"/>&#10; \t\t</g>&#10; \t\t<g id=\"Heizen\">&#10; \t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 18000,4000 L 15500,4000 15500,1500 20500,1500 20500,4000 18000,4000 Z\" id=\"path6\"/>&#10; \t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" stroke-linejoin=\"round\" d=\"M 18000,4000 L 15500,4000 15500,1500 20500,1500 20500,4000 18000,4000 Z\" id=\"path7\"/>&#10; \t\t\t<text xml:space=\"preserve\" style=\"font-size:493.889px;fill:#000000;stroke-width:746.707\" x=\"16243.243\" y=\"2189.1892\" id=\"text14\"> \t\t\t\t<tspan id=\"tspan14\" style=\"font-size:493.889px;stroke-width:746.707\" x=\"16243.243\" y=\"2189.1892\">test1: <%- dp[\"0_userdata.0.val1\"] %></tspan> \t\t\t</text> \t\t\t<text xml:space=\"preserve\" style=\"font-size:493.89px;fill:#000000;stroke-width:746.707\" x=\"16222.973\" y=\"2918.9187\" id=\"text15\"> \t\t\t\t<tspan id=\"tspan15\" style=\"stroke-width:746.707\" x=\"16222.973\" y=\"2918.9187\">test2: <%- dp[\"0_userdata.0.val2\"] %></tspan> \t\t\t</text>\t\t\t \t\t</g>&#10;&#10;&#10; \t\t<line id=\"von_Puffer_an_Heizen_VL\" x1=\"15000\" y1=\"2500\" x2=\"15500\" y2=\"2500\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line7\" x1=\"15000\" y1=\"2500\" x2=\"15000\" y2=\"11000\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line8\" x1=\"13000\" y1=\"11000\" x2=\"15000\" y2=\"11000\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10;&#10;&#10;&#10;&#10; \t\t<line id=\"von_Solar_an_Puffer_VL\" x1=\"13000\" y1=\"11500\" x2=\"18000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10;&#10; \t\t<line id=\"von_Puffer_an_Speicher_RL\" x1=\"13001\" y1=\"16200\" x2=\"22000\" y2=\"16200\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10;&#10;&#10; \t\t<line id=\"Puffer_Speicher_VL\" x1=\"13001\" y1=\"11200\" x2=\"22000\" y2=\"11200\" stroke=\"#FF00F0\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10; \t\t<line id=\"Puffer_Speicher_VL_1\" x1=\"18000\" y1=\"11500\" x2=\"22000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"Puffer_Speicher_RL\" x1=\"13001\" y1=\"16000\" x2=\"17600\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"Puffer_Speicher_RL_1\" x1=\"17600\" y1=\"16000\" x2=\"22000\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10;&#10; \t\t<line id=\"Speicher_Solar_VL_1\" x1=\"7001\" y1=\"3600\" x2=\"7001\" y2=\"7001\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"Speicher_Solar_VL_2\" x1=\"7001\" y1=\"7001\" x2=\"18000\" y2=\"7001\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"Speicher_Solar_VL_3\" x1=\"18000\" y1=\"7001\" x2=\"18000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"Speicher_Solar_RL_1\" x1=\"6000\" y1=\"6000\" x2=\"6000\" y2=\"7600\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line9\" x1=\"6000\" y1=\"7600\" x2=\"17600\" y2=\"7600\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line10\" x1=\"17600\" y1=\"7600\" x2=\"17600\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10; \t\t<line id=\"Speicher_WWPU_VL_\" x1=\"8000\" y1=\"18600\" x2=\"17000\" y2=\"18600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line11\" x1=\"17000\" y1=\"18600\" x2=\"17000\" y2=\"11600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line12\" x1=\"17000\" y1=\"11600\" x2=\"22000\" y2=\"11600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10;&#10;&#10; \t\t<line id=\"Speicher_WWPU_RL_\" x1=\"8000\" y1=\"19000\" x2=\"17500\" y2=\"19000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line13\" x1=\"17500\" y1=\"19000\" x2=\"17500\" y2=\"16500\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10; \t\t<line id=\"line14\" x1=\"17500\" y1=\"16500\" x2=\"22000\" y2=\"16500\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t</line>&#10;&#10; \t</g>&#10; </svg>",
                                         "g_datapoints-0": true,
                                         "g_datapoints-1": true,
                                         "g_datapoints-2": true,
                                         "datapoint-oid1": "0_userdata.0.val1",
                                         "datapoint-oid2": "0_userdata.0.val2"
                                       },
                                       "style": {
                                         "bindings": [],
                                         "left": 49,
                                         "top": 28,
                                         "width": "518px",
                                         "height": "300px"
                                       },
                                       "widgetSet": "jsontemplate",
                                       "_id": "i000001"
                                     }
                                    ]
                                    

                                    habe gerade festgestellt, das jsontemplate von vis1 nach vis2 nicht übertragbar ist. daher noch mal eine 2. version des imports für vis2

                                    M Offline
                                    M Offline
                                    Mattes 0
                                    schrieb am zuletzt editiert von
                                    #17

                                    @oliverio funktioniert nicht, Meldung kommt das er das template/widget nicht kennt(unbekannter Widget-Typ), aber ich wollte eigentlich das ganze komplett ohne Vis oder Vis2 umsetzen.

                                    Hab mich jetzt bisschen mit Vis2 beschäftigt und schaffe es die SVG Daten anzuzeigen und auch die diversen Datenpunkte über diese Grafik zu legen.

                                    Wie blende ich aber die Animationen ein bzw aus?

                                    Das ist mir bisher nicht gelungen.

                                    Hatte gedacht ich könnte "boolsches SVG" nutzen, dort je eine Line mit bzw ohne animation eintragen und das ganze mit einem Datenpunkt verbinden, den ich auf True oder False setzen kann .... nur wird mir keine Line angezeigt, egal ob true oder false ....

                                    und jetzt habe ich eine Lösung gefunden - ich setze statt bolsches svg ein weiteres Basic HTML Widget ein und blende dessen line ein bzw aus.

                                    OliverIOO 1 Antwort Letzte Antwort
                                    0
                                    • Samson71S Samson71

                                      @mattes-0 sagte in Eigenes Widget erstellen und mit Daten füllen:

                                      das sieht mir bisschen zu sehr nach "Lizenz! und Spende" aus und damit habe ich schlechte Erfahrungen gemacht.

                                      Deine "Erfahrungen" in allen Ehren, aber bevor Du hier so einen Quark in die Welt setzt, empfehle ich ganz dringend Dich VORHER mit ioBroker und insbesondere mit einem bestimmten Adapter, dessen Entstehungsgeschichte und seinem Dev auseinanderzusetzen. So ein Geschwurbel gefällt hier nämlich auch nicht unbedingt.

                                      M Offline
                                      M Offline
                                      Mattes 0
                                      schrieb am zuletzt editiert von
                                      #18

                                      @samson71 muss es auch nicht - Meinungsfreiheit, von daher alles bestens.

                                      Ja meine "Erfahrungen" sind MEINE Erfahrungen und bezüglich des genannten Projekts MUSS das auch nicht stimmen und ich kann komplett falsch liegen.
                                      Trotzdem schreibe ich sowas nicht grundlos oder leichtfertig und das jemand der Zeit in etwas investiert hat, freiwillige Spenden nimmt ist ebenfalls okay für mich.

                                      Mir ist aber schon mehrfach passiert, das ich bei so Projekten mitgewirkt habe und dann plötzlich war es Kommerziell und ich sollte bezahlen - deshalb auch die vorherige Eigenentwicklung meines Projektes.

                                      Vielleicht ist der genannte Adapter auch einer der Besten die IOBroker zu bieten hat ... weiß ich nicht, gefällt mir trotzdem nicht und das sollte denke ich auch reichen.

                                      Ist nicht Persönlich gemeint und sollte man auch nicht so auffassen.

                                      HomoranH 1 Antwort Letzte Antwort
                                      0
                                      • M Mattes 0

                                        @oliverio funktioniert nicht, Meldung kommt das er das template/widget nicht kennt(unbekannter Widget-Typ), aber ich wollte eigentlich das ganze komplett ohne Vis oder Vis2 umsetzen.

                                        Hab mich jetzt bisschen mit Vis2 beschäftigt und schaffe es die SVG Daten anzuzeigen und auch die diversen Datenpunkte über diese Grafik zu legen.

                                        Wie blende ich aber die Animationen ein bzw aus?

                                        Das ist mir bisher nicht gelungen.

                                        Hatte gedacht ich könnte "boolsches SVG" nutzen, dort je eine Line mit bzw ohne animation eintragen und das ganze mit einem Datenpunkt verbinden, den ich auf True oder False setzen kann .... nur wird mir keine Line angezeigt, egal ob true oder false ....

                                        und jetzt habe ich eine Lösung gefunden - ich setze statt bolsches svg ein weiteres Basic HTML Widget ein und blende dessen line ein bzw aus.

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

                                        @mattes-0 sagte in Eigenes Widget erstellen und mit Daten füllen:

                                        @oliverio funktioniert nicht, Meldung kommt das er das template/widget nicht kennt(unbekannter Widget-Typ),

                                        so, du hast recht. ich habe noch ein problem im adapter gefunden, der dafür gesorgt hat. leider habe ich das nicht rechtzeitig entdeckt, da das nur dann auftritt, wenn man den adapter regulär installiert. in der dev umgebung ist jeweils edit und runtime alles gelaufen.

                                        das problem ist hoffentlich in der version 4.1.0 des adapters behoben.

                                        ich wollte eigentlich das ganze komplett ohne Vis oder Vis2 umsetzen.

                                        komplett ohne irgendeine visualisierung?
                                        du meinst wahrscheinlich ohne das vis-template. wie gesagt. du kannst jederzeit über deine grafik die normalen widgets legen, die sich dann normal mit den daten aktualisieren. allerdings wird es dann bei deinem nächsten wunsch da schon wieder schwieriger

                                        Wie blende ich aber die Animationen ein bzw aus?

                                        als du meinst die linien. meinst du den alle linien im einzelnen. oder alle linien gesamt? dann wahrscheinlich ersteres. dazu müsstest du jede einzelne linie in eine eigene grafik/svg packen. das dann alles übereinander stapeln(layern). über den abschnitt sichtbarkeit in der widgetkonfiguration (also bspw html) kannst du dann die sichtbarkeit über datenpunkte steuern und so ein layer/also einzelne linie ein oder ausblenden.

                                        Hatte gedacht ich könnte "boolsches SVG" nutzen, dort je eine Line mit bzw ohne animation eintragen und das ganze mit einem Datenpunkt verbinden, den ich auf True oder False setzen kann .... nur wird mir keine Line angezeigt, egal ob true oder false ....

                                        zeige das bitte als beispiel. das kommt darauf an wo/wie du das da eingetragen hast. theoretisch könnte man das per binding in die svg eintragen. da muss man aber immer genau schauen, was das jeweilige binding da konkret ausgibt, ansonste interpretiert der browser das falsch.

                                        und jetzt habe ich eine Lösung gefunden - ich setze statt bolsches svg ein weiteres Basic HTML Widget ein und blende dessen line ein bzw aus.

                                        das hatte beschrieben. werden dann wahrscheinlich dann sehr viele widgets übereinander, was dann die bearbeitung etwas komplizierter macht. es gibt eine Lock-Funktion, die ein widget vor versehentlichem verschieben schützt.

                                        mit dem json-template wäre das ebenfalls möglich. neben dem true/false setzen hättest du da auch die möglichkeit datenpunkt abhängig jeden einzelne linie zu rendern oder nicht.

                                        denke daran, das svg nicht zu komplex zu machen, da bei jeder einzelnen änderung das html widget seinen inhalt komplett entfernt und neu einfügt. wenn der inhalt zu komplex ist kann das durch ein kleines flackern sichtbar werden. wenn dann dazu noch sehr häufige änderungen der daten vorkommen, dann sieht man das. hängt aber auch von der performance des anzeigegeräts ab.

                                        hier habe ich mal so ein liniendemo gemacht. wieder als widget zum importieren

                                        f2789709-1f52-428e-a130-82d96074d441-20250912-0054-42.6217983.mp4

                                        [
                                         {
                                           "tpl": "tplJSONTemplate4",
                                           "data": {
                                             "bindings": [],
                                             "oid": "nothing_selected",
                                             "dpcount": 3,
                                             "g_common": true,
                                             "template": "<% debugger; %>\r\n<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\r\n<svg version=\"1.2\" width=\"297mm\" height=\"210mm\" viewBox=\"0 0 29700 21000\" preserveAspectRatio=\"xMidYMid\" fill-rule=\"evenodd\" stroke-width=\"28.222\" stroke-linejoin=\"round\" xml:space=\"preserve\" id=\"svg14\"\r\n\txmlns=\"http://www.w3.org/2000/svg\"\r\n\txmlns:svg=\"http://www.w3.org/2000/svg\">\r\n\t<defs id=\"defs14\"/>&#10; \t\r\n\t<g visibility=\"visible\" id=\"MasterSlide_1_Default\">&#10; \t\t\r\n\t\t<desc id=\"desc1\">Master slide&#10;</desc>&#10; \t\t\r\n\t\t<rect fill=\"none\" stroke=\"none\" x=\"0\" y=\"0\" width=\"29700\" height=\"21000\" id=\"rect1\"/>&#10; \t\r\n\t</g>&#10;&#10; \t\r\n\t<g visibility=\"visible\" id=\"Slide_1_page1\">&#10; \t\t\r\n\t\t<g id=\"Speicher\">&#10; \t\t\t\r\n\t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 22750,10500 C 22375,10500 22000,10875 22000,11250 L 22000,17250 C 22000,17625 22375,18001 22750,18001 L 25750,18001 C 26125,18001 26501,17625 26501,17250 L 26501,11250 C 26501,10875 26125,10500 25750,10500 L 22750,10500 Z\" id=\"path1\"/>&#10; \t\t\t\r\n\t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_1_0\" stroke-linejoin=\"round\" d=\"M 22750,10500 C 22375,10500 22000,10875 22000,11250 L 22000,17250 C 22000,17625 22375,18001 22750,18001 L 25750,18001 C 26125,18001 26501,17625 26501,17250 L 26501,11250 C 26501,10875 26125,10500 25750,10500 L 22750,10500 Z\"/>&#10; \t\t\t\r\n\t\t\t<rect fill=\"none\" stroke=\"none\" x=\"22000\" y=\"10500\" width=\"4501\" height=\"7501\" id=\"rect2\"/>&#10;&#10; \t\t\r\n\t\t</g>&#10;&#10; \t\t\r\n\t\t<g id=\"Puffer\">&#10; \t\t\t\r\n\t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 9250,10500 C 8875,10500 8500,10875 8500,11250 L 8500,17250 C 8500,17625 8875,18001 9250,18001 L 12250,18001 C 12625,18001 13001,17625 13001,17250 L 13001,11250 C 13001,10875 12625,10500 12250,10500 L 9250,10500 Z\" id=\"path2\"/>&#10; \t\t\t\r\n\t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_2_0\" stroke-linejoin=\"round\" d=\"M 9250,10500 C 8875,10500 8500,10875 8500,11250 L 8500,17250 C 8500,17625 8875,18001 9250,18001 L 12250,18001 C 12625,18001 13001,17625 13001,17250 L 13001,11250 C 13001,10875 12625,10500 12250,10500 L 9250,10500 Z\"/>&#10; \t\t\t\r\n\t\t\t<rect fill=\"none\" stroke=\"none\" x=\"8500\" y=\"10500\" width=\"4501\" height=\"7501\" id=\"rect3\"/>&#10; \t\t\r\n\t\t</g>&#10;&#10; \t\t\r\n\t\t<g id=\"Solar\">&#10; \t\t\t\r\n\t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 3625,3500 L 7001,3500 5875,6501 2500,6501 3625,3500 Z\" id=\"path3\"/>&#10; \t\t\t\r\n\t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" id=\"Drawing_3_0\" stroke-linejoin=\"round\" d=\"M 3625,3500 L 7001,3500 5875,6501 2500,6501 3625,3500 Z\"/>&#10; \t\t\t\r\n\t\t\t<rect fill=\"none\" stroke=\"none\" x=\"2500\" y=\"3500\" width=\"4501\" height=\"3001\" id=\"rect4\"/>&#10; \t\t\r\n\t\t</g>&#10;&#10; \t\t\r\n\t\t<g id=\"WP_PU\">&#10; \t\t\t\r\n\t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 6000,19500 L 4000,19500 4000,17500 8000,17500 8000,19500 6000,19500 Z\" id=\"path4\"/>&#10; \t\t\t\r\n\t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" stroke-linejoin=\"round\" d=\"M 6000,19500 L 4000,19500 4000,17500 8000,17500 8000,19500 6000,19500 Z\" id=\"path5\"/>&#10; \t\t\r\n\t\t</g>&#10; \t\t\r\n\t\t<g id=\"Heizen\">&#10; \t\t\t\r\n\t\t\t<path fill=\"rgb(255,255,255)\" stroke=\"none\" d=\"M 18000,4000 L 15500,4000 15500,1500 20500,1500 20500,4000 18000,4000 Z\" id=\"path6\"/>&#10; \t\t\t\r\n\t\t\t<path fill=\"none\" stroke=\"rgb(0,0,0)\" stroke-linejoin=\"round\" d=\"M 18000,4000 L 15500,4000 15500,1500 20500,1500 20500,4000 18000,4000 Z\" id=\"path7\"/>&#10; \t\t\t\r\n\t\t\t<text xml:space=\"preserve\" style=\"font-size:493.889px;fill:#000000;stroke-width:746.707\" x=\"16243.243\" y=\"2189.1892\" id=\"text14\">\r\n\t\t\t\t<tspan id=\"tspan14\" style=\"font-size:493.889px;stroke-width:746.707\" x=\"16243.243\" y=\"2189.1892\">test1: <%- dp[\"0_userdata.0.val1\"] %>\r\n\t\t\t\t</tspan>\r\n\t\t\t</text>\r\n\t\t\t<text xml:space=\"preserve\" style=\"font-size:493.89px;fill:#000000;stroke-width:746.707\" x=\"16222.973\" y=\"2918.9187\" id=\"text15\">\r\n\t\t\t\t<tspan id=\"tspan15\" style=\"stroke-width:746.707\" x=\"16222.973\" y=\"2918.9187\">test2: <%- dp[\"0_userdata.0.val2\"] %>\r\n\t\t\t\t</tspan>\r\n\t\t\t</text>\r\n\t\t</g>&#10;&#10;&#10;\r\n<% debugger; if (dp[\"0_userdata.0.val3\"]) { %>\t\t\r\n\t\t<line id=\"von_Puffer_an_Heizen_VL\" x1=\"15000\" y1=\"2500\" x2=\"15500\" y2=\"2500\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10; \r\n\t\r\n\t\t<line id=\"line7\" x1=\"15000\" y1=\"2500\" x2=\"15000\" y2=\"11000\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10; \r\n\t\t<line id=\"line8\" x1=\"13000\" y1=\"11000\" x2=\"15000\" y2=\"11000\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10;&#10;&#10;&#10;&#10;&#10; \t\t\r\n<% } %>\t\t\t\r\n\r\n\t\t<line id=\"von_Solar_an_Puffer_VL\" x1=\"13000\" y1=\"11500\" x2=\"18000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10;&#10;&#10; \t\t\r\n\t\t<line id=\"von_Puffer_an_Speicher_RL\" x1=\"13001\" y1=\"16200\" x2=\"22000\" y2=\"16200\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10;&#10;&#10;&#10; \t\t\r\n\t\t<line id=\"Puffer_Speicher_VL\" x1=\"13001\" y1=\"11200\" x2=\"22000\" y2=\"11200\" stroke=\"#FF00F0\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10;&#10; \t\t\r\n\t\t<line id=\"Puffer_Speicher_VL_1\" x1=\"18000\" y1=\"11500\" x2=\"22000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10; \t\t\r\n\t\t<line id=\"Puffer_Speicher_RL\" x1=\"13001\" y1=\"16000\" x2=\"17600\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10; \t\t\r\n\t\t<line id=\"Puffer_Speicher_RL_1\" x1=\"17600\" y1=\"16000\" x2=\"22000\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10;&#10;&#10; \t\t\r\n\t\t<line id=\"Speicher_Solar_VL_1\" x1=\"7001\" y1=\"3600\" x2=\"7001\" y2=\"7001\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10; \t\t\r\n\t\t<line id=\"Speicher_Solar_VL_2\" x1=\"7001\" y1=\"7001\" x2=\"18000\" y2=\"7001\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10; \t\t\r\n\t\t<line id=\"Speicher_Solar_VL_3\" x1=\"18000\" y1=\"7001\" x2=\"18000\" y2=\"11500\" stroke=\"#FF5500\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10; \t\t\r\n\t\t<line id=\"Speicher_Solar_RL_1\" x1=\"6000\" y1=\"6000\" x2=\"6000\" y2=\"7600\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10; \t\t\r\n\t\t<line id=\"line9\" x1=\"6000\" y1=\"7600\" x2=\"17600\" y2=\"7600\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10; \t\t\r\n\t\t<line id=\"line10\" x1=\"17600\" y1=\"7600\" x2=\"17600\" y2=\"16000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10;&#10; \t\t\r\n\t\t<line id=\"Speicher_WWPU_VL_\" x1=\"8000\" y1=\"18600\" x2=\"17000\" y2=\"18600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10; \t\t\r\n\t\t<line id=\"line11\" x1=\"17000\" y1=\"18600\" x2=\"17000\" y2=\"11600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10; \t\t\r\n\t\t<line id=\"line12\" x1=\"17000\" y1=\"11600\" x2=\"22000\" y2=\"11600\" stroke=\"#FF0000\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10;&#10;&#10;&#10; \t\t\r\n\t\t<line id=\"Speicher_WWPU_RL_\" x1=\"8000\" y1=\"19000\" x2=\"17500\" y2=\"19000\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10; \t\t\r\n\t\t<line id=\"line13\" x1=\"17500\" y1=\"19000\" x2=\"17500\" y2=\"16500\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10; \t\t\r\n\t\t<line id=\"line14\" x1=\"17500\" y1=\"16500\" x2=\"22000\" y2=\"16500\" stroke=\"#0000FF\" stroke-width=\"60\" stroke-linecap=\"round\" stroke-dasharray=\"120 120\" stroke-dashoffset=\"0\">&#10; \t\t\t\r\n\t\t\t<animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"240\" dur=\"1s\" repeatCount=\"indefinite\"/>&#10; \t\t\r\n\t\t</line>&#10;&#10; \t\r\n\t</g>&#10; \r\n</svg>",
                                             "g_datapoints-0": true,
                                             "g_datapoints-1": true,
                                             "g_datapoints-2": true,
                                             "datapoint-oid1": "0_userdata.0.val1",
                                             "datapoint-oid2": "0_userdata.0.val2",
                                             "g_datapoints-3": true,
                                             "datapoint-oid3": "0_userdata.0.val3"
                                           },
                                           "style": {
                                             "bindings": [],
                                             "left": -220,
                                             "top": -165,
                                             "width": "1030px",
                                             "height": "753px",
                                             "transform": "scale(0.5)"
                                           },
                                           "widgetSet": "vis-jsontemplate",
                                           "_id": "i000001"
                                         }
                                        ]
                                        

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

                                        M 1 Antwort Letzte Antwort
                                        0
                                        • M Mattes 0

                                          @samson71 muss es auch nicht - Meinungsfreiheit, von daher alles bestens.

                                          Ja meine "Erfahrungen" sind MEINE Erfahrungen und bezüglich des genannten Projekts MUSS das auch nicht stimmen und ich kann komplett falsch liegen.
                                          Trotzdem schreibe ich sowas nicht grundlos oder leichtfertig und das jemand der Zeit in etwas investiert hat, freiwillige Spenden nimmt ist ebenfalls okay für mich.

                                          Mir ist aber schon mehrfach passiert, das ich bei so Projekten mitgewirkt habe und dann plötzlich war es Kommerziell und ich sollte bezahlen - deshalb auch die vorherige Eigenentwicklung meines Projektes.

                                          Vielleicht ist der genannte Adapter auch einer der Besten die IOBroker zu bieten hat ... weiß ich nicht, gefällt mir trotzdem nicht und das sollte denke ich auch reichen.

                                          Ist nicht Persönlich gemeint und sollte man auch nicht so auffassen.

                                          HomoranH Nicht stören
                                          HomoranH Nicht stören
                                          Homoran
                                          Global Moderator Administrators
                                          schrieb am zuletzt editiert von
                                          #20

                                          @mattes-0 sagte in Eigenes Widget erstellen und mit Daten füllen:

                                          Trotzdem schreibe ich sowas nicht grundlos oder leichtfertig

                                          doch es ist leichtfertig!
                                          Solche Posts fürhren regelmäßig zu Shitstormähnlichen Threads, dass hier bald alles gebührenpflichtig wird.
                                          Das wird es nicht!

                                          egal welche Erfahrungen du gemacht haben willst.
                                          Das hier ist eine Community

                                          Da gibt es eher die User, die ein ähnliches Verhalten wie du an den Tag legen, und sich hier beraten lassen, um anschließend das Ergebnis gewerblich zu nutzen.

                                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                          M 1 Antwort Letzte Antwort
                                          3
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          913

                                          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