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. ioBroker Allgemein
  4. Binding in Vis-2

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Binding in Vis-2

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
10 Beiträge 6 Kommentatoren 1.1k Aufrufe 8 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.
  • peterk34P Offline
    peterk34P Offline
    peterk34
    schrieb am zuletzt editiert von
    #1

    Ich habe folgendes:

    Bildschirmfoto 2024-03-24 um 18.51.18.png

    wie kann ich nun dieses Binding so schreiben, dass es den Wert von Objekt ID nimmt ohne dass man den Datenpunkt noch einmal angeben muss?

    {a:alias.0.PV.Batterie_kW; a <= 0 ? 'Entladung' : 'Ladung'}
    
    arteckA CodierknechtC Trqb3T 3 Antworten Letzte Antwort
    0
    • peterk34P peterk34

      Ich habe folgendes:

      Bildschirmfoto 2024-03-24 um 18.51.18.png

      wie kann ich nun dieses Binding so schreiben, dass es den Wert von Objekt ID nimmt ohne dass man den Datenpunkt noch einmal angeben muss?

      {a:alias.0.PV.Batterie_kW; a <= 0 ? 'Entladung' : 'Ladung'}
      
      arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      schrieb am zuletzt editiert von arteck
      #2

      @peterk34 versteh ich nicht was du willst ... kannst du deine Frage umformulieren oder das erwartete Endergebniss zeigen ?

      zigbee hab ich, zwave auch, nuc's genauso und HA auch

      peterk34P 1 Antwort Letzte Antwort
      0
      • SBorgS Offline
        SBorgS Offline
        SBorg
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #3

        Ich vermute mal es soll eine Anzeige werden die dann bspw. 13 kW Ladung anzeigt?

        In "a" hast du den Wert gespeichert, somit kannst du innerhalb des Bindings auch darauf zugreifen:

        {a:alias.0.PV.Batterie_kW; a <= 0 ? a+' kW Entladung' : a+' kW Ladung'}
        

        Die "kW" sind natürlich Geschmackssache, beim "anhängen" sieht das IMO aber komisch aus: 13 Ladung kW

        LG SBorg ( SBorg auf GitHub)
        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

        1 Antwort Letzte Antwort
        0
        • arteckA arteck

          @peterk34 versteh ich nicht was du willst ... kannst du deine Frage umformulieren oder das erwartete Endergebniss zeigen ?

          peterk34P Offline
          peterk34P Offline
          peterk34
          schrieb am zuletzt editiert von
          #4

          @arteck @SBorg

          sorry, war wohl etwas zu vereinfacht ...

          das dargestellte Binding funktiobniert so prima. Ich mache dieses widget aber so ca 20x, ändern tut sich jedes mal die Objekt ID. Somit muss ich dann bei jedem widget die Objekt ID des widgets einstellen und dann noch im HTML das a:alias.0.PV.Batterie_kW durch das jeweilige, ohnehin im Objekt ID des widget stehende ersetzen.

          Mein Frage wäre nun, wie und ob ich das Binding a:alias.0.PV.Batterie_kW so verändern kann, dass es den Objekt ID des widgets nimmt. Ich hätte rausgelesen, dass das widgetOid sei - also müsste in meinem Beispiel

          {a:alias.0.PV.Batterie_kW; a <= 0 ? 'Entladung' : 'Ladung'}
          
          {a:widgetOid; a <= 0 ? 'Entladung' : 'Ladung'}
          

          das gleiche Ergebnis bringen. Tuts aber nicht.

          Ich hoffe jetzt ists verstehbar.

          Dankeschöööön

          C 1 Antwort Letzte Antwort
          0
          • peterk34P peterk34

            @arteck @SBorg

            sorry, war wohl etwas zu vereinfacht ...

            das dargestellte Binding funktiobniert so prima. Ich mache dieses widget aber so ca 20x, ändern tut sich jedes mal die Objekt ID. Somit muss ich dann bei jedem widget die Objekt ID des widgets einstellen und dann noch im HTML das a:alias.0.PV.Batterie_kW durch das jeweilige, ohnehin im Objekt ID des widget stehende ersetzen.

            Mein Frage wäre nun, wie und ob ich das Binding a:alias.0.PV.Batterie_kW so verändern kann, dass es den Objekt ID des widgets nimmt. Ich hätte rausgelesen, dass das widgetOid sei - also müsste in meinem Beispiel

            {a:alias.0.PV.Batterie_kW; a <= 0 ? 'Entladung' : 'Ladung'}
            
            {a:widgetOid; a <= 0 ? 'Entladung' : 'Ladung'}
            

            das gleiche Ergebnis bringen. Tuts aber nicht.

            Ich hoffe jetzt ists verstehbar.

            Dankeschöööön

            C Online
            C Online
            Chrunchy
            schrieb am zuletzt editiert von
            #5

            @peterk34 Ist jetzt zwar nicht unbedingt das, wonach du fragst, aber warum setzt du nicht einen zusätzlichen Alias, der je nach Zustand von alias.0.PV.Batterie_kW mit Entladung oder Ladung gesetzt wird.

            Gruß Chrunchy

            peterk34P 2 Antworten Letzte Antwort
            0
            • C Chrunchy

              @peterk34 Ist jetzt zwar nicht unbedingt das, wonach du fragst, aber warum setzt du nicht einen zusätzlichen Alias, der je nach Zustand von alias.0.PV.Batterie_kW mit Entladung oder Ladung gesetzt wird.

              peterk34P Offline
              peterk34P Offline
              peterk34
              schrieb am zuletzt editiert von peterk34
              #6

              @chrunchy
              genau beantwortet die Frage nicht, ist aber definitiv ein guter anderer Weg. Mein HTML ist allerdings viel komplexer. Es stellt auch noch hach Wert Hintergrundfarbe usw. ein. Das geht mit dem alias nicht. Ich hatte das schon so ähnlich und einfach 2 widgets übereinandergelegt und dann je nach Zustand das eine oder andere ausgeblendet ... brauch ich doppelt soviele Ressourcen und auch zum Warten ein Wahnsinn. So schauts dann schon eher aus:

              <div style="width: 100px; height: 40px; background-color: {a:alias.0.PV.Batterie_kW; a <= 0 ? 'black' : 'green'}; display: flex; justify-content: center; align-items: center;">       
                  <span>         
                      {a:alias.0.PV.Batterie_kW; a <= 0 ? 'Entladung' : 'Ladung'}:<br>         
                      {a:alias.0.PV.Batterie_kW; b:alias.0.PV.Batterie_W; (a < 1 && a > -1) ? b + ' W' : a + ' kW'}   
                  </span> 
              </div>
              
              1 Antwort Letzte Antwort
              0
              • peterk34P peterk34

                Ich habe folgendes:

                Bildschirmfoto 2024-03-24 um 18.51.18.png

                wie kann ich nun dieses Binding so schreiben, dass es den Wert von Objekt ID nimmt ohne dass man den Datenpunkt noch einmal angeben muss?

                {a:alias.0.PV.Batterie_kW; a <= 0 ? 'Entladung' : 'Ladung'}
                
                CodierknechtC Offline
                CodierknechtC Offline
                Codierknecht
                Developer Most Active
                schrieb am zuletzt editiert von
                #7

                @peterk34

                wie kann ich nun dieses Binding so schreiben, dass es den Wert von Objekt ID nimmt ohne dass man den Datenpunkt noch einmal angeben muss?

                Gar nicht. Ist nicht vorgesehen.

                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                HmIP|ZigBee|Tasmota|Unifi
                Zabbix Certified Specialist
                Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                peterk34P 1 Antwort Letzte Antwort
                0
                • CodierknechtC Codierknecht

                  @peterk34

                  wie kann ich nun dieses Binding so schreiben, dass es den Wert von Objekt ID nimmt ohne dass man den Datenpunkt noch einmal angeben muss?

                  Gar nicht. Ist nicht vorgesehen.

                  peterk34P Offline
                  peterk34P Offline
                  peterk34
                  schrieb am zuletzt editiert von
                  #8

                  @codierknecht

                  ok, danke

                  1 Antwort Letzte Antwort
                  0
                  • C Chrunchy

                    @peterk34 Ist jetzt zwar nicht unbedingt das, wonach du fragst, aber warum setzt du nicht einen zusätzlichen Alias, der je nach Zustand von alias.0.PV.Batterie_kW mit Entladung oder Ladung gesetzt wird.

                    peterk34P Offline
                    peterk34P Offline
                    peterk34
                    schrieb am zuletzt editiert von
                    #9

                    @chrunchy
                    ich hab deine Idee mal weiterverfolgt und einfach im alias den ganzen html erzeugt:

                        "alias": {
                          "id": "e3dc-rscp.0.EMS.POWER_BAT",
                          "read": "'<div style=\"width: 100px; height: 40px; background-color: ' + (val <= 0 ? \"black\" : \"green\") + '; display: flex; justify-content: center; align-items: center;\"><span>' + (val <= 0 ? 'Entladung: <br>' : 'Ladung: <br>') + ((val < 1000 && val > -1000) ? Math.round(val) + 'W' : (Math.round(val / 100) / 10) + 'kW') + '</span> </div>'"
                        }
                    

                    und verwende dann im html widget einfach nur {alias.0.VIS.Ladung_Entladung1} ... und schon gehts.

                    Danke für den Tip!

                    Wahrscheinlich werde ich es aber nicht mit einem alias sondern einem JS lösen. Damit wird dann einiges mehr konfigurierbar.

                    1 Antwort Letzte Antwort
                    0
                    • peterk34P peterk34

                      Ich habe folgendes:

                      Bildschirmfoto 2024-03-24 um 18.51.18.png

                      wie kann ich nun dieses Binding so schreiben, dass es den Wert von Objekt ID nimmt ohne dass man den Datenpunkt noch einmal angeben muss?

                      {a:alias.0.PV.Batterie_kW; a <= 0 ? 'Entladung' : 'Ladung'}
                      
                      Trqb3T Offline
                      Trqb3T Offline
                      Trqb3
                      schrieb am zuletzt editiert von
                      #10

                      @peterk34 ist zwar etwas late, aber hier, das wonach du fragtest:

                      {a: {a:;widget.data.oid}; a <= 0 ? 'Entladung' : 'Ladung'}:

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


                      Support us

                      ioBroker
                      Community Adapters
                      Donate
                      FAQ Cloud / IOT
                      HowTo: Node.js-Update
                      HowTo: Backup/Restore
                      Downloads
                      BLOG

                      576

                      Online

                      32.7k

                      Benutzer

                      82.4k

                      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