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.
    • 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
                                • MartinP
                                  MartinP last edited by

                                  @ignis-draco Das Feature mit der meiner Meinung nach größten Sexyness wird als gegeben vorausgesetzt - dass man in den Aliasen auch Umrechnungsfunktionen ausführen lassen kann ist ja eigentlich ein sehr hilfreiches Feature. Sozusagen Hilfe bei Navigation, Organisation und Transformation 😉

                                  Alleine deshalb werde ich mich da wohl doch mal etwas genauer einlesen.
                                  Die Frage ist, wann man mit dem Nutzen von Aliasen anfängt.
                                  Ich habe nur meinen Heizkörperthermostaten und 4...5 Zwischenstecker. Dazu noch einen Smartmeter-Lesekopf, und ein Auslesescript für Fritzbox-Daten...

                                  Aber vielleicht ist es nicht gut, zu warten bis der Leidensdruck zu groß wird ...

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

                                    @MartinP

                                    Ich würde sagen, es kommt darauf an, was man selbst baut.
                                    Wenn man nur fertige Adapter nimmt und diese an Geräte (z.B. heatingcontrol) anschließt, dann macht es das Ganze nur übersichtlicher, mehr aber auch nicht. Wenn man aber selbst Scripte schreibt (oder Blockly) dann würde ich sofort damit anfangen. Die ersten Scripte von mir sind entstanden als es noch keine Aliase gab. Da habe ich teilweise mit Whitespaces und festen Pfaden gearbeitet. Wenn ich ein neues Gerät hatte oder ein Gerät geändert habe musste ich das an 4-5 Stellen anpassen. Da hätte ich schon beim zweiten Gerät von der Struktur profitiert. Nicht ohne Grund habe ich alle Skripte so überarbeitet, dass ich nur noch mit einem Selektor auf die Geräte zugreife. Wenn ich jetzt eine neue Lampe kaufe, binde ich die z.B. per Zigbee ein, lege den Alias an und schon ist die Lampe zeitgesteuert gedimmt und per Telegramm steuerbar ohne das ich auch nur eine Zeile im Quellcode ändern muss.
                                    Also wenn man vorhat selbst Skripte zu bauen (was meiner Meinung nach der Hauptgrund ist ioBroker zu verwenden) dann sollte man gleich am ersten Tag damit anfangen um keine Altlasten aufzubauen.

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

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

                                      Die Frage ist, wann man mit dem Nutzen von Aliasen anfängt.

                                      IMHO gleich von anfang an!
                                      kann mich noch gut erinnern, wie wir damals zu zweit 2 tage gesessen sind und für jeden alias, damals noch über das script, jeden alias manuell angelegt haben. ein vertipper, nochmal. frustrierend... 😞
                                      mit dem aliasmanager ist das leben schon einfacher geworden...

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

                                        @da_woody Habe erste Versuche gemacht, mit den "Konvertierungsfunktionen"...

                                        Habe "mqtt.0.thermostat.sensors.raum.temperature" meines Thermostaten ge-aliast und EIGENTLICH die Temperatur. die im Alias angezeigt wird als Fingerübung von °C in Kelvin konvertieren lassen ...

                                        4c0963db-e882-41b7-ae51-5be883b3ff6d-grafik.png

                                        Plötzlich sah der Grafana-Graph des Thermostaten etwas komisch aus (Wohlgemerkt aus dem original-datenpunkt gespeist mqtt.0.thermostat.sensors.raum.temperature) ...

                                        e7ccb8c4-7a33-4b42-911c-1f95d9e5c083-grafik.png

                                        Da muss ich mich wohl noch einmal damit beschäftigen, wie der reale Datenpunkt und sein Alias miteinander interagieren ...

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

                                          So richtig wird dieser Alias-Adapter wohl nicht mein Freund - meine Celsius<->Fahrenheit Kelvin Experimente haben den ioBroker LXC-Container in 100% CPU und Speicher getrieben ...
                                          Mal schauen, wie ich aus der Nummer wieder herauskomme ...

                                          NACHTRAG - Reboot des LXC-Containers und dann habe ich erstmal meine Alias-Basteleien wieder gelöscht, bevor sie noch Unheil anrichten...

                                          NACHTRAG 2 - ich bin mir völlig im Unklaren, warum der Alias-Datenpunkt solche Rückwirkungen auf den ioBroker haben kann. Selbst die Konsole des LXC-Containers ließ sich nicht mehr bedienen... Von da her gibt es überhaupt keine Infos, welche Prozesse da Amok gelaufen sind.

                                          Eigentlich braucht man für die Nutzung ja drei Arten von Aliasen:

                                          1. Lesen eines Messwertes aus einem realen Datenpunkt
                                          2. Schreiben eines Messwertes in einen realen Datenpunkt
                                          3. Beides , z. B. wenn man den Schaltzustand einer Steckdose über ein Alias schreiben und auch auslesen will...

                                          Würde wirklich gerne wissen, wie es zu diesem Amoklauf gekommen ist, und in welcher Weise da das Nutzen einer Umrechnungsfunktion für beide Richtungen eine Rolle gespielt hat. Die Rückwirkung der Umrechnung im Alias-Datenpunkt auf den Original-Datenpunkt finde ich auch sehr irritierend....

                                          Legt der Alias-Adapter womöglich gar keine "Schatten" Datenpunkte an, sondern arbeitet sich irgendwie an den verknüpften Original-Datenpunkten ab?

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

                                            @MartinP

                                            Kann es sein das du eine Endlosschleife gebaut hast ?

                                            1. gerät schreibt in "mqtt.0.thermostat.sensors.raum.temperature"
                                            2. "mqtt.0.thermostat.sensors.raum.temperature" hat einen neuen Wert
                                            3. der umgewandelt wird
                                            4. der neue Wert wir in z.b "alias.0.dev.local_temp_kelvin" geschrieben.
                                            5. es gibt einen neuen Wert in "alias.0.dev.local_temp_kelvin"
                                            6. Dieser Wert wird umgewandelt
                                            7. der neue wert wird nach "mqtt.0.thermostat.sensors.raum.temperature" geschrieben
                                            8. "mqtt.0.thermostat.sensors.raum.temperature" hat einen neuen Wert und es geht mit 3 wieder los.

                                            Lass mal die write Funktion weg. Bei mir läuft das in einem LXC mit nur read seit heute morgen 6 Uhr ohne Probleme.

                                            Ich finde es übrigen sehr komisch das du eine DP sowohl lesend als auch schreibend verwendest.
                                            Normaler weiße hat gibt es doch immer eine set und eine current oder so.

                                            P.S. An die die sich besser damit auskennen könnte es sein das bei dem schreiben von
                                            "mqtt.0.thermostat.sensors.raum.temperature" nach "alias.0.dev.local_temp_kelvin" das ack auf True gesetzt werden muss?

                                            MartinP 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

                                            401
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

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