NEWS
Alias ist nicht synchron: Bug oder Verständnisproblem?
-
@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. -
@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!
-
@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. -
@marty56
Der Thread ist 2,5 Jahre alt.Zeigen!
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge -
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....
-
@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 -
@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 ....
Erst nachdem ich den Haken im Alias bei "Writeable" weggemacht hatte, passierte das nicht mehr.
Vielleicht hat @Marty56 da auch beim Haken-Setzen o. Ä. das Problem selbst verursacht...
-
@martinp
Ist doch auch logisch und vollkommen korrekt so? - du mußt beim schreiben natürlich zurück konvertieren. -
@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:
Irgendwie scheint das Iobroker aber nicht zu behagen, in dieser Form ...
Beim Abspeichern hat es erstmal ziemlich heftig im Speicherverbrauch geklappert...
Normalisiert sich aber gerade wieder ...
-
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.
-
@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)