Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Fenster mit Reeds/Rollo/Raffstore als Gerät repräsentieren

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    1.7k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    706

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    1.2k

Fenster mit Reeds/Rollo/Raffstore als Gerät repräsentieren

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
6 Beiträge 2 Kommentatoren 164 Aufrufe 1 Beobachtet
  • Ä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.
  • H Offline
    H Offline
    hberndt
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich frage mich, wie man am Besten ein Fenster in den ioBroker Konzepten (Objekte / Alias, Aufzählungen, Geräte) darstellt.

    Meine Fenster haben 2 Reed-Kontakte, mit denen "geschlossen", "geöffnet" und "gekippt" auseinander gehalten werden können. Außerdem haben sie ein Rollo bzw einen Raffstore, die Verfahrposition und (bei Raffstores) eine Lamellenposition haben (jeweils Stati und Verfahr-Befehle).

    Alle diese Stati / Befehle sind zugänglich über den openknx Adapter - jeweils Einzelobjekte in verschiedenen Hierarchien (die KNX Gruppenadressen sind nach Funktionen aufgebaut).

    Nun möchte ich diese vielen, in der Hierarchie von openknx.0. verstreuten Objekte besser für Skripte zugänglich machen. Ich möchte Dinge skripten wie

    • Abfrage: Welche Fenster sind noch offen?
    • Abfrage: An welchen Positionen stehen die Rollos?
    • Automatisierung: Wenn es anfängt zu regnen und ein Fenster offen ist,
      fahr das Rollo runter

    Mit dem Skripten selbst komme ich bislang zurecht, aber ich bin unsicher, ob ich die ioBroker Konzepte passend verwende.

    1. Verrechnen der Reed-Kontakte

    Ich möchte in einem einzigen Objekt den Öffnungsstatus eines Fensters ablesen können. Dazu habe ich mir einen "folder" 0_userdata.0.Fenster erzeugt, dort für jedes Fenster ein "device" eingerichtet und ein Objekt "Öffnungsstatus" erzeugt (also z.B. 0_userdata.0.Fenster.Bad.Öffnungsstatus). Objekttyp ist "Zahl", die ich aber als Bitfeld nutze: Via Skript setze ich für jeden der beiden Reed-Kontakte ein Bit (also 0: geschlossen, 1: geöffnet, 3: gekippt).

    Frage: Gibt es auch Objekte mit enum-Typ, so dass ich das nicht eine Zahl als Bitfeld missbrauchen muss? Wäre so etwas passender als Alias anstatt userdata? (aber wenn ich das richtig verstehe, können bei einem Alias nicht 2 Objekte zusammengerechnet werden?)

    Unterstützen Visualisierungen oder Systeme wie Alexa gekippte Fenster? Welche Datentypen erwarten die?

    Sollten diese Objekte "readonly" sein? Das Skript muss sie setzen, aber sonst niemand. Logisch gesehen sind diese Objekte nicht beschreibbar - ich kann kein Fenster schliessen, indem ich das Objekt auf 0 setze. Ist das eine Anwendung für readonly plus ein spezieller Wert im ack-Flag?

    1. Status-Abfragen

    Um die Objekte für Status-Abfragen zu sammeln habe ich "Aufzählungen" definiert. Für "Fenster Status" habe ich Bitfelder aus userdata zusammengesammelt. Für Dachfenster und Haustüren musste kein Kipp-Status verrechnet werden, dafür gibts eigene Aufzählungen, die direkt die Objekte aus openknx sammeln. Gleiches gilt für Rolloposition, Raffstoreposition und Raffstore-Lamellenstellung.

    Wie schaffe ich nun eine Zuordnung zwischen einem Fenster-Öffnungsstatus und dem zugehörigen Rollo?

    Sollte ich neben 0_userdata.0.Fenster.Bad.Öffnungsstatus noch 0_userdata.0.Fenster.Bad.Rollo_Status_Position, 0_userdata.0.Fenster.Bad.Rollo_Position_anfahren etc erzeugen? Diese wären 1:1-Spiegel der jeweiligen Objekte aus openknx - also quasi Aliase, die aber nicht unter alias, sondern unter userdata liegen. Hört sich irgendwie falsch an.

    Oder wäre das ein Anwendungsfall für "Geräte"? Definiert man dann ein Gerät "Fenster" mit den Zuständen "Öffnungsstatus", "Raffstore_Status_Positon", "Raffstore_Status_Lamellenstellung", "Raffstore_Position_anfahren", "Raffstore_Lamellenstellung_anfahren"?

    Wenn ich allerdings ein Gerät "Fenster" erzeuge, bekomme ich als Zustand ein bool'sches "ACTUAL". Das hilft mir nicht wirklich.. Was sind diese "Indikatoren"? Und was die Symbole bei den Gerätetypen? Heisst das, dass diese Typen mit Amazon Alexa oder anderen Smart-Home Anbietern korrespondieren?

    Kann jemand meine Verwirrung aufklären, oder gibt es Doku, wie das mit den Geräten gedacht ist?

    paul53P 1 Antwort Letzte Antwort
    0
    • H hberndt

      Hallo,

      ich frage mich, wie man am Besten ein Fenster in den ioBroker Konzepten (Objekte / Alias, Aufzählungen, Geräte) darstellt.

      Meine Fenster haben 2 Reed-Kontakte, mit denen "geschlossen", "geöffnet" und "gekippt" auseinander gehalten werden können. Außerdem haben sie ein Rollo bzw einen Raffstore, die Verfahrposition und (bei Raffstores) eine Lamellenposition haben (jeweils Stati und Verfahr-Befehle).

      Alle diese Stati / Befehle sind zugänglich über den openknx Adapter - jeweils Einzelobjekte in verschiedenen Hierarchien (die KNX Gruppenadressen sind nach Funktionen aufgebaut).

      Nun möchte ich diese vielen, in der Hierarchie von openknx.0. verstreuten Objekte besser für Skripte zugänglich machen. Ich möchte Dinge skripten wie

      • Abfrage: Welche Fenster sind noch offen?
      • Abfrage: An welchen Positionen stehen die Rollos?
      • Automatisierung: Wenn es anfängt zu regnen und ein Fenster offen ist,
        fahr das Rollo runter

      Mit dem Skripten selbst komme ich bislang zurecht, aber ich bin unsicher, ob ich die ioBroker Konzepte passend verwende.

      1. Verrechnen der Reed-Kontakte

      Ich möchte in einem einzigen Objekt den Öffnungsstatus eines Fensters ablesen können. Dazu habe ich mir einen "folder" 0_userdata.0.Fenster erzeugt, dort für jedes Fenster ein "device" eingerichtet und ein Objekt "Öffnungsstatus" erzeugt (also z.B. 0_userdata.0.Fenster.Bad.Öffnungsstatus). Objekttyp ist "Zahl", die ich aber als Bitfeld nutze: Via Skript setze ich für jeden der beiden Reed-Kontakte ein Bit (also 0: geschlossen, 1: geöffnet, 3: gekippt).

      Frage: Gibt es auch Objekte mit enum-Typ, so dass ich das nicht eine Zahl als Bitfeld missbrauchen muss? Wäre so etwas passender als Alias anstatt userdata? (aber wenn ich das richtig verstehe, können bei einem Alias nicht 2 Objekte zusammengerechnet werden?)

      Unterstützen Visualisierungen oder Systeme wie Alexa gekippte Fenster? Welche Datentypen erwarten die?

      Sollten diese Objekte "readonly" sein? Das Skript muss sie setzen, aber sonst niemand. Logisch gesehen sind diese Objekte nicht beschreibbar - ich kann kein Fenster schliessen, indem ich das Objekt auf 0 setze. Ist das eine Anwendung für readonly plus ein spezieller Wert im ack-Flag?

      1. Status-Abfragen

      Um die Objekte für Status-Abfragen zu sammeln habe ich "Aufzählungen" definiert. Für "Fenster Status" habe ich Bitfelder aus userdata zusammengesammelt. Für Dachfenster und Haustüren musste kein Kipp-Status verrechnet werden, dafür gibts eigene Aufzählungen, die direkt die Objekte aus openknx sammeln. Gleiches gilt für Rolloposition, Raffstoreposition und Raffstore-Lamellenstellung.

      Wie schaffe ich nun eine Zuordnung zwischen einem Fenster-Öffnungsstatus und dem zugehörigen Rollo?

      Sollte ich neben 0_userdata.0.Fenster.Bad.Öffnungsstatus noch 0_userdata.0.Fenster.Bad.Rollo_Status_Position, 0_userdata.0.Fenster.Bad.Rollo_Position_anfahren etc erzeugen? Diese wären 1:1-Spiegel der jeweiligen Objekte aus openknx - also quasi Aliase, die aber nicht unter alias, sondern unter userdata liegen. Hört sich irgendwie falsch an.

      Oder wäre das ein Anwendungsfall für "Geräte"? Definiert man dann ein Gerät "Fenster" mit den Zuständen "Öffnungsstatus", "Raffstore_Status_Positon", "Raffstore_Status_Lamellenstellung", "Raffstore_Position_anfahren", "Raffstore_Lamellenstellung_anfahren"?

      Wenn ich allerdings ein Gerät "Fenster" erzeuge, bekomme ich als Zustand ein bool'sches "ACTUAL". Das hilft mir nicht wirklich.. Was sind diese "Indikatoren"? Und was die Symbole bei den Gerätetypen? Heisst das, dass diese Typen mit Amazon Alexa oder anderen Smart-Home Anbietern korrespondieren?

      Kann jemand meine Verwirrung aufklären, oder gibt es Doku, wie das mit den Geräten gedacht ist?

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @hberndt sagte: Gibt es auch Objekte mit enum-Typ

      Ja, nennt sich Werteliste und hat die Eigenschaft common.states, z.B.

      "states": {
         "0": "geschlossen",
         "1": "gekippt",
         "2": "offen"
      }
      

      @hberndt sagte in Fenster mit Reeds/Rollo/Raffstore als Gerät repräsentieren:

      bekomme ich als Zustand ein bool'sches "ACTUAL".

      Der Adapter "Geräte" macht es zwar für Anfänger einfach, ist aber recht unflexibel. Man kann Alias-DP auch direkt im Tab "Objekte" unter "alias.0" erstellen.

      @hberndt sagte in Fenster mit Reeds/Rollo/Raffstore als Gerät repräsentieren:

      "Raffstore_Status_Positon", ..., "Raffstore_Position_anfahren",

      Kommando und Status lassen sich in einem Alias zusammenführen.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

      H 2 Antworten Letzte Antwort
      0
      • paul53P paul53

        @hberndt sagte: Gibt es auch Objekte mit enum-Typ

        Ja, nennt sich Werteliste und hat die Eigenschaft common.states, z.B.

        "states": {
           "0": "geschlossen",
           "1": "gekippt",
           "2": "offen"
        }
        

        @hberndt sagte in Fenster mit Reeds/Rollo/Raffstore als Gerät repräsentieren:

        bekomme ich als Zustand ein bool'sches "ACTUAL".

        Der Adapter "Geräte" macht es zwar für Anfänger einfach, ist aber recht unflexibel. Man kann Alias-DP auch direkt im Tab "Objekte" unter "alias.0" erstellen.

        @hberndt sagte in Fenster mit Reeds/Rollo/Raffstore als Gerät repräsentieren:

        "Raffstore_Status_Positon", ..., "Raffstore_Position_anfahren",

        Kommando und Status lassen sich in einem Alias zusammenführen.

        H Offline
        H Offline
        hberndt
        schrieb am zuletzt editiert von hberndt
        #3

        @paul53 Vielen Dank für die Hinweise! Ich schau mir die common.states mal an, genauso das Zusammenführen von Status und Kommando in Aliasen.

        Zumindest scheine ich nicht völlig auf dem Holzweg zu sein mit dem Ansatz.

        Ist das dann ein

        "type": "multistate"
        

        und muss ich dann die states direkt im Freitext in den "Objektdaten" schreiben, anstatt in der "COMMON" Maske mit den klickbaren Feldern?

        Ich find leider nur wenig Info zu dem Thema. Kannst du mich auf Doku o.ä. zu den Wertelisten und common.states verweisen?

        paul53P 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @hberndt sagte: Gibt es auch Objekte mit enum-Typ

          Ja, nennt sich Werteliste und hat die Eigenschaft common.states, z.B.

          "states": {
             "0": "geschlossen",
             "1": "gekippt",
             "2": "offen"
          }
          

          @hberndt sagte in Fenster mit Reeds/Rollo/Raffstore als Gerät repräsentieren:

          bekomme ich als Zustand ein bool'sches "ACTUAL".

          Der Adapter "Geräte" macht es zwar für Anfänger einfach, ist aber recht unflexibel. Man kann Alias-DP auch direkt im Tab "Objekte" unter "alias.0" erstellen.

          @hberndt sagte in Fenster mit Reeds/Rollo/Raffstore als Gerät repräsentieren:

          "Raffstore_Status_Positon", ..., "Raffstore_Position_anfahren",

          Kommando und Status lassen sich in einem Alias zusammenführen.

          H Offline
          H Offline
          hberndt
          schrieb am zuletzt editiert von
          #4

          @paul53 Ich glaub, so langsam versteh ich die multistate Typen. Allerdings bekomme ich folgende Warnung für Aufrufe von "setState()" mit einem multistate Ziel:

          You are assigning a number to the state "0_userdata.0.Fenster.Bad.Öffnungsstatus" which expects a multistate. Please fix your code to use a multistate or change the state type to number. This warning might become an error in future versions.
          

          Wie setzt man denn einen multistate in setState()?

          1 Antwort Letzte Antwort
          0
          • H hberndt

            @paul53 Vielen Dank für die Hinweise! Ich schau mir die common.states mal an, genauso das Zusammenführen von Status und Kommando in Aliasen.

            Zumindest scheine ich nicht völlig auf dem Holzweg zu sein mit dem Ansatz.

            Ist das dann ein

            "type": "multistate"
            

            und muss ich dann die states direkt im Freitext in den "Objektdaten" schreiben, anstatt in der "COMMON" Maske mit den klickbaren Feldern?

            Ich find leider nur wenig Info zu dem Thema. Kannst du mich auf Doku o.ä. zu den Wertelisten und common.states verweisen?

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #5

            @hberndt sagte: "type": "multistate"

            Nein,

            "type": "number"
            

            Zum Multistate wird es durch common.states.

            @hberndt sagte in Fenster mit Reeds/Rollo/Raffstore als Gerät repräsentieren:

            muss ich dann die states direkt im Freitext in den "Objektdaten" schreiben

            Ja. Beispiel:

              "common": {
                "name": "Lüfter Modus",
                "role": "level.mode",
                "type": "number",
                "desc": "Manuell erzeugt",
                "states": {
                  "0": "Aus",
                  "1": "Stufe 1",
                  "2": "Stufe 2"
                },
                "min": 0,
                "max": 2,
                "def": 0,
                "read": true,
                "write": true
              },
            

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

            H 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @hberndt sagte: "type": "multistate"

              Nein,

              "type": "number"
              

              Zum Multistate wird es durch common.states.

              @hberndt sagte in Fenster mit Reeds/Rollo/Raffstore als Gerät repräsentieren:

              muss ich dann die states direkt im Freitext in den "Objektdaten" schreiben

              Ja. Beispiel:

                "common": {
                  "name": "Lüfter Modus",
                  "role": "level.mode",
                  "type": "number",
                  "desc": "Manuell erzeugt",
                  "states": {
                    "0": "Aus",
                    "1": "Stufe 1",
                    "2": "Stufe 2"
                  },
                  "min": 0,
                  "max": 2,
                  "def": 0,
                  "read": true,
                  "write": true
                },
              
              H Offline
              H Offline
              hberndt
              schrieb am zuletzt editiert von
              #6

              @paul53 Prima, so sind auch die Warnungen weg. Vielen Dank!

              Da frage ich mich nur, wieso man dann im "COMMON" Tab in der Auswahlmaske als Zustandstyp "multistate" auswählen kann. Mich zumindest hat das auf die falsche Fährte gelockt.

              1 Antwort Letzte Antwort
              0

              Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

              Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

              Mit deinem Input könnte dieser Beitrag noch besser werden 💗

              Registrieren Anmelden
              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

              465

              Online

              32.9k

              Benutzer

              83.0k

              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