Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Tipps für Datenpunkt strucktur

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    Tipps für Datenpunkt strucktur

    This topic has been deleted. Only users with topic management privileges can see it.
    • I
      ignis-draco last edited by

      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_Woody paul53 2 Replies Last reply Reply Quote 0
      • da_Woody
        da_Woody @ignis-draco last edited by

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

        1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @ignis-draco last edited by paul53

          @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: {}
          });
          
          1 Reply Last reply Reply Quote 0
          • I
            ignis-draco last edited by

            @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_Woody 1 Reply Last reply Reply Quote 0
            • da_Woody
              da_Woody @ignis-draco last edited by

              @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

              1 Reply Last reply Reply Quote 0
              • I
                ignis-draco last edited by ignis-draco

                @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ß

                1 Reply Last reply Reply Quote 0
                • I
                  ignis-draco last edited by

                  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ß

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @ignis-draco last edited by

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

                    1 Reply Last reply Reply Quote 0
                    • I
                      ignis-draco last edited by

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

                      hsteinme 1 Reply Last reply Reply Quote 0
                      • hsteinme
                        hsteinme @ignis-draco last edited by

                        @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 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate
                        FAQ Cloud / IOT
                        HowTo: Node.js-Update
                        HowTo: Backup/Restore
                        Downloads
                        BLOG

                        468
                        Online

                        32.1k
                        Users

                        80.7k
                        Topics

                        1.3m
                        Posts

                        4
                        13
                        567
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo