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. Beliebigen dp Type mit Javascript direkt auf Bool abfragen

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Beliebigen dp Type mit Javascript direkt auf Bool abfragen

Geplant Angeheftet Gesperrt Verschoben Visualisierung
19 Beiträge 4 Kommentatoren 695 Aufrufe 5 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.
  • Ben1983B Offline
    Ben1983B Offline
    Ben1983
    schrieb am zuletzt editiert von
    #1

    Hallo,
    ich habe in der Vis folgendes in einer CSS Eigenschaft verwendet um eine Farbe zuzuweisen:

    {vis-inventwo.0.CSS.Active}
    

    Nun meine Frage:
    Ist es auch irgendwie möglich, dass man Boolsche Werte sozusagen mit einem "inline" script zu erzeugen?
    Ich würde gerne einem Widged (welches Bool erwartet) folgenden Wert zuweisen:

    {traccar.0.geofences.22.device_ids.indexOf(1) !== -1}
    

    Geht das irgendwie?

    R 1 Antwort Letzte Antwort
    0
    • Ben1983B Ben1983

      Hallo,
      ich habe in der Vis folgendes in einer CSS Eigenschaft verwendet um eine Farbe zuzuweisen:

      {vis-inventwo.0.CSS.Active}
      

      Nun meine Frage:
      Ist es auch irgendwie möglich, dass man Boolsche Werte sozusagen mit einem "inline" script zu erzeugen?
      Ich würde gerne einem Widged (welches Bool erwartet) folgenden Wert zuweisen:

      {traccar.0.geofences.22.device_ids.indexOf(1) !== -1}
      

      Geht das irgendwie?

      R Offline
      R Offline
      Ralf 2
      schrieb am zuletzt editiert von
      #2

      @ben1983
      Ich würde es in etwa so probieren

      {x:der.daten.punkt; x !== -1 ? true : false}
      

      Gruß Ralf

      Ben1983B 1 Antwort Letzte Antwort
      0
      • R Ralf 2

        @ben1983
        Ich würde es in etwa so probieren

        {x:der.daten.punkt; x !== -1 ? true : false}
        
        Ben1983B Offline
        Ben1983B Offline
        Ben1983
        schrieb am zuletzt editiert von
        #3

        @ralf-2 sagte in Beliebigen dp Type mit Javascript direkt auf Bool abfragen:

        {x:der.daten.punkt; x !== -1 ? true : false}

        Habe es jetzt so eingesetzt... aber geht nicht... passt das mit dem indexOf?

        {x:traccar.0.geofences.22.device_ids.indexOf(1); x !== -1 ? true : false}
        
        R 1 Antwort Letzte Antwort
        0
        • Ben1983B Ben1983

          @ralf-2 sagte in Beliebigen dp Type mit Javascript direkt auf Bool abfragen:

          {x:der.daten.punkt; x !== -1 ? true : false}

          Habe es jetzt so eingesetzt... aber geht nicht... passt das mit dem indexOf?

          {x:traccar.0.geofences.22.device_ids.indexOf(1); x !== -1 ? true : false}
          
          R Offline
          R Offline
          Ralf 2
          schrieb am zuletzt editiert von Ralf 2
          #4

          @ben1983
          Ich weis nicht wie der Datenpunkt aussieht.
          Normalerweise kopiert man das direkt aus dem Objektbrowser:
          c825a50e-c458-4f29-b879-d32c46f97906-image.png
          Ich weiß nicht, ob bei dir wirklich das "(1)" dahinter richtig ist.
          Welches Widget willst du denn benutzen?

          Edit
          scheinbar funktionieren die Bindings bei ObjectID so nicht.
          Was willst du genau machen?

          Gruß Ralf

          Ben1983B 1 Antwort Letzte Antwort
          0
          • R Ralf 2

            @ben1983
            Ich weis nicht wie der Datenpunkt aussieht.
            Normalerweise kopiert man das direkt aus dem Objektbrowser:
            c825a50e-c458-4f29-b879-d32c46f97906-image.png
            Ich weiß nicht, ob bei dir wirklich das "(1)" dahinter richtig ist.
            Welches Widget willst du denn benutzen?

            Edit
            scheinbar funktionieren die Bindings bei ObjectID so nicht.
            Was willst du genau machen?

            Ben1983B Offline
            Ben1983B Offline
            Ben1983
            schrieb am zuletzt editiert von
            #5

            @ralf-2 natürlich ist es kein Bool, sonst ist natürlich klar, dass man den kopieren kann.
            Es ist ein Array, das möchte ich überprüfen, ob es einen bestimmten Inhalt hat… Aber man muss es sicher noch parsen…. Muss ich später nochmal versuchen

            AsgothianA 1 Antwort Letzte Antwort
            0
            • Ben1983B Ben1983

              @ralf-2 natürlich ist es kein Bool, sonst ist natürlich klar, dass man den kopieren kann.
              Es ist ein Array, das möchte ich überprüfen, ob es einen bestimmten Inhalt hat… Aber man muss es sicher noch parsen…. Muss ich später nochmal versuchen

              AsgothianA Offline
              AsgothianA Offline
              Asgothian
              Developer
              schrieb am zuletzt editiert von Asgothian
              #6

              @ben1983 sagte in Beliebigen dp Type mit Javascript direkt auf Bool abfragen:

              @ralf-2 natürlich ist es kein Bool, sonst ist natürlich klar, dass man den kopieren kann.
              Es ist ein Array, das möchte ich überprüfen, ob es einen bestimmten Inhalt hat… Aber man muss es sicher noch parsen…. Muss ich später nochmal versuchen

              Geht auch mit einem Einzeiler. derAusdruck am Ende des Beispiel-codes ist ein bool:

              const arr = ['bla','fasel','hieristnix'];
              
              (arr.indexOf('fasel')>-1)
              

              ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
              "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

              Ben1983B 1 Antwort Letzte Antwort
              0
              • AsgothianA Asgothian

                @ben1983 sagte in Beliebigen dp Type mit Javascript direkt auf Bool abfragen:

                @ralf-2 natürlich ist es kein Bool, sonst ist natürlich klar, dass man den kopieren kann.
                Es ist ein Array, das möchte ich überprüfen, ob es einen bestimmten Inhalt hat… Aber man muss es sicher noch parsen…. Muss ich später nochmal versuchen

                Geht auch mit einem Einzeiler. derAusdruck am Ende des Beispiel-codes ist ein bool:

                const arr = ['bla','fasel','hieristnix'];
                
                (arr.indexOf('fasel')>-1)
                
                Ben1983B Offline
                Ben1983B Offline
                Ben1983
                schrieb am zuletzt editiert von
                #7

                @asgothian danke. Wie das in js geht, ist mir klar.
                Die Frage war, wie ich es in vis in einem Objekt einbinden kann, damit man da auch nicht bool werte nutzen kann

                R 1 Antwort Letzte Antwort
                0
                • Ben1983B Ben1983

                  @asgothian danke. Wie das in js geht, ist mir klar.
                  Die Frage war, wie ich es in vis in einem Objekt einbinden kann, damit man da auch nicht bool werte nutzen kann

                  R Offline
                  R Offline
                  Ralf 2
                  schrieb am zuletzt editiert von
                  #8

                  @ben1983
                  Ohne weitere Informationen kann man hier aber kaum helfen.

                  • Wie sieht die Konfiguration des DP aus
                  • Was steht im Datenpunkt
                  • Wo in der VIS willst du das einsetzen
                  • Welches Widget willst du benutzen
                  • Welche Visualisierung benutzt du? Vis, Vis2, Jarvis,...

                  Ohne weitere Informationen bin ich hier raus.

                  Gruß Ralf

                  Ben1983B 1 Antwort Letzte Antwort
                  0
                  • R Ralf 2

                    @ben1983
                    Ohne weitere Informationen kann man hier aber kaum helfen.

                    • Wie sieht die Konfiguration des DP aus
                    • Was steht im Datenpunkt
                    • Wo in der VIS willst du das einsetzen
                    • Welches Widget willst du benutzen
                    • Welche Visualisierung benutzt du? Vis, Vis2, Jarvis,...

                    Ohne weitere Informationen bin ich hier raus.

                    Ben1983B Offline
                    Ben1983B Offline
                    Ben1983
                    schrieb am zuletzt editiert von
                    #9

                    @ralf-2 das ist eine allgemeine Frage, ob man in der Vis über JS Funktionen eine Abfrage anstelle des DP setzen kann. Nicht speziell auf ein DP oder Widged gemünzt.

                    R 1 Antwort Letzte Antwort
                    0
                    • Ben1983B Ben1983

                      @ralf-2 das ist eine allgemeine Frage, ob man in der Vis über JS Funktionen eine Abfrage anstelle des DP setzen kann. Nicht speziell auf ein DP oder Widged gemünzt.

                      R Offline
                      R Offline
                      Ralf 2
                      schrieb am zuletzt editiert von
                      #10

                      @ben1983
                      Da die Eintragung des DP beim speichern der VIS eingepflegt wird: Nein

                      Gruß Ralf

                      Ben1983B 1 Antwort Letzte Antwort
                      0
                      • R Ralf 2

                        @ben1983
                        Da die Eintragung des DP beim speichern der VIS eingepflegt wird: Nein

                        Ben1983B Offline
                        Ben1983B Offline
                        Ben1983
                        schrieb am zuletzt editiert von
                        #11

                        @ralf-2 schade. Dachte es geht irgendwie, da es mit Farben ja auch geht.

                        R 1 Antwort Letzte Antwort
                        0
                        • Ben1983B Ben1983

                          @ralf-2 schade. Dachte es geht irgendwie, da es mit Farben ja auch geht.

                          R Offline
                          R Offline
                          Ralf 2
                          schrieb am zuletzt editiert von
                          #12

                          @ben1983
                          Es gibt bestimmt ein Duzend Workarounds um das schnell hin zu bekommen
                          Aber ohne Infos :thinking_face:

                          Gruß Ralf

                          Ben1983B 1 Antwort Letzte Antwort
                          0
                          • R Ralf 2

                            @ben1983
                            Es gibt bestimmt ein Duzend Workarounds um das schnell hin zu bekommen
                            Aber ohne Infos :thinking_face:

                            Ben1983B Offline
                            Ben1983B Offline
                            Ben1983
                            schrieb am zuletzt editiert von
                            #13

                            @ralf-2 Was denn für Infos?

                            Ich möchte Ohne einen extra DP erstellen zu müssen,
                            in der Vis true oder false darstellen, indem ich eine JS Funktion eingebe, anstatt eines DP.

                            das kann vergleich auf string sein, auf number, oder arry.

                            Konkret habe ich diesen DP:

                            {
                              "type": "state",
                              "common": {
                                "name": "Device IDs",
                                "role": "json",
                                "type": "string",
                                "write": false,
                                "read": true
                              },
                              "native": {},
                              "from": "system.adapter.traccar.0",
                              "user": "system.user.admin",
                              "ts": 1740659209775,
                              "_id": "traccar.0.geofences.22.device_ids",
                              "acl": {
                                "object": 1636,
                                "state": 1636,
                                "owner": "system.user.admin",
                                "ownerGroup": "system.group.administrator"
                              }
                            }
                            

                            Hier möchte ich in der Vis abfragen, ob in diesem DP, welcher ein Array enthält bspw. eine 22 vorkommt.

                            Das ist das Konkrete Vorhaben.
                            Habe nichts konkretes geschrieben, da ich es nicht für Sinnvoll erachte immer nur eine Lösung fpr EINEN Fall zu haben, deshalb die Frage nach etwas allgemeinem.

                            OliverIOO 1 Antwort Letzte Antwort
                            0
                            • Ben1983B Ben1983

                              @ralf-2 Was denn für Infos?

                              Ich möchte Ohne einen extra DP erstellen zu müssen,
                              in der Vis true oder false darstellen, indem ich eine JS Funktion eingebe, anstatt eines DP.

                              das kann vergleich auf string sein, auf number, oder arry.

                              Konkret habe ich diesen DP:

                              {
                                "type": "state",
                                "common": {
                                  "name": "Device IDs",
                                  "role": "json",
                                  "type": "string",
                                  "write": false,
                                  "read": true
                                },
                                "native": {},
                                "from": "system.adapter.traccar.0",
                                "user": "system.user.admin",
                                "ts": 1740659209775,
                                "_id": "traccar.0.geofences.22.device_ids",
                                "acl": {
                                  "object": 1636,
                                  "state": 1636,
                                  "owner": "system.user.admin",
                                  "ownerGroup": "system.group.administrator"
                                }
                              }
                              

                              Hier möchte ich in der Vis abfragen, ob in diesem DP, welcher ein Array enthält bspw. eine 22 vorkommt.

                              Das ist das Konkrete Vorhaben.
                              Habe nichts konkretes geschrieben, da ich es nicht für Sinnvoll erachte immer nur eine Lösung fpr EINEN Fall zu haben, deshalb die Frage nach etwas allgemeinem.

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

                              @ben1983

                              Wahrscheinlich kommt das "Objekt" in vis als String an.
                              Das kannst du ja mal mit typeof prüfen.
                              Dann musst du das mit JSON.parse zunächst umwandeln und dann wie beschrieben darauf zugreifen.

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

                              Ben1983B 1 Antwort Letzte Antwort
                              0
                              • OliverIOO OliverIO

                                @ben1983

                                Wahrscheinlich kommt das "Objekt" in vis als String an.
                                Das kannst du ja mal mit typeof prüfen.
                                Dann musst du das mit JSON.parse zunächst umwandeln und dann wie beschrieben darauf zugreifen.

                                Ben1983B Offline
                                Ben1983B Offline
                                Ben1983
                                schrieb am zuletzt editiert von Ben1983
                                #15

                                @oliverio Schon versucht...

                                {x = JSON.parse(traccar.0.devices.1.geofence_ids).indexOf(22); x !== -1 ? true : false}
                                
                                // oder
                                
                                {x = JSON.parse(getState("traccar.0.devices.1.geofence_ids").val).indexOf(22); x !== -1 ? true : false}
                                

                                macht gar nichts

                                OliverIOO 1 Antwort Letzte Antwort
                                0
                                • Ben1983B Ben1983

                                  @oliverio Schon versucht...

                                  {x = JSON.parse(traccar.0.devices.1.geofence_ids).indexOf(22); x !== -1 ? true : false}
                                  
                                  // oder
                                  
                                  {x = JSON.parse(getState("traccar.0.devices.1.geofence_ids").val).indexOf(22); x !== -1 ? true : false}
                                  

                                  macht gar nichts

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

                                  @ben1983

                                  Das entspricht nicht der binding Konvention

                                  {x:traccar.0.devices.1.geofence_ids; JSON.parse(x).indexOf(22) !== -1 ? true : false}
                                  

                                  Habe das jetzt blind zusammengetippt.
                                  Falls es nicht funktioniert muss ich das später selbst mal am Rechner ausprobieren

                                  Die Befehle aus dem javascriptadapter wie geState sind so nicht auf vis verfügbar.
                                  Da muss man etwas mehr machen.

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

                                  Ben1983B 1 Antwort Letzte Antwort
                                  0
                                  • OliverIOO OliverIO

                                    @ben1983

                                    Das entspricht nicht der binding Konvention

                                    {x:traccar.0.devices.1.geofence_ids; JSON.parse(x).indexOf(22) !== -1 ? true : false}
                                    

                                    Habe das jetzt blind zusammengetippt.
                                    Falls es nicht funktioniert muss ich das später selbst mal am Rechner ausprobieren

                                    Die Befehle aus dem javascriptadapter wie geState sind so nicht auf vis verfügbar.
                                    Da muss man etwas mehr machen.

                                    Ben1983B Offline
                                    Ben1983B Offline
                                    Ben1983
                                    schrieb am zuletzt editiert von
                                    #17

                                    @oliverio sagte in Beliebigen dp Type mit Javascript direkt auf Bool abfragen:

                                    {x:traccar.0.devices.1.geofence_ids; JSON.parse(x).indexOf(22) !== -1 ? true : false}

                                    OK, der code für bei dem Widged checkbox immer zu true und bei material checkbox immer zu false :-D

                                    OliverIOO 1 Antwort Letzte Antwort
                                    0
                                    • Ben1983B Ben1983

                                      @oliverio sagte in Beliebigen dp Type mit Javascript direkt auf Bool abfragen:

                                      {x:traccar.0.devices.1.geofence_ids; JSON.parse(x).indexOf(22) !== -1 ? true : false}

                                      OK, der code für bei dem Widged checkbox immer zu true und bei material checkbox immer zu false :-D

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

                                      @ben1983

                                      habe mal ausprobiert.
                                      JSON funktioniert in vis wohl nicht.
                                      Das objekt wird falsch zusammen gebaut.

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

                                      Ben1983B 1 Antwort Letzte Antwort
                                      0
                                      • OliverIOO OliverIO

                                        @ben1983

                                        habe mal ausprobiert.
                                        JSON funktioniert in vis wohl nicht.
                                        Das objekt wird falsch zusammen gebaut.

                                        Ben1983B Offline
                                        Ben1983B Offline
                                        Ben1983
                                        schrieb am zuletzt editiert von
                                        #19

                                        @oliverio Schade. so ein Mist

                                        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

                                        782

                                        Online

                                        32.5k

                                        Benutzer

                                        81.7k

                                        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