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. Tipps für Datenpunkt strucktur

NEWS

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    11
    1
    292

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

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    776

Tipps für Datenpunkt strucktur

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
13 Beiträge 4 Kommentatoren 914 Aufrufe 3 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.
  • I Offline
    I Offline
    ignis-draco
    schrieb am zuletzt editiert von
    #1

    Hi,

    beim Umzug des ioBrokers von Pi in eine LXC wollte ich gleich eine saubere Struktur aufbauen. Leider bin ich mir nicht so ganz sicher ob ich alles bedacht habe.
    Aktuell verwende ich sehr viel die Aufzählungen (sowohl Funktion als auch Räume).

    Was ich aus anderen Beiträgen bis jetzt mitgenommen habe das ist :

    • 0_userdata/0 = Variablen/states die ich selber anlege und befülle (z.b. durch JS)
    • alias/0 = Alle verlinkte Geräte z.b. Zigbee lampen usw.

    Was sich von selbst versteht ist das die untere Struktur in beiden Pfaden angelegt werden muss.
    Jetzt sehe ich zwei Möglichkeiten entweder über die Räume oder über die Funktion zu gehen.
    z.B.:

    outdoors/light/
    

    oder

    light/outdoors
    

    da ich ja die Aufzählung "Funktion" habe um schnell alle Lampen zu bekommen [und natürlich auch den Selector].
    Tendiere ich zu einer Raum basierten Struktur.

    Ich hatte jetzt an soetwas gedacht:

    <raum>/<funktion>/<gerät>/<state>
    

    Beispiel:

    living_room/light/floorlamp/brightness
    

    zusätzlich zu den Räumen hätte ich noch ein "global" angelegt in dem ich so etwas wie z.b. die Einkaufsliste untergeordnet hätte (dieses würde aber nur im 0_userdata Bereich liegen).

    Von meinen jetzigen Wissensstand würde ich sagen das diese Struktur relativ sauber ist jedoch gibt es hier ja Menschen die deutlich mehr Erfahrung haben als ich. Spricht etwas dagegen das so zu machen oder gibt andere Möglichkeiten die ich nicht bedacht habe?

    Gruß

    Proxmox [DMAF5] = LXC [Debian 12]
    ioBroker – apt-cacher – Semaphore – NGINX Proxy Manager – gitolite – LMS – tandoor – DokuWiki - paperless-ngx - unifi - mumble - wireguard - heimdall - planka - rustDesk - adguard

    paul53P 1 Antwort Letzte Antwort
    0
    • I ignis-draco

      Hi,

      beim Umzug des ioBrokers von Pi in eine LXC wollte ich gleich eine saubere Struktur aufbauen. Leider bin ich mir nicht so ganz sicher ob ich alles bedacht habe.
      Aktuell verwende ich sehr viel die Aufzählungen (sowohl Funktion als auch Räume).

      Was ich aus anderen Beiträgen bis jetzt mitgenommen habe das ist :

      • 0_userdata/0 = Variablen/states die ich selber anlege und befülle (z.b. durch JS)
      • alias/0 = Alle verlinkte Geräte z.b. Zigbee lampen usw.

      Was sich von selbst versteht ist das die untere Struktur in beiden Pfaden angelegt werden muss.
      Jetzt sehe ich zwei Möglichkeiten entweder über die Räume oder über die Funktion zu gehen.
      z.B.:

      outdoors/light/
      

      oder

      light/outdoors
      

      da ich ja die Aufzählung "Funktion" habe um schnell alle Lampen zu bekommen [und natürlich auch den Selector].
      Tendiere ich zu einer Raum basierten Struktur.

      Ich hatte jetzt an soetwas gedacht:

      <raum>/<funktion>/<gerät>/<state>
      

      Beispiel:

      living_room/light/floorlamp/brightness
      

      zusätzlich zu den Räumen hätte ich noch ein "global" angelegt in dem ich so etwas wie z.b. die Einkaufsliste untergeordnet hätte (dieses würde aber nur im 0_userdata Bereich liegen).

      Von meinen jetzigen Wissensstand würde ich sagen das diese Struktur relativ sauber ist jedoch gibt es hier ja Menschen die deutlich mehr Erfahrung haben als ich. Spricht etwas dagegen das so zu machen oder gibt andere Möglichkeiten die ich nicht bedacht habe?

      Gruß

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

      @ignis-draco sagte: Spricht etwas dagegen das so zu machen ..?

      Nein, die Struktur sieht gut aus. Allerdings dient in ioBroker der Punkt als Strukturtrenner - nicht der Schrägstrich.

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

      1 Antwort Letzte Antwort
      0
      • I Offline
        I Offline
        ignis-draco
        schrieb am zuletzt editiert von
        #3

        @paul53 sagte in Tipps für Datenpunkt strucktur:

        Allerdings dient in ioBroker der Punkt als Strukturtrenner - nicht der Schrägstrich.

        Oh ja stimmt. Der "/" kommt wohl aus Gewohnheit.

        Proxmox [DMAF5] = LXC [Debian 12]
        ioBroker – apt-cacher – Semaphore – NGINX Proxy Manager – gitolite – LMS – tandoor – DokuWiki - paperless-ngx - unifi - mumble - wireguard - heimdall - planka - rustDesk - adguard

        1 Antwort Letzte Antwort
        0
        • I Offline
          I Offline
          ignis-draco
          schrieb am zuletzt editiert von
          #4

          Hi,

          ich habe jetzt angefangen ein script zu schreiben um eine Leere Struktur zu erstellen.
          Jedoch stellt ich mir die Frage wie ich device und channel einsetzten soll.

          Wenn ich mir jetzt folgenden pfad genauer anschaue:

          0_userdata.0.eg.kitchen.light.floorlamp1.brightness
          

          Dann wäre für mich :
          "brightness" =>state
          "floorlamp1" => channel
          "light" => device
          "kitchen" => "Darstellung eines Ordners"
          "eg" => "Darstellung eines Ordners"

          Wichtig wäre mir das ich states auch über das Admin Interface anlegen kann da ich noch nicht weiß was für Variablen ich so benötige.

          In der Doku steht aber zum Device type:
          " Objekt zum Gruppieren eines oder mehrerer Kanäle oder Datenpunkte. Sollte außer dem Adapterinstanz-Namespace kein übergeordnetes Element haben"
          zählt der "Ordner" in diesem Fall nicht als Element ?

          Ansonsten müsste ich ja "kitchen" bzw. "eg" als device anlegen jedoch fehlt mir dann wieder Unterscheidungen im tieferen teil weil nach der Doku man nicht einen Channel im channel oder Device im Device anlegen soll.

          Ich möchtet sehr gerne den gewollten weg gehen damit ich vielleicht ein paar Probleme in Zukunft umgehen kann.

          Gruß

          Proxmox [DMAF5] = LXC [Debian 12]
          ioBroker – apt-cacher – Semaphore – NGINX Proxy Manager – gitolite – LMS – tandoor – DokuWiki - paperless-ngx - unifi - mumble - wireguard - heimdall - planka - rustDesk - adguard

          da_WoodyD paul53P 2 Antworten Letzte Antwort
          0
          • I ignis-draco

            Hi,

            ich habe jetzt angefangen ein script zu schreiben um eine Leere Struktur zu erstellen.
            Jedoch stellt ich mir die Frage wie ich device und channel einsetzten soll.

            Wenn ich mir jetzt folgenden pfad genauer anschaue:

            0_userdata.0.eg.kitchen.light.floorlamp1.brightness
            

            Dann wäre für mich :
            "brightness" =>state
            "floorlamp1" => channel
            "light" => device
            "kitchen" => "Darstellung eines Ordners"
            "eg" => "Darstellung eines Ordners"

            Wichtig wäre mir das ich states auch über das Admin Interface anlegen kann da ich noch nicht weiß was für Variablen ich so benötige.

            In der Doku steht aber zum Device type:
            " Objekt zum Gruppieren eines oder mehrerer Kanäle oder Datenpunkte. Sollte außer dem Adapterinstanz-Namespace kein übergeordnetes Element haben"
            zählt der "Ordner" in diesem Fall nicht als Element ?

            Ansonsten müsste ich ja "kitchen" bzw. "eg" als device anlegen jedoch fehlt mir dann wieder Unterscheidungen im tieferen teil weil nach der Doku man nicht einen Channel im channel oder Device im Device anlegen soll.

            Ich möchtet sehr gerne den gewollten weg gehen damit ich vielleicht ein paar Probleme in Zukunft umgehen kann.

            Gruß

            da_WoodyD Offline
            da_WoodyD Offline
            da_Woody
            Most Active
            schrieb am zuletzt editiert von
            #5

            @ignis-draco sorry, vllt versteh ich dich falsch, aber warum nicht alias-manager als adapter, und die aufzählungen im ioB?

            gruß vom Woody
            HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

            1 Antwort Letzte Antwort
            0
            • I ignis-draco

              Hi,

              ich habe jetzt angefangen ein script zu schreiben um eine Leere Struktur zu erstellen.
              Jedoch stellt ich mir die Frage wie ich device und channel einsetzten soll.

              Wenn ich mir jetzt folgenden pfad genauer anschaue:

              0_userdata.0.eg.kitchen.light.floorlamp1.brightness
              

              Dann wäre für mich :
              "brightness" =>state
              "floorlamp1" => channel
              "light" => device
              "kitchen" => "Darstellung eines Ordners"
              "eg" => "Darstellung eines Ordners"

              Wichtig wäre mir das ich states auch über das Admin Interface anlegen kann da ich noch nicht weiß was für Variablen ich so benötige.

              In der Doku steht aber zum Device type:
              " Objekt zum Gruppieren eines oder mehrerer Kanäle oder Datenpunkte. Sollte außer dem Adapterinstanz-Namespace kein übergeordnetes Element haben"
              zählt der "Ordner" in diesem Fall nicht als Element ?

              Ansonsten müsste ich ja "kitchen" bzw. "eg" als device anlegen jedoch fehlt mir dann wieder Unterscheidungen im tieferen teil weil nach der Doku man nicht einen Channel im channel oder Device im Device anlegen soll.

              Ich möchtet sehr gerne den gewollten weg gehen damit ich vielleicht ein paar Probleme in Zukunft umgehen kann.

              Gruß

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

              @ignis-draco
              Du kannst im Tab "Objekte" device- und channel-Objekte nachträglich erstellen:

              • Selektiere 0_userdata.0
              • Erstelle ein Objekt vom Typ "device" mit dem Namen eg.kitchen.light
              • Selektiere 0_userdata.0.eg.kitchen.light und erstelle ein Objekt vom Typ "channel" mit dem Namen floorlamp1

              Alternativ können die Objekte auch per Skript mittels setObject() erstellt werden. Beispiel:

              const idDev = '0_userdata.0.eg.kitchen.light';
              const nameDev = 'light kitchen eg';
              
              if(!existsObject(idDev)) setObject(idDev, {
                  type: 'device',
                  common: {
                      name: nameDev
                  },
                  native: {}
              });
              

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

              1 Antwort Letzte Antwort
              0
              • I Offline
                I Offline
                ignis-draco
                schrieb am zuletzt editiert von
                #7

                @da_Woody

                ich hatte das so verstanden das man mit dem
                alias-manager z.B. zigbee.0.00158d0003882c5c.brightness -> alias.0.eg.living_room.light.floorlam1.brightness

                setzten lässt damit man den "zigbee.0.00158d0003882c5c" teil los wird falls man mal die Lampe austauschen will.

                Worüber ich mir Gedanken machen ist wenn ich z.B. ein script habe das abhängig vom Sonnenstand, Uhrzeit und Helligkeit im Raum eine brightness berechnet dann würde ich diesen wert unter z.B.
                "0_userdata.0.eg.kitchen.light.floorlamp1.brightness" speichern um damit dann alle lampen in der Küche anzusteuern.
                Ich habe häufiger Variablen die ich zum steuern von Skripten und Geräten nehme.

                ja Theoretisch könnte ich einfach alles in "0_userdata.0" packen jedoch wird dass dann sehr sehr schnell unübersichtlich. Alleine ein 6x brightness (für jeden Raum eins) wird ohne Ordner Struktur nicht nett.

                Proxmox [DMAF5] = LXC [Debian 12]
                ioBroker – apt-cacher – Semaphore – NGINX Proxy Manager – gitolite – LMS – tandoor – DokuWiki - paperless-ngx - unifi - mumble - wireguard - heimdall - planka - rustDesk - adguard

                da_WoodyD 1 Antwort Letzte Antwort
                0
                • I ignis-draco

                  @da_Woody

                  ich hatte das so verstanden das man mit dem
                  alias-manager z.B. zigbee.0.00158d0003882c5c.brightness -> alias.0.eg.living_room.light.floorlam1.brightness

                  setzten lässt damit man den "zigbee.0.00158d0003882c5c" teil los wird falls man mal die Lampe austauschen will.

                  Worüber ich mir Gedanken machen ist wenn ich z.B. ein script habe das abhängig vom Sonnenstand, Uhrzeit und Helligkeit im Raum eine brightness berechnet dann würde ich diesen wert unter z.B.
                  "0_userdata.0.eg.kitchen.light.floorlamp1.brightness" speichern um damit dann alle lampen in der Küche anzusteuern.
                  Ich habe häufiger Variablen die ich zum steuern von Skripten und Geräten nehme.

                  ja Theoretisch könnte ich einfach alles in "0_userdata.0" packen jedoch wird dass dann sehr sehr schnell unübersichtlich. Alleine ein 6x brightness (für jeden Raum eins) wird ohne Ordner Struktur nicht nett.

                  da_WoodyD Offline
                  da_WoodyD Offline
                  da_Woody
                  Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @ignis-draco sagte in Tipps für Datenpunkt strucktur:

                  Gedanken machen ist wenn ich z.B. ein script

                  naja, dafür ist ja der alias-manager da! du tauscht die ID aus, fertig. die kommt im alias ja nicht vor.

                  ja Theoretisch könnte ich einfach alles in "0_userdata.0" packen jedoch wird dass dann sehr sehr schnell unübersichtlich.

                  wenn du dort deine aliase reinstellst? ;) die kannst du ja benennen wie du magst, einfach ein link auf dein gerät. ohne deiner ID.
                  76d72bcc-1ea8-4657-a70e-ba9cfdec11b2-grafik.png

                  gruß vom Woody
                  HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                  1 Antwort Letzte Antwort
                  0
                  • I Offline
                    I Offline
                    ignis-draco
                    schrieb am zuletzt editiert von ignis-draco
                    #9

                    @da_Woody

                    Mir ging es wie gesagt nicht um die alias sondern um die Typ Zuordnung im "0_userdata.0." Bereich. Jedoch sehe ich grade bei dir das du in einem Channel ein Device hast in dem wiederum channels sind. Das war eigentlich der Kern meiner Frage. Das Admin interfrace erlaubt mir nämlich nicht in einem Channel ein Device anzulegen. Und so wie ich die Doku verstehe ist das auch nicht Erlaubt/gewollt.
                    z.B.:

                    Erdgeschoss.Garage.Garagentor.battery
                    

                    Erdegeschoss = channel
                    Garage = device
                    Garagentor = channel
                    battery = state

                    Sorry das ich mich so umständlich ausgedrückt habe.

                    @paul53 Ich hatte so etwas ähnliches hier im forum schon gefunden und auch soweit schon fertig gebaut. Jedoch konnte ich es jetzt etwas vereinfachen dank dir.

                    Gruß

                    Proxmox [DMAF5] = LXC [Debian 12]
                    ioBroker – apt-cacher – Semaphore – NGINX Proxy Manager – gitolite – LMS – tandoor – DokuWiki - paperless-ngx - unifi - mumble - wireguard - heimdall - planka - rustDesk - adguard

                    1 Antwort Letzte Antwort
                    0
                    • I Offline
                      I Offline
                      ignis-draco
                      schrieb am zuletzt editiert von
                      #10

                      Hi,

                      ich habe gerade gesehen das ich auch den typ "folder" verwenden kann

                      0_userdata.0.eg.kitchen.light.floorlamp1.brightness
                      

                      Damit wäre hier
                      "eg", "kitchen" vom type folder
                      "light" wäre vom type devices
                      "floorlamp1" vom type channel
                      "brightness" vom type state

                      Wobei in meinem Kopf die floorlamp1 das devices ist und ich keinen channel hätte in diesem Beispiel.

                      gruß

                      Proxmox [DMAF5] = LXC [Debian 12]
                      ioBroker – apt-cacher – Semaphore – NGINX Proxy Manager – gitolite – LMS – tandoor – DokuWiki - paperless-ngx - unifi - mumble - wireguard - heimdall - planka - rustDesk - adguard

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • I ignis-draco

                        Hi,

                        ich habe gerade gesehen das ich auch den typ "folder" verwenden kann

                        0_userdata.0.eg.kitchen.light.floorlamp1.brightness
                        

                        Damit wäre hier
                        "eg", "kitchen" vom type folder
                        "light" wäre vom type devices
                        "floorlamp1" vom type channel
                        "brightness" vom type state

                        Wobei in meinem Kopf die floorlamp1 das devices ist und ich keinen channel hätte in diesem Beispiel.

                        gruß

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

                        @ignis-draco sagte: auch den typ "folder" verwenden kann

                        Ja, kann man.

                        @ignis-draco sagte in Tipps für Datenpunkt strucktur:

                        die floorlamp1 das devices ist

                        Das sollte man nicht so streng sehen.

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

                        1 Antwort Letzte Antwort
                        0
                        • I Offline
                          I Offline
                          ignis-draco
                          schrieb am zuletzt editiert von
                          #12

                          @paul53 sagte in Tipps für Datenpunkt strucktur:

                          Das sollte man nicht so streng sehen.

                          Meinst du damit das ich es ruhig es so bauen kann wie es in meinem Kopf Sinn macht?
                          Ich habe halt nur etwas bedenken das ich mich in eine Sackgasse manövriere deswegen die Nachfrage.
                          Wie ich das Programmiertechnisch umsetzte ist für mich das kleinere Problem. Ich versuche nur zu verhindern das ich in einem Jahr alles wieder neu machen muss (was natürlich trotzdem passieren kann). Jedoch ist an dieser stelle ein mal mehr drüber nach zu denken einfacher alles später alles noch mal umbauen zu müssen.

                          gruß und danke für eure Hilfe.

                          Proxmox [DMAF5] = LXC [Debian 12]
                          ioBroker – apt-cacher – Semaphore – NGINX Proxy Manager – gitolite – LMS – tandoor – DokuWiki - paperless-ngx - unifi - mumble - wireguard - heimdall - planka - rustDesk - adguard

                          hsteinmeH 1 Antwort Letzte Antwort
                          0
                          • I ignis-draco

                            @paul53 sagte in Tipps für Datenpunkt strucktur:

                            Das sollte man nicht so streng sehen.

                            Meinst du damit das ich es ruhig es so bauen kann wie es in meinem Kopf Sinn macht?
                            Ich habe halt nur etwas bedenken das ich mich in eine Sackgasse manövriere deswegen die Nachfrage.
                            Wie ich das Programmiertechnisch umsetzte ist für mich das kleinere Problem. Ich versuche nur zu verhindern das ich in einem Jahr alles wieder neu machen muss (was natürlich trotzdem passieren kann). Jedoch ist an dieser stelle ein mal mehr drüber nach zu denken einfacher alles später alles noch mal umbauen zu müssen.

                            gruß und danke für eure Hilfe.

                            hsteinmeH Offline
                            hsteinmeH Offline
                            hsteinme
                            schrieb am zuletzt editiert von
                            #13

                            @ignis-draco sagte in Tipps für Datenpunkt strucktur:

                            Meinst du damit das ich es ruhig es so bauen kann wie es in meinem Kopf Sinn macht?

                            Ist die Typisierung device bzw. channel für Deine Anwendung wichtig? Ich selbst verwende bei mir nur state für die letzte Ebene und folder für die darüber liegenden Ebenen.

                            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

                            497

                            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