Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Welche Namen haben Eure Sensoren/Aktoren?

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Welche Namen haben Eure Sensoren/Aktoren?

    This topic has been deleted. Only users with topic management privileges can see it.
    • AlexAtHome
      AlexAtHome @wcag22 last edited by

      Ich habe auch jüngst begonnen, den Alias-Manager sukzessive einzusetzen und meine bisher direkt auf die Geräte abzielenden Steuerungen (VIS, Scripte, Alexa...) auf Aliasse umzuziehen.

      Meine Geräte selbst benenne ich neutral, also zB. Schalter_01, LED-Band_02, Steckdose_04...

      Erst im Alias-Manager kommt dann der Einsatzzweck zum Tragen, wie z.B. Steckdose_04 schaltet bei mir eine Lichterkette im Wohnzimmer, daher lautet dann der Alias "Lichterkette_WoZi" und er mappt eben auf die Zigbee-Steckdose_04.

      Wobei ich bei der konkreten Benamung im Alias Manager noch etwas am rumprobieren bin.

      Ich habe eine Baumstruktur nach Einsatzzweck, also zB. "Beleuchtung", "Heizung", "Schalter". Darunter die zugehörigen Aliasse.

      Die Datenpunkte der Geräte sind derzeit historisch gewachsen unterschiedlich benamt. Ältere haben nur im Aliasnamen die sprechende Bezeichnung, der Datenpunkt selbst lautet dann schlicht "state", "available"..., bei neueren Aliassen hat auch der Datenpunkt die sprechende Bezeichnung, also z.B. "Lichterkette State" (ich rede hier vom Datenpunkt selbst, nicht vom separat vergebbaren, leicht änderbaren Namen des Datenpunktes im Alias-Manager).

      Und da bin ich momentan unschlüssig, wie ich das am Besten handhaben möchte, oder ob es schlicht wurscht ist, das nun manche DPs meinem älteren Namens-Schema folgen, und andere dem neueren.

      Auch habe ich noch nicht wirklich kapiert, wie man die Bezeichnung eines DPs im Alias-Manager umbenennt.... über "umbenennen" funzt es jedenfalls nicht wie erwartet, irgendwas übersehe ich da noch.

      1 Reply Last reply Reply Quote 1
      • da_Woody
        da_Woody @wcag22 last edited by

        @pi-ter sagte in Welche Namen haben Eure Sensoren/Aktoren?:

        braucht man denn wirklich ALLE DP?

        NEIN, wie du selbst tippst, die, die du brauchst. ich hab das bei mir so aufgebaut:
        2b1de925-fe39-4ebb-a364-599ac528be8a-grafik.png
        vorteil beim alias manager, fehlt dir später ein DP kannst du den einfach hinzufügen.
        angefangen hab ich damals mit dem script, der alias manager erleitert das leben ungemein.
        einen neuen alias automatisch erstellen, die gewünschten DPs anhaken, fertig.
        eine vernünftige struktur solltest du dir vorher überlegen...
        730fc31e-2a9c-454a-936f-0d57751e40e4-grafik.png

        MartinP wcag22 2 Replies Last reply Reply Quote 1
        • MartinP
          MartinP @da_Woody last edited by MartinP

          @da_woody
          (EDIT: Gerade gelesen, dass ich schon einmal geantwortet habe)
          Bei mir ist es noch nicht zu einem so großen Zoo von Datenpunkten gekommen.
          Deshalb habe ich da noch keine Idee.
          Warum man da aber an zwei Stellen eingreifen sollte, leuchtet mir nicht ein. Wieso eine Steckdose von TASMOTA_12af345 nach Dose01 umbenennen?

          Hinderlich finde ich auch, dass man keine ganzen Gerätebäume aliasen kann, sondern dann jeden Datenpunkt einzeln behandeln.

          Manchmal ist es sicher nicht nötig, mehr als 1...2 Datenpunkte zu behandeln, aber die Wahl zu haben wäre gut..

          da_Woody wcag22 2 Replies Last reply Reply Quote 0
          • da_Woody
            da_Woody @MartinP last edited by

            @martinp versteh ich nicht. beim einrichten eines neuen geräts vergeb ich dem ding schon einen namen.
            im manager dann
            d6002f3f-84ec-4617-aff4-00bd917175a1-grafik.png
            gerät auswählen, versuch zu erstellen, dort dann die gewünschten DP anhaken, den gewünschten alias pfad angeben, erstellen, fertig.

            MartinP 1 Reply Last reply Reply Quote 0
            • wcag22
              wcag22 @da_Woody last edited by

              @da_woody
              Eine Struktur, wie Du sie anwendest, habe ich (noch) nicht. Denn, wie @AlexAtHome schrieb, ist auch bei mir alles historisch gewachsen. Aber die Strukturierung in Wohn- oder Funktionsbereiche ist eine gute Idee.
              Ich stelle jetzt so nach und nach die DP um, was aber - da alles funktioniert und noch recht übersichtlich ist - keine Priorität hat.

              Ausserdem habe ich eine ganze Reihe von saisonalen Messstellen, für die ich jetzt genug Geräte habe, um sie nicht mehr anderswo einsetzen zu müssen.
              Einige der DP / Messtellen hängen auch mit einem veränderten Energie-Abrechnungszeitraum zusammen, in den auch das BKW eingeht.

              Ich denke, mir geht es wie Vielen:
              Zunächst freut man sich, dass erst einmal alles funzt, dann lernt man, stellt fest, dass es Optimierungsbedarf gibt und entwickelt nach und nach die passenden Strukturen. Und das System wächst...
              Auch die Erfahrung, welche Geräte für seinen eigenen Bedarf vorteilhaft oder optimal sind, muss man erst einmal machen.

              Daher an dieser Stelle: Danke für die Hinweise, Tipps und Vorschläge
              Einen schönen Sonntag
              VG Peter

              da_Woody 1 Reply Last reply Reply Quote 0
              • wcag22
                wcag22 @MartinP last edited by

                @martinp sagte in Welche Namen haben Eure Sensoren/Aktoren?:

                Warum man da aber an zwei Stellen eingreifen sollte, leuchtet mir nicht ein. Wieso eine Steckdose von TASMOTA_12af345 nach Dose01 umbenennen?

                Muss man ja nicht machen. 🙂
                Ich vermute aber, dass Jeder so sein eigenes System entwickelt, um mit seinem "Zoo" an Geräten umzugehen.
                Bei einer Fehlersuche würde ich die Dose01 schneller identifizieren können als Tasmota_xxxxxxx.

                Bei mir läuft vieles über die IP der Geräte, die sich auch im Namen des Gerätes zunächst widerspiegelt.
                Im Zusammenhang mit dem alias-DP (Funktion, Ort Messstelle,...) habe ich nun einen Weg gefunden, die Übersicht zu behalten.

                Beispiel:
                Gerätenamen: Refoss-P11_IP-67
                alias DP: Waschmaschine_Verbrauch
                alias ID: sonoff.0.Refoss-P11_IP-67.ENERGY_Total

                Siehe auch die Antwort an @da_Woody

                1 Reply Last reply Reply Quote 0
                • da_Woody
                  da_Woody @wcag22 last edited by

                  @pi-ter das schöne am aliasmanager ist, man kann nach und nach die Struktur ein/umbauen.
                  Sobald du einen alias angepasst hast, visu und eventuell Scripte ändern. Somit hast Zeit. Wenn dann mal alles umgestellt ist, ist das Leben easy.
                  Gerät kaputt, neues einbinden, Alias anpassen, thats it.

                  1 Reply Last reply Reply Quote 0
                  • MartinP
                    MartinP @da_Woody last edited by

                    @da_woody Wenn man z. B. eine Tasmota-Zwischensteckdose an seiner Waschmaschine nutzt, und man möchte sowohl Schalten, als auch aktuellen Leistungsaufnahme und Energieverbrauch "aliasen", muss man drei Aliase einrichten. Aliase gehen nur auf "leaf" Datenpunkte,

                    Für "Sonoff.0.STECKDOSE_1.POWER" kann man ein Alias einrichten.

                    Für "Sonoff.0.STECKDOSE_1" aber nicht. Das wäre aber schön, wenn man eine Steckdose gleichen Typs als Ersatz für ein kaputtgegangenes Exemplar einsetzen will.

                    Da kann man aber dann auch die kaputte Steckdose aus dem Datenbaum entfernen, und die neue Steckdose auf den alten Namen "STECKDOSE_1" umbenennen.
                    Dann müssten bei einer baugleichen Steckdose auch die alten Aliase wieder passen.

                    Bei einer nicht baugleichen Steckdose könnten die "leaf" Datenpunkte im Baum unter "STECKDOSE_1" eh anders benannt sein, und man müsste nacharbeiten ...

                    da_Woody 1 Reply Last reply Reply Quote 0
                    • da_Woody
                      da_Woody @MartinP last edited by

                      @martinp automatisch erstellen
                      b403e9e1-23b8-4097-a8c3-c258645600ef-grafik.png
                      98b3016c-e047-4aa5-b691-36f3420bfa26-grafik.png
                      0852cb2a-a5dc-43e5-bf58-454d0641a5b2-grafik.png
                      runterscrollen!
                      a6bcfa39-01f2-4227-9a5a-041d8d6dc3f8-grafik.png
                      DP anhaken die du willst.
                      66cf4c5e-d868-4cc8-9339-16620355d8a9-grafik.png
                      fertig.
                      testergebniss:
                      ef87559f-3686-4aef-ae05-97b363d52ffe-grafik.png

                      MartinP 1 Reply Last reply Reply Quote 0
                      • MartinP
                        MartinP @da_Woody last edited by

                        @da_woody Naja, das ist man aber von Symlinks bei Linux bequemer gewohnt.
                        Wenn man da auch allen Subdirectories eines Symlinks oder einer gemounteten USB-Festplatte von Hand nachhecheln müsste...

                        Aber da gibt es ja schon gewisse Unterschiede. Wenn man nur an WENIGEN von VIELEN "leaf" Knoten eines Gerätes interessiert ist, kann es sogar eine Arbeitserleichterung und flexibler sein. Z. B. wenn man eine FritzDect Steckdose durch eine Tasmota-Steckdose ersetzen will und nur den Schaltstatus, und den Energieverbrauch braucht.

                        da_Woody 1 Reply Last reply Reply Quote 0
                        • da_Woody
                          da_Woody @MartinP last edited by

                          @martinp das ist aber ein ein völlig anderes Thema.
                          Ich schreib da nur von Alias eines Gerätes.
                          Hat Imho nichts mit Festplatten zu tun.
                          Wenn mir ein Gerät abraucht, ersetzt ein baugleiches das alte.
                          Hab auch schon sp111 gegen Shelly Plug s getauscht. Alias gelöscht, in einer Minute neuen erstellt. Der Pfad ist der selbe, somit alles klaro.

                          MartinP 1 Reply Last reply Reply Quote 0
                          • MartinP
                            MartinP @da_Woody last edited by

                            @da_woody Sagte ich ja, ist nur entfernt vergleichbar - es gibt nicht viele Geräte, die mehr als ein dutzend Datenpunkte in einer Baumstruktur anlegen. Ab da würde ich es mühsam finden, beim "Automatisch erstellen" jeden Punkt einzeln anklicken zu müssen.... Für 2...5 Punkte würde ich mir auch nicht ins Hemd machen 🙂

                            ? 1 Reply Last reply Reply Quote 0
                            • ?
                              A Former User @MartinP last edited by

                              @martinp sagte in Welche Namen haben Eure Sensoren/Aktoren?:

                              beim "Automatisch erstellen"

                              Moin,

                              ich glaube, Ihr redet aneinander vorbei, meine letzten Versuche mit dem Aliasmanager, haben gezeigt, dass es sehr wohl möglich ist, einen ganzen Baum als alias zu nutzen, bei meinem sehr verzweigten wolf-smartset Adapter sah das dann etwas lustig aus, da musste ich dann doch noch Hand anlegen.

                              Dann mal nur um korrekt zu sein Alias ≠ Link.
                              Wenn Du schon UNIX zitierst, dann musst Du auch beim gleichen Bleiben nämlich auch bei den Aliases
                              Unter UNIX ist ein Alias auch nur eine Abkürzung zu einem anderen Befehl, mit vielleicht einigen Parametern, z. B.

                              l='ls -lah'
                              la='ls -lAh'
                              lad='command ls -d .*(/)'
                              lh='command ls -hAl --color=auto -v'
                              ll='ls -lh'
                              llog='sudo journalctl'
                              ls='ls --color=tty'
                              lsa='ls -lah'
                              

                              Also, ich an Deiner Stelle, würde es einfach mal versuchen, wenn es nicht gefällt, dann kann man das ja auch wieder löschen 🙂

                              VG
                              Bernd

                              P.S.: Ich habe einen Alias, Kühlschrank, der über einen Zwischenstecker geschaltet werden kann und über den ich den Verbrauch erfasse, jetzt habe ich ein Zigbee Temperatursensor in den Kühlschrank geklebt, und habe im Alias nun auch die Temperatur, Batterie mit aufgenommen, also ein Alias aus zwei Geräten.

                              MartinP 1 Reply Last reply Reply Quote 0
                              • MartinP
                                MartinP @Guest last edited by MartinP

                                @dp20eic Sehe ich anders der alias bei Linux ist von der Funktion her deutlich unterschiedlicher zum alias bei iobroker, als der symlink von linux zum alias bei iobroker ...

                                ich glaube, Ihr redet aneinander vorbei, meine letzten Versuche mit dem Aliasmanager, haben gezeigt, dass es sehr wohl möglich ist, einen ganzen Baum als alias zu nutzen, bei meinem sehr verzweigten wolf-smartset Adapter sah das dann etwas lustig aus, da musste ich dann doch noch Hand anlegen.

                                7664b506-10d3-40d3-83c6-52e472418653-grafik.png

                                Habe gerade versucht, den ganzen Baum einer Tasmota-Zwischensteckdose in einem Rutsch zu "aliasen" - ging nicht ...

                                Nicht einmal, mehr als einen "Leaf" Datenpunkt auf einmal zu markieren (z. B. mit Shift+Klick) funktioniert ...

                                5b804bf5-77e9-4a5d-a0cc-5998a05a666c-grafik.png

                                ? 1 Reply Last reply Reply Quote 0
                                • ?
                                  A Former User @MartinP last edited by

                                  @martinp sagte in Welche Namen haben Eure Sensoren/Aktoren?:

                                  Habe gerade versucht, den ganzen Baum einer Tasmota-Zwischensteckdose in einem Rutsch zu "aliasen" - ging nicht ...

                                  Moin,

                                  ja, das liegt aber nicht am Alias-Manager, denn bei allen Adaptern, die unter Adapter.0. die Unterordner, sauber als Folder verorten, dann geht das auch mit dem ganzen Baum, das, was Du gezeigt hast, ist Info nicht als Folder als Type, oder man sieht es nicht in dem Ausschnitt.
                                  Mein Wolf-Sartset:
                                  39d6be62-6acf-4688-9a8f-82f19217381f-grafik.png
                                  dbabfd96-d2ba-4094-a056-52c582fbd6d2-grafik.png
                                  944a6058-2107-4903-89b9-6871de26f2d6-grafik.png
                                  61d9f746-1600-4893-ba8c-9aa5b4f9d0e9-grafik.png
                                  4a1e9e7f-c423-4d46-a29c-3d6b60774372-grafik.png
                                  4ce001c9-8f56-49f6-a6fc-fad5595b169e-grafik.png
                                  e6c38620-7885-4b41-aeaf-43165d0cb0fa-grafik.png
                                  ca9346f8-041b-4f0f-94bd-e53b023015e2-grafik.png
                                  bf9f6ba1-0676-4278-b430-937f0237f4db-grafik.png
                                  c75ce291-3f2f-4a9d-aa37-82e5350e9af0-grafik.png
                                  Ich brauche ihn nicht, habe ihn trotzdem anlegen lassen
                                  fd82f4fa-404e-482a-87ff-73d73f023a14-grafik.png
                                  Sobald es beim Type nicht mehr Folder ist, klemmt es, daher lege ich erst eine Aliasordnerstruktur von Hand an und dann kloppe ich da alle DP mit einmal rein.

                                  Und bei Alias vs. Link werden wir keine Freunde 🙂

                                  VG
                                  Bernd

                                  MartinP 1 Reply Last reply Reply Quote 0
                                  • MartinP
                                    MartinP @Guest last edited by

                                    @dp20eic said in Welche Namen haben Eure Sensoren/Aktoren?:

                                    @martinp sagte in Welche Namen haben Eure Sensoren/Aktoren?:

                                    Habe gerade versucht, den ganzen Baum einer Tasmota-Zwischensteckdose in einem Rutsch zu "aliasen" - ging nicht ...

                                    Moin,

                                    ja, das liegt aber nicht am Alias-Manager, denn bei allen Adaptern, die unter Adapter.0. die Unterordner, sauber als Folder verorten, dann geht das auch mit dem ganzen Baum, das, was Du gezeigt hast, ist Info nicht als Folder als Type, oder man sieht es nicht in dem Ausschnitt.

                                    Das scheint aber auch nicht immer zu funktionieren, auch diesen Baum meines selbst programmierten MQTT-Thermostaten kann der AliasManager nicht abgrasen:

                                    3d60c60f-ce86-490d-9a1d-f4079836686c-grafik.png

                                    ? 1 Reply Last reply Reply Quote 0
                                    • ?
                                      A Former User @MartinP last edited by

                                      @martinp sagte in Welche Namen haben Eure Sensoren/Aktoren?:

                                      selbst programmierten MQTT-Thermostaten

                                      Moin,

                                      keine Ahnung, da es ja etwas Selbstgestricktes ist, dazu kann ich mich nicht äußern.

                                      Ich habe es gerade nochmals mit einem anderen Adapter meross versucht, es sind 11 Heizkörperthermostate und ich konnte, wenn ich das Gateway als Ausgangspunkt nehme, alle 11 HKT in ein Alias kippen.

                                      VG
                                      Bernd

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

                                        Hi,

                                        um auf die ursprüngliche frage zurück zu kommen. Durch den Alias-Manager haben sich super Strukturierungsmöglichkeiten ergeben.
                                        Da ich mit "meinem" System sehr zufrieden bin würde ich das mal vorstellen vielleicht hilft es ja jemanden sein eigenes zu entwickeln.
                                        In meinen Skripten arbeite ich nur mit DP aus alias oder 0_userdata.
                                        Durch ein Script habe ich mir einer die gleiche Ordner Struktur unter Alias.0 und 0_userdata erstellen lassen.

                                        "<Etage>/<Raum>/<Gewerk>"

                                        Screenshot 2023-11-14 143150.png

                                        In alias kommen natürlich nur die DP von Geräten wobei ich darauf achte das die DP immer gleich lauten z.b brightness, current oder device_temperature. Unter 0_userdata werden dann zwischen Ergebnisse gespeichert z.b Welchen Dimmwert sollen die Lampen in einem Raum haben.
                                        Wenn man jetzt noch den Name (common.name) sauber setzt ist es möglich in den Scripten nur noch mit selektoren zu arbeiten.
                                        Mit z.b.

                                        let current  = $('state[id=alias.0.*.load_power*]');
                                        

                                        bekommt man eine Liste von alle Geräten die einen verbrauch in Watt haben.
                                        Durch den path ist es dann Möglich sich den Raumnamen zu holen.
                                        So kann man z.b. ein Telegram Menü bauen was alle Geräte verwende die im Alias sind.

                                           current.each(function(id, i) {
                                                var tmp = "aus";
                                                var state_path = id.replace("load_power", "state")
                                                if (getState(state_path).val === true){
                                                    tmp = "an"
                                        
                                                }
                                                output += "\n<b>" + getRoomName(id) + ":</b>\n"
                                                output += getObject(id).common.name + "(" + tmp + ") = " + getState(id).val + "W\n"
                                        
                                                inline_keyboard.push([{ text: getObject(id).common.name + ' Ein', callback_data: main_call+ state_path + ";on" },
                                                        { text: getObject(id).common.name + ' Aus', callback_data: main_call +  state_path+ ";off" }])
                                            })
                                        

                                        Screenshot 2023-11-14 144907.png

                                        Wenn man das bei allen Scripten so machen ist es kein Problem mehr Geräte Hinzuzufügen oder zu entfernen.
                                        Auch brauch man so keine Komplizierte Name weil es egal ist was für ein Bewegungsmelder (Hardware, WIFI, bluetooth oder Totmannschalter 😁 ) Hauptsache es gibt einen DP mit den name "occupancy" der True wird wenn jemand da ist. Und durch die Ordner ist auch klar wo er sich befindet.

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

                                          @ignis-draco Ist die Struktur "von Hand angelegt"? Mussten z. B. die beiden Datenpunkte "room_temperature" und "humidity" (die ja anscheinend aus einem Gerät kommen) separat angelegt werden, oder hast Du das irgendwie automatisiert?

                                          Jetzt wird es Philosophisch: Aber wahrscheinlich ist es prinzipiell nicht möglich, das zu automatisieren - wenn das nämlich ginge, wären die aliase nicht nötig 😉 Wahrscheinlich ist es wirklich am besten, sich da ein möglichst strukturiertes Schema auszudenken, und dann die Datenpunkte von Hand dort in das Schema einzupflegen ...

                                          Probleme sehe ich noch, wenn die Geräte unterschiedliche Einheiten in ihren Datenpunkten verwenden. Die FritzDect Steckdosen schreiben den Verbrauch in kWh in ihren Datenpunkt, Tasmota in Wh ...

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

                                            @MartinP

                                            Ja ich habe die alle per Hand angelegt. Ich kann mir nicht vorstellen wie man das Automatisieren soll.
                                            Als Beispiel ich habe aktuell unterschiedliche Thermostate im Einsatz der DPs zum setzten der Wusch Temperatur sind:

                                            zigbee2mqtt.0.0x1c34f1fffedbb33b.current_heating_setpoint
                                            zigbee2mqtt.0.0x54ef44100074026c.occupied_heating_setpoint
                                            maxcul.0.KEQ0447740.desiredTemperature
                                            

                                            Wie man sieht ist selbst nicht mal bei Zigbee2mqtt die Benennung einheitlich. Ich könnte mir nur vorstellen das man vielleicht einen Wizzard baut der ein die Erstellung erleichter. Aber wie der genau aussieht hängt halt ganz stark von der gewollten Strucktur.

                                            Die Order Struktur habe ich natürlich nicht von Hand angelegt.

                                            
                                            function createStruct()
                                            {
                                                # Wo sollen die Ordner Strukturen erstellt werden ?  
                                                let paths = ["0_userdata.0", "alias.0"]
                                                let floors = new Object()
                                                # Welche Etagen und räume gibt es 
                                                floors["eg"] = ["outdoor","wc","office","kitchen","sleeping_room","living_room","hallway"]
                                                # Es können beliebig viele Etagen und Räume angelegt werden 
                                                #  floors["og"] = ["child_room1", "wc", "hallway", "child_room1"]
                                                
                                                # Welche Funktion soll in jedem Raum angelegt werden. 
                                                let func = ["light", "audio", "clima", "pressend","power","speak", ]
                                                func.sort();
                                            
                                                for(const base of paths){
                                                    if(!existsObject(base)){
                                                        console.log("base not exists!");		
                                                    }else{
                                                        for(const [floor, rooms] of Object.entries(floors)){
                                                            rooms.sort()
                                                            for(const room of rooms){
                                                                var path_tmp = base + "." + floor + "." + room
                                                               // if(!existsObject(path_tmp)){
                                                                    setObject(path_tmp, {
                                                                        type: 'folder',
                                                                        common: {
                                                                            name: room
                                                                        },
                                                                        native: {}
                                                                    });
                                                                //}
                                                                for (const item of func){
                                                                    let path2_tmp = path_tmp + "." + item
                                                                  //  if(!existsObject(path2_tmp)){
                                                                        setObject(path2_tmp, {
                                                                            type: 'folder',
                                                                            common: {
                                                                                name: item
                                                                            },
                                                                            native: {}
                                                                        });                    
                                                                 //   }
                                                                }
                                                            }
                                                        }
                                                    } 
                                                }
                                            
                                               //  ##################### Userdata global ###############
                                                # Welche Ordner sollen dann im 0_userdata.0.global angelegt werden 
                                                let glob = ["radio", "timer", "refuel", "weather", "shopping", "clima"]; 
                                                glob.sort();
                                                if(!existsObject("0_userdata.0.global")){
                                                     setObject("0_userdata.0.global", {
                                                        type: 'folder',
                                                        common: {
                                                            name: "Global"
                                                        },
                                                        native: {}
                                                    });
                                                }
                                                for(const item of glob){
                                                    if(!existsObject("0_userdata.0.global."+item)){
                                                     setObject("0_userdata.0.global."+item, {
                                                        type: 'device',
                                                        common: {
                                                            name: item
                                                        },
                                                        native: {}
                                                    });
                                                    }
                                                }
                                                //  ##################### alias global ###############
                                                # Welche Ordner sollen dann im alias.0.global angelegt werden    
                                                let glob2 = ["audio", "clima"]; 
                                                glob2.sort();
                                                if(!existsObject("alias.0.global")){
                                                     setObject("alias.0.global", {
                                                        type: 'folder',
                                                        common: {
                                                            name: "Global"
                                                        },
                                                        native: {}
                                                    });
                                                }
                                                for(const item of glob2){
                                                    if(!existsObject("alias.0.global."+item)){
                                                     setObject("alias.0.global."+item, {
                                                        type: 'device',
                                                        common: {
                                                            name: item
                                                        },
                                                        native: {}
                                                    });
                                                    }
                                                }
                                            }
                                            
                                            createStruct();
                                            

                                            Ach und die Sachen mit den unterschiedlichen Einheiten solange es man es umrechnen oder übersetzten kann lässt sich das hinbekommen. Z.b. Der device-reminder Adapter gibt bei einem gerät wenn es an ist "in action" raus. Für mich ist an der stelle ein True oder False besser. durch

                                            val === 'in action' ? true : false
                                            

                                            Das ich im "Alias Read-Function" eingetragen habe steht im DP ein true wenn "in action" ist ansonsten ein false.

                                            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

                                            817
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            10
                                            53
                                            2515
                                            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