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. [gelöst] Basic HTML Widget JS Funktion

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

[gelöst] Basic HTML Widget JS Funktion

Geplant Angeheftet Gesperrt Verschoben Visualisierung
13 Beiträge 2 Kommentatoren 657 Aufrufe 2 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.
  • L LubuBroker

    Hallo zusammen
    Ich möchte ein einfaches Pumpensymbol (Kreis mit einem Dreieck), das die Füllfarbe ändert, wenn die Pumpe läuft.
    Ich habe nichts passendes für mich gefunden, und habe stattdessen einfach ein HTML Widget genommen.

    Wieso habe ich z.B. kein SVG Shape genommen und für den Kreis und das Dreieck eine Gruppe gemacht werdet Ihr euch vielleicht fragen. Ich möchte, das das Symbol automatisch anhand der Bildschirmauflösung skaliert. Das heisst, das dann die Leitung auch immer in der Mitte der Pumpe ist. Und das Dreieck immer in der Mitte des Dreieck.

    Da ich mich nicht so auskenne habe ich zugegebener maßen ChatGPT gefragt.
    Ich hatte dann ungefähr diesen Code bekommen

    <div style="width:100%; aspect-ratio: 1 / 1;">
      <svg viewBox="0 0 100 100" width="100%" height="100%" preserveAspectRatio="xMidYMid meet">
        <!-- Kreis -->
        <circle id="statusCircle" cx="50" cy="50" r="49"
          fill="gray"
          stroke="black"
          stroke-width="3" />
    
        <!-- Zentriertes Dreieck -->
        <polygon 
          points="50,2 10,74 90,74" 
          fill="none"
          stroke="black"
          stroke-width="3"
        />
      </svg>
    </div>
    
    <script>
      // Dein Datenpunkt
      const datapoint = {alias.0.Heizung.Speicherladepumpe.Schaltbefehl};
    
      // Farbe ändern je nach Wert
      function updateCircleColor(value) {
        const color = value ? "green" : "gray";
        document.getElementById("statusCircle").setAttribute("fill", color);
      }
    
      // Startwert lesen
      vis.binds.basic.getValue(datapoint, function (val) {
        updateCircleColor(val);
      });
    
      // Auf Änderungen reagieren
      vis.states.bind(datapoint + ".val", function (e, newVal) {
        updateCircleColor(newVal);
      });
    </script>
    

    Ich habe Ihn bereits ein wenig angepasst, damit es für mich passen würde.
    Leider funktioniert das mit der Füllfarbe aber nicht.
    Anscheinend funktionieren keine JS funktionen im HTML Widget.

    Ich habe es dan noch so Probiert

    <div style="width:100%; aspect-ratio: 1 / 1;">
      <svg viewBox="0 0 100 100" width="100%" height="100%" preserveAspectRatio="xMidYMid meet">
        <!-- Kreis -->
        <circle id="statusCircle" cx="50" cy="50" r="49"
          fill={Wert:alias.0.Heizung.Speicherladepumpe.Schaltbefehl; wert==true? "green":"grey"}
          stroke="black"
          stroke-width="3" />
    
        <!-- Zentriertes Dreieck -->
        <polygon 
          points="50,2 10,74 90,74" 
          fill="none"
          stroke="black"
          stroke-width="3"
        />
      </svg>
    </div>
    
    

    Da ist der Kreis dann aber einfach Schwarz
    Was funktioniert ist, wenn ich direkt einen Datenpunkt mit dem Füllfarbentext hineinschreibe.
    Aber ich möchte eigentlich umgehen dafür extra wieder zusätzliche datenpunkte anzulegen.

    Hat vielleicht jemand einen Tipp für mich.

    Vilen Dank

    M Offline
    M Offline
    MCU
    schrieb am zuletzt editiert von
    #2

    @lububroker sagte in Basic HTML Widget JS Funktion:

    fill={Wert:alias.0.Heizung.Speicherladepumpe.Schaltbefehl; wert==true? "green":"grey"}

    Nicht Wert sondern wert?

    fill={wert:alias.0.Heizung.Speicherladepumpe.Schaltbefehl; wert==true? "green":"grey"}
    

    NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
    Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

    L 1 Antwort Letzte Antwort
    0
    • M MCU

      @lububroker sagte in Basic HTML Widget JS Funktion:

      fill={Wert:alias.0.Heizung.Speicherladepumpe.Schaltbefehl; wert==true? "green":"grey"}

      Nicht Wert sondern wert?

      fill={wert:alias.0.Heizung.Speicherladepumpe.Schaltbefehl; wert==true? "green":"grey"}
      
      L Offline
      L Offline
      LubuBroker
      schrieb am zuletzt editiert von LubuBroker
      #3

      @mcu Ach ja das war ein Fehler.
      Jetzt ist es so, das es grau angezeigt wird.
      Aber bei True wird es immer noch nicht grün

      Mit 1 statt true habe ich es auch schon probiert

      M 1 Antwort Letzte Antwort
      0
      • L LubuBroker

        @mcu Ach ja das war ein Fehler.
        Jetzt ist es so, das es grau angezeigt wird.
        Aber bei True wird es immer noch nicht grün

        Mit 1 statt true habe ich es auch schon probiert

        M Offline
        M Offline
        MCU
        schrieb am zuletzt editiert von MCU
        #4

        @lububroker

        wert == "true"
        
        fill={wert:alias.0.Heizung.Speicherladepumpe.Schaltbefehl; wert=="true" ? "green":"grey"}
        

        NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
        Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

        L 1 Antwort Letzte Antwort
        0
        • M MCU

          @lububroker

          wert == "true"
          
          fill={wert:alias.0.Heizung.Speicherladepumpe.Schaltbefehl; wert=="true" ? "green":"grey"}
          
          L Offline
          L Offline
          LubuBroker
          schrieb am zuletzt editiert von
          #5

          @mcu sagte in Basic HTML Widget JS Funktion:

          wert == "true"

          Nein bleibt leider Grau

          M 1 Antwort Letzte Antwort
          0
          • L LubuBroker

            @mcu sagte in Basic HTML Widget JS Funktion:

            wert == "true"

            Nein bleibt leider Grau

            M Offline
            M Offline
            MCU
            schrieb am zuletzt editiert von
            #6

            @lububroker vis oder vis2

            NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
            Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

            L 1 Antwort Letzte Antwort
            0
            • M MCU

              @lububroker vis oder vis2

              L Offline
              L Offline
              LubuBroker
              schrieb am zuletzt editiert von
              #7

              @mcu Vis 2

              M 1 Antwort Letzte Antwort
              0
              • L LubuBroker

                @mcu Vis 2

                M Offline
                M Offline
                MCU
                schrieb am zuletzt editiert von MCU
                #8

                @lububroker Da funktioniert es mit

                fill={wert:alias.0.Heizung.Speicherladepumpe.Schaltbefehl; wert==true ? "green":"grey"}
                

                46a08ffc-ed24-4c9e-ba54-4cd5c2c8a639-image.png
                a6f43ae0-a8be-4123-936b-626a8fa8a293-image.png
                Welchen Type hat der DP?
                e833f9cf-7273-4556-945e-3640fe24e8e7-image.png

                NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                L 1 Antwort Letzte Antwort
                0
                • M MCU

                  @lububroker Da funktioniert es mit

                  fill={wert:alias.0.Heizung.Speicherladepumpe.Schaltbefehl; wert==true ? "green":"grey"}
                  

                  46a08ffc-ed24-4c9e-ba54-4cd5c2c8a639-image.png
                  a6f43ae0-a8be-4123-936b-626a8fa8a293-image.png
                  Welchen Type hat der DP?
                  e833f9cf-7273-4556-945e-3640fe24e8e7-image.png

                  L Offline
                  L Offline
                  LubuBroker
                  schrieb am zuletzt editiert von LubuBroker
                  #9

                  @mcu sagte in Basic HTML Widget JS Funktion:

                  fill={wert:alias.0.Heizung.Speicherladepumpe.Schaltbefehl; wert==true ? "green":"grey"}

                  Boolean
                  habe es jetzt nochmals so eingefügt. Aber es funktioniert nicht.

                  Das ist der Datenpunkt

                  {
                    "type": "state",
                    "common": {
                      "name": "Schalten",
                      "role": "switch",
                      "type": "boolean",
                      "read": true,
                      "write": true,
                      "alias": {
                        "id": {
                          "read": "openknx.0.Aussenbereich.Verbraucher.Bewässerung_Pumpe_Status",
                          "write": "openknx.0.Aussenbereich.Verbraucher.Bewässerung_Pumpe_Schalten"
                        }
                      }
                    },
                    "_id": "alias.0.Garten.Bewaesserung.Pumpe.Schalten",
                    "native": {},
                    "from": "system.adapter.admin.0",
                    "user": "system.user.admin",
                    "ts": 1744870870221,
                    "acl": {
                      "object": 1636,
                      "state": 1636,
                      "file": 1632,
                      "owner": "system.user.admin",
                      "ownerGroup": "system.group.administrator"
                    }
                  }
                  
                  M 1 Antwort Letzte Antwort
                  0
                  • L LubuBroker

                    @mcu sagte in Basic HTML Widget JS Funktion:

                    fill={wert:alias.0.Heizung.Speicherladepumpe.Schaltbefehl; wert==true ? "green":"grey"}

                    Boolean
                    habe es jetzt nochmals so eingefügt. Aber es funktioniert nicht.

                    Das ist der Datenpunkt

                    {
                      "type": "state",
                      "common": {
                        "name": "Schalten",
                        "role": "switch",
                        "type": "boolean",
                        "read": true,
                        "write": true,
                        "alias": {
                          "id": {
                            "read": "openknx.0.Aussenbereich.Verbraucher.Bewässerung_Pumpe_Status",
                            "write": "openknx.0.Aussenbereich.Verbraucher.Bewässerung_Pumpe_Schalten"
                          }
                        }
                      },
                      "_id": "alias.0.Garten.Bewaesserung.Pumpe.Schalten",
                      "native": {},
                      "from": "system.adapter.admin.0",
                      "user": "system.user.admin",
                      "ts": 1744870870221,
                      "acl": {
                        "object": 1636,
                        "state": 1636,
                        "file": 1632,
                        "owner": "system.user.admin",
                        "ownerGroup": "system.group.administrator"
                      }
                    }
                    
                    M Offline
                    M Offline
                    MCU
                    schrieb am zuletzt editiert von
                    #10

                    @lububroker Zeig mal bitte die Objektdaten vom DP
                    a5d3c2e8-0b4a-4b95-9313-6349f211aae1-image.png

                    NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                    Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                    M 1 Antwort Letzte Antwort
                    0
                    • M MCU

                      @lububroker Zeig mal bitte die Objektdaten vom DP
                      a5d3c2e8-0b4a-4b95-9313-6349f211aae1-image.png

                      M Offline
                      M Offline
                      MCU
                      schrieb am zuletzt editiert von MCU
                      #11

                      @LubuBroker

                      alias.0.Heizung.Speicherladepumpe.Schaltbefehl /* ist ja auch nicht der DP */
                      
                      
                      // alias.0.Garten.Bewaesserung.Pumpe.Schalten
                      // -> also
                      fill={wert:alias.0.Garten.Bewaesserung.Pumpe.Schalten; wert==true ? "green":"grey"}
                      

                      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                      L 1 Antwort Letzte Antwort
                      0
                      • M MCU

                        @LubuBroker

                        alias.0.Heizung.Speicherladepumpe.Schaltbefehl /* ist ja auch nicht der DP */
                        
                        
                        // alias.0.Garten.Bewaesserung.Pumpe.Schalten
                        // -> also
                        fill={wert:alias.0.Garten.Bewaesserung.Pumpe.Schalten; wert==true ? "green":"grey"}
                        
                        L Offline
                        L Offline
                        LubuBroker
                        schrieb am zuletzt editiert von
                        #12

                        @mcu Ou man
                        Das ist ja peinlich :face_with_rolling_eyes:
                        Die Speicherladepumpe kann ich nicht beschreiben.
                        Drum habe ich mal die zisternenpumpe genommen. Aber im anderen HTML Objekt nicht getauscht.

                        Funktioniert.
                        Vielen Dank

                        M 1 Antwort Letzte Antwort
                        0
                        • L LubuBroker

                          @mcu Ou man
                          Das ist ja peinlich :face_with_rolling_eyes:
                          Die Speicherladepumpe kann ich nicht beschreiben.
                          Drum habe ich mal die zisternenpumpe genommen. Aber im anderen HTML Objekt nicht getauscht.

                          Funktioniert.
                          Vielen Dank

                          M Offline
                          M Offline
                          MCU
                          schrieb am zuletzt editiert von
                          #13

                          @lububroker Muss Dir nicht peinlich sein. Passiert jedem Mal. Ok, dann als gelöst im ersten Post setzen.

                          NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

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


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          544

                          Online

                          32.6k

                          Benutzer

                          82.2k

                          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