Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Alias ist nicht synchron: Bug oder Verständnisproblem?

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Alias ist nicht synchron: Bug oder Verständnisproblem?

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Schlammschlumpf last edited by

      Hallo,
      eigentlich dachte ich, dass es dauerhaft eine gute Idee wäre, wenn ich alles auf Aliase umstelle. Aber offenbar fehlt mir noch ein grundlegendes Hintergrundwissen zu dem Thema, denn ich stoße hier immer wieder auf Probleme, die ich nicht verstehe:

      Ich habe diesen Alias mittels dem Alias-Manager angelegt:

      {
        "from": "system.adapter.admin.0",
        "user": "system.user.admin",
        "ts": 1622562309276,
        "common": {
          "name": "DR_Garagentor_Sensor.STATE",
          "role": "sensor.window",
          "type": "boolean",
          "read": true,
          "write": false,
          "alias": {
            "id": "hm-rpc.0.PEQ0478659.1.STATE"
          }
        },
        "native": {},
        "acl": {
          "object": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator",
          "state": 1636
        },
        "_id": "alias.0.Vorgarten.Garagentor.Sensor.STATE",
        "type": "state"
      }
      

      Dieser hat den folgenden Status (true und unbestätigt):

      Status_Aliase.png

      Der zugehörige Original-State ist aber false und bestätigt:
      Status_Original.png

      Meine Erwartung an einen Alias wäre, dass egal was ich anstelle (ob der Homematic-Sensor seinen Wert ändert oder ich vielleicht fehlerhafter Weise auf den Alias des Sensors einwirke), dass dieser stets synchron bleibt. Kann mir jemand erklären, wie ein Alias im Hintergrund funktioniert, so dass ich mir das Verhalten besser erklären kann?

      Besten Dank,
      Oliver

      paul53 foxriver76 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @Schlammschlumpf last edited by paul53

        @schlammschlumpf
        Das Problem kann im Admin-Adapter bestehen. Um dies zu testen, überprüfe den Alias mittels eines Test-Skripts:

        var state = getState('alias.0.Vorgarten.Garagentor.Sensor.STATE');
        log('Alias Wert: ' + state.val + ', bestätigt: ' + state.ack);
        

        Vorher die Javascript-Instanz neu starten. Wurde die Admin-Instanz nach dem Erstellen des Alias mal neu gestartet?

        1 Reply Last reply Reply Quote 0
        • foxriver76
          foxriver76 Developer @Schlammschlumpf last edited by foxriver76

          @schlammschlumpf Es gibt aktuell noch ein Bug, welcher für falsche Anzeigen im Admin sorgt, sollte mit Controller 3.3.12 comming soon behoben sein, allerdings sollte alles mit getState etc korrekte Werte liefern, nur die Methode get[Foreign]States hat den Fehler und diese wird im Admin beim Laden der Seite genutzt.

          S 1 Reply Last reply Reply Quote 0
          • S
            Schlammschlumpf @foxriver76 last edited by

            @foxriver76 @paul53
            Danke für Euere Antworten. Ich glaube, dass getstate auch falsch war, da ich auf das Problem gestoßen bin, als mein Blockly-Script sich nicht wie erwartend verhielt. Im Augenblick sind die beiden Datenpunkte synchron. Denke, dass die Lösung war, dass ich den js-controller neu gestartet habe. Kann es sein, dass ich den nach der Anlage eines neuen Alias stets einmal unter Hosts den js-controller durchstarten muss? Oder ist da kein Zusammenhang und es war eher Zufall?

            Ich danke Euch herzlichst!

            M 1 Reply Last reply Reply Quote 0
            • M
              Marty56 @Schlammschlumpf last edited by

              @schlammschlumpf
              Ich habe den Bug immer noch.
              Er passiert, wenn z.B. iobroker mal nicht läuft, aber in der CCU ein Statewechsel vorhanden ist.

              Codierknecht MartinP 2 Replies Last reply Reply Quote 0
              • Codierknecht
                Codierknecht Developer Most Active @Marty56 last edited by

                @marty56
                Der Thread ist 2,5 Jahre alt.

                Zeigen!
                https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge

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

                  Mir scheinen die Aliase ja ein ganz schönes Minenfeld von Problemen zu sein.

                  Konvertier-Funktionen schreiben zurück in den verknüpften Datenpunkt, wenn man nicht aufpasst usw...

                  ... wenn z.B. iobroker mal nicht läuft, aber in der CCU ein Statewechsel vorhanden ist.

                  Aber, wenn ein Alias erst sicher wieder mit seinem verknüpften Datenpunkt synchron ist, wenn der Datenpunkt nach dem Iobroker-Neustart erstmalig aktualisiert wurde, wäre das bestimmt schon vielen Leuten aufgefallen....

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

                    @martinp sorry aber hä 😉
                    ein alias ist eine Konvertierungsfunktion und ist selbst zustandslos. Wenn du einen alias anfragst heißt das frage den DP ab der verlinkt ist und jage ihn durch die konvertierungsfunktion. Beim schreiben selbiges. Somit ist er immer 100 % synchron weil er immer den State als Basis nutzt. Wenn ein Adapter wie Admin irgendwelche Probleme in der Aktualisierung der Anzeige bestimmter DPs hat dann da issue machen, wäre mir allerdings aktuell nicht bekannt

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

                      @foxriver76 Ich hatte das mal probiert, und einem MQTT-Thermometer ein Alias in einem Raum gegeben, und wollte dem Celsius-Wert auf dem Weg in das Alias eine Konvertierung auf Kelvin verpassen - plötzlich stand im Original-Datenpunkt auch statt einer 20 eine 293 ....

                      9fa2a39b-3e6f-46e2-9f64-dab19ef1161b-grafik.png

                      Erst nachdem ich den Haken im Alias bei "Writeable" weggemacht hatte, passierte das nicht mehr.

                      50508979-9762-4e72-b062-fcbff9e16137-grafik.png

                      Vielleicht hat @Marty56 da auch beim Haken-Setzen o. Ä. das Problem selbst verursacht...

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

                        @martinp
                        Ist doch auch logisch und vollkommen korrekt so? - du mußt beim schreiben natürlich zurück konvertieren.

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

                          @ticaki Auch damit hatte ich es probiert - ohne Erfolg (wie ich damals dachte). Erst der weggenommene Writeable Haken hat die Rückwirkung beendet ...
                          Weil die Messwerte des Sensors für das Stellventil des Heizkörpers verwendet werden, habe ich die Experimente aber schnell abgebrochen ...

                          Auf Deine Anregung hin habe ich es aber noch einmal probiert, und Du hast Recht, auch so gibt es die unerwünschte Rückwirkung nicht wenn ich den writeable Haken setze:

                          f2396d79-0f72-4b29-9feb-5b34afdd7cb7-grafik.png

                          Irgendwie scheint das Iobroker aber nicht zu behagen, in dieser Form ...

                          Beim Abspeichern hat es erstmal ziemlich heftig im Speicherverbrauch geklappert...
                          8887838a-1966-4563-915f-01880ba8e9ba-grafik.png

                          Normalisiert sich aber gerade wieder ...

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

                            @martinp

                            Ich wollte dich nur auf den "Gedankenfehler" hinweisen, bei einem Lesestate wie Temperatur macht es keinen Sinn was zurück zu schreiben. 🙂

                            EDIT und wenn da was mit dem Alias arbeitet und zurückschreibt, kanns auch ein ping-pong wegen rundungsunterschieden geben.

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

                              @ticaki said in Alias ist nicht synchron: Bug oder Verständnisproblem?:

                              EDIT und wenn da was mit dem Alias arbeitet und zurückschreibt, kanns auch ein ping-pong wegen rundungsunterschieden geben.

                              Das ist ein sehr schöner Hinweis .. Von da her ist es wahrscheinlich wirklich sehr empfehlenswert im Alias-Tree in den Einstellungen der einzelnen Endknoten alles wegzuklicken, was nicht gebraucht wird ...
                              Bei Aliasen, die nur gelesen werden sollen, den Schreib-Haken weg, und bei denen, die geschrieben werden sollten den Lese-Haken (? wobei ich da nicht sicher bin)

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              512
                              Online

                              31.6k
                              Users

                              79.4k
                              Topics

                              1.3m
                              Posts

                              7
                              13
                              443
                              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