NEWS
has been written without ack-flag
-
Hallo
Folgendes Problem:
Ich habe auf der CCU3 Systemvariablen angelegt, die mir Werte anzeigen sollen die im iobroker berechnet und geschrieben werden.
Das klappt auch soweit ohne Fehler.
z.B. die Außentemperatur ist über den Datenpunkt "Außentemperatur" (WLAN Wetterstation) verfügbar, wenn die sich ändert, dann schreibt ein Script den Wert in die Systemvariable der CCU ohne Fehler.
Wenn ich das gleiche mit der Pooltemperatur mache, die auch über ein Skript berechnet wird und diese dann in eine Systemvariable der CCU3 schreibe kommt folgende Fehlermeldung im LOG:javascript.0 2023-06-25 11:55:02.691 warn Read-only state "0_userdata.0.Geraetesteuerung.Homematic.Pool.Pooltemperatur" has been written without ack-flag with value "26"
Was ist da nicht korrekt?
Gruß
-
@g-hawk sagte: in eine Systemvariable der CCU3 schreibe kommt folgende Fehlermeldung im LOG:
Unter "0_userdata.0" gibt es keine SV. SV befinden sich unter "hm-rega.0". Eigene Datenpunkte schreibt man mit Ack = true ("aktualisiere"), insbesondere dann, wenn sie "read only" sind.
Ein Datenpunkt (SV), der an die CCU senden soll, darf nicht "read only" sein, denn er muss mit "steuere" gesendet werden. -
@paul53
Hallo die Systemvariablen habe ich auf der CCU angelegt, damit ich die mit Tinymatic auf dem Handy anzeigen lassen kann.
Bei den anderen Datenpunkten funktioniert das ja super nur bei der Pooltemperatur nicht:Die erste Pooltemperatur ist die Systemvariable unter : hm-rega.0.14923 und die zweite ist der Datenpunkt der nur geschrieben wird, wenn die Poolpumpe läuft.
Ach so ich habe jetzt mal eine Haken bei "Writeable" reingemacht.
-
@g-hawk
Die Temperatur kommt aus der CCU und "Pooltemperatur" ist ein eigener Datenpunkt unter "0_userdata.0"? Dann nimm dafür den Block "aktualisiere" anstelle von "steuere". -
@paul53
Die Temperatur kommt aus dem iobroker und soll in die CCU geschrieben werden. -
@g-hawk sagte: Die Temperatur kommt aus dem iobroker und soll in die CCU geschrieben werden.
Versteh ich nicht: Der Trigger-DP "TEMPERATURE" ist typisch für die CCU (hm-rpc).
Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags, damit man die Datenpunkt-IDs sehen kann. -
@g-hawk sagte in has been written without ack-flag:
und soll in die CCU geschrieben werden.
das kannst du nicht mit "normalen" Datenpunkten. Das muss dann eine Systemvariable sein
-
Einfach nicht mit Steuere sondern mit aktualisiere den Datenpunkt beschreiben (wenn unter 0_userdata.0) - dann kommt der Fehler nicht mehr.
-
@mickym sagte in has been written without ack-flag:
Einfach nicht mit Steuere sondern mit aktualisiere den Datenpunkt beschreiben - dann kommt der Fehler nicht mehr.
aber das hilft nichts wenn hm-rega das in die CCU screiben soll.
-
@homoran sagte in has been written without ack-flag:
@mickym sagte in has been written without ack-flag:
Einfach nicht mit Steuere sondern mit aktualisiere den Datenpunkt beschreiben - dann kommt der Fehler nicht mehr.
aber das hilft nichts wenn hm-rega das in die CCU screiben soll.
Ja aber er schreibt ja unter 0_userdata.0 lt. log. Unter dem Homematic Adapter zum Steuern natürlich steuere. Aber das Log moniert 0_userdata.0
-
@mickym jepp.
da gibt's Läuse und Flöhe! -
@homoran
Wenn ich writeable wähle funktioniert die Abrage über Alexa nicht mehr, weil der IOT Adapter denn denkt, es ist ein Heizungssteller und kein Thermostat. -
@g-hawk sagte in has been written without ack-flag:
@homoran
Wenn ich writeable wähle funktioniert die Abrage über Alexa nicht mehr, weil der IOT Adapter denn denkt, es ist ein Heizungssteller und kein Thermostat.Wie gesagt das ACK Flag setzt Du mit aktualiere, ohne ACK Flag ist steuere.
-
@mickym
Ich habe aktualisiere genommen der Fehler kommt aber trotzdem -
@g-hawk Der Fehler liegt ja beim Schreiben unter 0_userdata.0 und nicht woanders. Hat also mit Alexa oder Homematic nichts zu tun. Ich will Dir auch nur sagen, wie Du so einen Fehler behebst - suchen wo Du schreibst musst schon selbst. Ich kann auch keine Skripte durchsuchen - und wie gesagt Blockly hat hier halt Nachteile dass man nicht suchen kann, wo Du in den Datenpunkt schreibst.
-
@mickym
Der Fehler ist weg, wenn ich bei Writeable einen Haken setzte.
Wenn ich das aber tue, dann denkt der IOT Adapter, dass es ein Heizungssteller ist und dann klappt die Abfrage nicht. -
@mickym sagte: Blockly hat hier halt Nachteile dass man nicht suchen kann, wo Du in den Datenpunkt schreibst.
Deshalb sollte @G-Hawk den erzeugten Javascript-Code posten.
-
-
@homoran
Jetzt kann ich nicht mehr sehen, ob die Änderung was gebracht hat, weil das Log komplett leer ist. Also immer wenn ich drauf gehen steht da nichts mehr drin.Neustart