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. PIN Abfrage VIS 2

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.6k

PIN Abfrage VIS 2

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
12 Beiträge 2 Kommentatoren 818 Aufrufe 3 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.
  • draexlerD Online
    draexlerD Online
    draexler
    schrieb am zuletzt editiert von
    #3

    @oliverio OK, schonmal danke. Den Pin kann ich tatsächlich ja ohne Bindung machen... Soll ja kein 100% Schutz sein.
    Aber das mit den senden verstehe ich nicht ganz. Geht das jetzt noch mit der VIS-2 oder nicht?

    OliverIOO 1 Antwort Letzte Antwort
    0
    • draexlerD draexler

      @oliverio OK, schonmal danke. Den Pin kann ich tatsächlich ja ohne Bindung machen... Soll ja kein 100% Schutz sein.
      Aber das mit den senden verstehe ich nicht ganz. Geht das jetzt noch mit der VIS-2 oder nicht?

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

      @draexler

      Ich habe nochmal nachgeschaut.
      Nein
      Das vis.conn Objekt in vis2
      Enthält keine emit Funktion mehr

      https://github.com/ioBroker/ioBroker.vis-2/blob/8e394ea96e4dc7ee2ffb578f40dc7b502c4638fe/packages/iobroker.vis-2/src-vis/src/Vis/visEngine.tsx#L1327

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

      draexlerD 1 Antwort Letzte Antwort
      0
      • OliverIOO OliverIO

        @draexler

        Ich habe nochmal nachgeschaut.
        Nein
        Das vis.conn Objekt in vis2
        Enthält keine emit Funktion mehr

        https://github.com/ioBroker/ioBroker.vis-2/blob/8e394ea96e4dc7ee2ffb578f40dc7b502c4638fe/packages/iobroker.vis-2/src-vis/src/Vis/visEngine.tsx#L1327

        draexlerD Online
        draexlerD Online
        draexler
        schrieb am zuletzt editiert von
        #5

        @oliverio Puh, also keine Möglichkeit aus einen Modalen Dialog heraus einen Datenpunkt zu ändern (wenn ich das richtig verstanden habe)

        OliverIOO 1 Antwort Letzte Antwort
        0
        • draexlerD draexler

          @oliverio Puh, also keine Möglichkeit aus einen Modalen Dialog heraus einen Datenpunkt zu ändern (wenn ich das richtig verstanden habe)

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

          @draexler
          Jetzt hast du die Frage geändert.
          Die Ursprungsfrage ging doch um getstate.
          Darum handelte sich auch meine Antwort.

          Einen Wert in einem Datenpunkt setzen funktioniert in vis1 und vis2 mit
          vis.setValue(datenpunkt,wert)

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

          draexlerD 1 Antwort Letzte Antwort
          0
          • OliverIOO OliverIO

            @draexler
            Jetzt hast du die Frage geändert.
            Die Ursprungsfrage ging doch um getstate.
            Darum handelte sich auch meine Antwort.

            Einen Wert in einem Datenpunkt setzen funktioniert in vis1 und vis2 mit
            vis.setValue(datenpunkt,wert)

            draexlerD Online
            draexlerD Online
            draexler
            schrieb am zuletzt editiert von draexler
            #7

            Ups sorry das wollte ich nicht.
            Aber im Grundsatz bleiben beide Probleme bestehen. Ich denke es ist einfach das ganze aufzudröseln.
            Also zuerst mal die Funktion "einen Datenpunkt zu beschreiben"
            Das Skript ist jetzt mal soweit zusammengekürzt das nur noch der Button der den Datenpunkt (zum testen mal ein Licht Datenpunkt damit ich das Ergebnis gleich sehe) setzen soll übrig ist.
            Wie schon gesagt das ganze wird über das Standart Widget "Modalen Dialog" aufgerufen.

            Bildschirmfoto 2025-03-19 um 13.03.13.png

            <div style="text-align: center;">
              <button onclick="setLightState()" style="font-size: 18px; width: 200px;">PIN prüfen</button>
            </div>
            
            <script>
              // Die Funktion wird hier definiert
              function setLightState() {
                // Den Wert des Datenpunkts auf false setzen
                vis.setValue("alias.0.Buero.Licht.Buerolicht.STATE", false);
              }
            </script>
            

            Im Browser Log steht jetzt nachdem ich den Button gedrückt habe:

            ReferenceError: Can't find variable: setLightState!
            
            
            OliverIOO 1 Antwort Letzte Antwort
            0
            • draexlerD draexler

              Ups sorry das wollte ich nicht.
              Aber im Grundsatz bleiben beide Probleme bestehen. Ich denke es ist einfach das ganze aufzudröseln.
              Also zuerst mal die Funktion "einen Datenpunkt zu beschreiben"
              Das Skript ist jetzt mal soweit zusammengekürzt das nur noch der Button der den Datenpunkt (zum testen mal ein Licht Datenpunkt damit ich das Ergebnis gleich sehe) setzen soll übrig ist.
              Wie schon gesagt das ganze wird über das Standart Widget "Modalen Dialog" aufgerufen.

              Bildschirmfoto 2025-03-19 um 13.03.13.png

              <div style="text-align: center;">
                <button onclick="setLightState()" style="font-size: 18px; width: 200px;">PIN prüfen</button>
              </div>
              
              <script>
                // Die Funktion wird hier definiert
                function setLightState() {
                  // Den Wert des Datenpunkts auf false setzen
                  vis.setValue("alias.0.Buero.Licht.Buerolicht.STATE", false);
                }
              </script>
              

              Im Browser Log steht jetzt nachdem ich den Button gedrückt habe:

              ReferenceError: Can't find variable: setLightState!
              
              
              OliverIOO Offline
              OliverIOO Offline
              OliverIO
              schrieb am zuletzt editiert von OliverIO
              #8

              @draexler sagte in PIN Abfrage VIS 2:

                                                                                                                                          <div style="text-align: 
              

              das müsste ich ausprobieren, allerdings ist vis-2 html widget aktuell nicht in der form das es spass macht.
              bspw bleibt der html text nicht korrekt erhalten und kann nicht ordentlich editiert werden.

              theoretisch sollte es funktionieren, allerdings kann es sein, das react das html wegkapselt oder zum zeitpunkt des klicks die funktion nicht erreichbar ist.
              ich habe zwar schon vis-2 widgets gemacht, aber habe selbst keine eigene vis-2 view am laufen.
              alles nur zum testen.

              was du probieren könntest, wäre die funktion setLightState im globalen window Objekt zuzuweisen und dann im onclick auch darauf zu verweisen.

              Also diese Zeile nach der function definition hinzufügen

              window.meineview.setLightState = setLightState;
              

              und dann den button wie folgt

              <button onclick="window.meineview.setLightState()" style="font-size: 18px; width: 200px;">PIN prüfen</button>
              

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

              1 Antwort Letzte Antwort
              0
              • draexlerD Online
                draexlerD Online
                draexler
                schrieb am zuletzt editiert von
                #9

                @oliverio Geht auch nicht :-( Habe jetzt gesehen das es ja das "View in widget" gibt. Vielleicht geht es ja damit? Damit wäre ich ja aus dem Modaldialog raus.

                draexlerD 1 Antwort Letzte Antwort
                0
                • draexlerD draexler

                  @oliverio Geht auch nicht :-( Habe jetzt gesehen das es ja das "View in widget" gibt. Vielleicht geht es ja damit? Damit wäre ich ja aus dem Modaldialog raus.

                  draexlerD Online
                  draexlerD Online
                  draexler
                  schrieb am zuletzt editiert von
                  #10

                  ... wobei wenn ich darüber nachdenke ist das auch nicht die Lösung. Das gute an den Modalen Dialog ist ja das er nur auf den Tablet angezeigt wird auf den geklickt wird. Mit den View in Widget kann ich das ja auch wieder nur zentral steuern und dann würde die Passwortmaske auf jeden Tablet angezeigt werden. Hoffe ich habe da keinen Denkfehler.

                  OliverIOO 1 Antwort Letzte Antwort
                  0
                  • draexlerD draexler

                    ... wobei wenn ich darüber nachdenke ist das auch nicht die Lösung. Das gute an den Modalen Dialog ist ja das er nur auf den Tablet angezeigt wird auf den geklickt wird. Mit den View in Widget kann ich das ja auch wieder nur zentral steuern und dann würde die Passwortmaske auf jeden Tablet angezeigt werden. Hoffe ich habe da keinen Denkfehler.

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

                    @draexler

                    ich verstehe nicht so ganz wo aktuell noch das problem ist.

                    Du benötigst einen PIN und eine Eingabe. Wenn die übereinstimmt, dann setzt du einen Datenpunkt, der dann anderweitig abgefragt wird und irgendwelche views dann anzeigt.

                    dein PIN ist entweder in einem Datenpunkt gespeichert oder direkt in Code hinterlegt

                    wenn der PIN in einem Datenpunkt gespeichert ist, dann am besten mit dem Binding Vorschlag von oben, den PIN in den code holen.
                    Wenn du es etwas sicherer machen willst, kannst du den PIN verschlüsselt speichern und im skript wieder entschlüsseln. eine einfache Verschlüsselungsmethode wäre

                    du hast den pin und einen geheimen text. zeichen für zeichen wird der pin mit einem zeichen aus dem geheimen text dann mit xor umgewandelt. da das eine symetrische verschlüsselung ist, kann man das verschlüsselte mit dem gleichen vorgang wieder entschlüsseln. sicher ist das zwar nicht wirklich, aber um das eigentliche passwort etwas zu verbergen reicht es aus.

                    const word = "password"
                    const key = "secretse"
                    const encrypted = word.split('').map((character, index) =>
                     String.fromCharCode(word.charCodeAt(index) ^ key.charCodeAt(index))).join()
                    

                    Fang erst mal an, den PIN direkt im code zu hinterlegen und die Oberfläche mit der Eingabe oder PIN-touch feld aufzubauen. wenn das dann funktioniert

                    Nachtrag:
                    sehe gerade, das es im folgenden Adapter bereits so etwas vorgefertigt für vis2 gibt
                    https://github.com/ioBroker/ioBroker.vis-2-widgets-material
                    d652f15a-f4e3-46d0-8ec0-e2d5757c496f-image.png

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

                    draexlerD 1 Antwort Letzte Antwort
                    1
                    • OliverIOO OliverIO

                      @draexler

                      ich verstehe nicht so ganz wo aktuell noch das problem ist.

                      Du benötigst einen PIN und eine Eingabe. Wenn die übereinstimmt, dann setzt du einen Datenpunkt, der dann anderweitig abgefragt wird und irgendwelche views dann anzeigt.

                      dein PIN ist entweder in einem Datenpunkt gespeichert oder direkt in Code hinterlegt

                      wenn der PIN in einem Datenpunkt gespeichert ist, dann am besten mit dem Binding Vorschlag von oben, den PIN in den code holen.
                      Wenn du es etwas sicherer machen willst, kannst du den PIN verschlüsselt speichern und im skript wieder entschlüsseln. eine einfache Verschlüsselungsmethode wäre

                      du hast den pin und einen geheimen text. zeichen für zeichen wird der pin mit einem zeichen aus dem geheimen text dann mit xor umgewandelt. da das eine symetrische verschlüsselung ist, kann man das verschlüsselte mit dem gleichen vorgang wieder entschlüsseln. sicher ist das zwar nicht wirklich, aber um das eigentliche passwort etwas zu verbergen reicht es aus.

                      const word = "password"
                      const key = "secretse"
                      const encrypted = word.split('').map((character, index) =>
                       String.fromCharCode(word.charCodeAt(index) ^ key.charCodeAt(index))).join()
                      

                      Fang erst mal an, den PIN direkt im code zu hinterlegen und die Oberfläche mit der Eingabe oder PIN-touch feld aufzubauen. wenn das dann funktioniert

                      Nachtrag:
                      sehe gerade, das es im folgenden Adapter bereits so etwas vorgefertigt für vis2 gibt
                      https://github.com/ioBroker/ioBroker.vis-2-widgets-material
                      d652f15a-f4e3-46d0-8ec0-e2d5757c496f-image.png

                      draexlerD Online
                      draexlerD Online
                      draexler
                      schrieb am zuletzt editiert von
                      #12

                      @oliverio Das habe ich ja schon alles probiert (also das der PIN fest hinterlegt) aber keine Chance wollte einfach nicht. Aber jetzt wo ich sehe das es das Fertig gibt ist ja der Wahnsinn. Machmal sieht man den Wald vor lauter Bäumen nicht. DANKE DIR.

                      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
                      FAQ Cloud / IOT
                      HowTo: Node.js-Update
                      HowTo: Backup/Restore
                      Downloads
                      BLOG

                      556

                      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