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. Login per VIS / Kennwortabfrage

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    377

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

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

Login per VIS / Kennwortabfrage

Geplant Angeheftet Gesperrt Verschoben Visualisierung
1 Beiträge 1 Kommentatoren 330 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.
  • HiltexH Offline
    HiltexH Offline
    Hiltex
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    weil es in der Facebookgruppe gefragt wurde zeige ich hier einmal, wie ich den Login in meiner VIS realisiert habe.

    Bildschirmfoto 2023-05-10 um 16.38.48.png

    Ziel:
    Über eine Passwortabfrage soll realisiert werden, dass bestimmte Elemente für eine unbefugte Bedienung gesperrt werden. Es geht dabei nicht darum, ein super sicheres System herzustellen, sondern unbefugtes Bedienen durch Besucher zu unterbinden.

    Datenpunkte in ioBroker:
    Die Erteilung von Berechtigungen erfolgt über Datenpunkte, die ich in ioBroker angelegt habe:
    0_userdata.0.Visualisierung.Berechtigungen.countdown (Typ String / Zeichenkette)
    0_userdata.0.Visualisierung.Berechtigungen.hint (Typ String / Zeichenkette)
    0_userdata.0.Visualisierung.Berechtigungen.isAdmin (Typ Boolean / Logikwert)
    0_userdata.0.Visualisierung.Berechtigungen.pinInput (Typ Number / Zahl)

    Umsetzung in VIS:
    Ich habe eine View erstellt, über die die Eingabe realisiert wird. Die Eingabetasten sind vom Typ jqui - Button State und schreiben ihren Zahlenwert, bzw. das hinterlegte Zeichen in den Datenpunkt 0_userdata.0.Visualisierung.Berechtigungen.pinInput.

    Bildschirmfoto 2023-05-10 um 16.28.41.png

    Das Anzeigefeld ist vom Typ basic - String und zeigt den Inhalt des States 0_userdata.0.Visualisierung.Berechtigungen.hint an.

    Der Login-Button oben rechts im Eingangsbild ist vom Typ jqui - container - Button - view in jqui Dialog und ruft die View mit den Eingabetasten in einem Popup-Fenster auf.

    Die zu sperrenden Elemente erhalten im Feld CSS Klasse den (zusätzlichen) Eintrag vis-user-disabled, der bereits Bestandteil von VIS ist und die Bedienung des jeweiligen Elementes verhindert. Da dieser Eintrag dynamisch gesetzt werden soll, abhängig davon, ob man eingeloggt ist, oder nicht, sieht der Gesamteintrag so aus:
    {w:0_userdata.0.Visualisierung.Berechtigungen.isAdmin; w == "false" ? "vis-user-disabled" : ""}

    Bildschirmfoto 2023-05-10 um 16.42.24.png
    Hinweis: Es handelt sich dabei um eine Standard-Funktion, mit der man auch Farben dynamisieren kann. Das Funktioniert bei CSS-Klassen genauso.

    Steuerscript:
    Gesteuert wird das ganze über ein Script in ioBroker. Das funktioniert im Prinzip so:

    1. Bei Neustart des Scripts, der Javascript-Instanz oder ioBroker wird ausgeloggt
    2. Das Script nimmt die Eingabewerte aus dem Datenpunkt 0_userdata.0.Visualisierung.Berechtigungen.pinInput entgegen und und schreibt zur visuellen Bestätigung einen Punkt in den State 0_userdata.0.Visualisierung.Berechtigungen.hint.
    3. Wenn 4 Zeichen eingegeben wurden wird geprüft, ob die Eingabe dem fest im Script hinterlegten Wert entspricht. Der State 0_userdata.0.Visualisierung.Berechtigungen.isAdmin wird auf true gesetzt und es erfolgt wieder eine visuelle Bestätigung.
    4. Zeitgleich wird ein Timeout gesetzt, das nach 5 Minuten den State isAdmin auf false setzt.
    5. Der Countdown wird sekündlich neu berechnet und im State 0_userdata.0.Visualisierung.Berechtigungen.countdown angezeigt

    Bildschirmfoto 2023-05-10 um 16.52.45.png

    (Blockly-Export am Ende des Beitrags)

    Optionales:
    Man kann den State 0_userdata.0.Visualisierung.Berechtigungen.isAdmin natürlich auch dafür verwenden, den Login-Button bei true auszublenden und den Logout-Button, sowie den Countdown einzublenden.

    Erfahrungen:
    Eigentlich ist die Umsetzung ziemlich billig, aber sie reicht meines Erachtens nach vollkommen aus, zumindest für meine Zwecke. Was ich etwas schade finde ist, dass es ganze etwas träge bei der Eingabe ist. Wenn man die Zahlen zu schnell eintippt, dann kann sich das ganze durchaus auch mal verschlucken und man hat plötzlich nur 3 oder sogar 5 Zahlen eingegeben.

    Export des Blockly-Scriptes:
    blockly_berechtigungen.txt
    (Neues Blockly-Script anlegen und oben rechts auf Blöcke importieren klicken)

    Blog: indibit.de

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


    Support us

    ioBroker
    Community Adapters
    Donate

    305

    Online

    32.7k

    Benutzer

    82.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