NEWS
iob 3.3.4. Read-only state has been written without ack-flag
-
Seit gestern habe ich vom Backitup-Adapter diese Rückmeldung beim geplanten Backup:
2021-05-01 03:42:20.315 - warn: backitup.0 (3131) Read-only state "backitup.0.output.line" has been written without ack-flag with value "[DEBUG] [mount] - mount successfully completed" 2021-05-01 03:42:20.319 - warn: backitup.0 (3131) Read-only state "backitup.0.output.line" has been written without ack-flag with value "[DEBUG] [mount] - mount successfully completed" 2021-05-01 03:42:20.320 - warn: backitup.0 (3131) Read-only state "backitup.0.output.line" has been written without ack-flag with value "[DEBUG] [mount] - done" 2021-05-01 03:42:20.321 - warn: backitup.0 (3131) Read-only state "backitup.0.output.line" has been written without ack-flag with value "[DEBUG] [mount] - done" 2021-05-01 03:42:23.612 - warn: backitup.0 (3131) Read-only state "backitup.0.output.line" has been written without ack-flag with value "[DEBUG] [iobroker] - host.chet 2428 states saved " [...] Jede einzelne Zeile aus dem log file, hab ich gekürzt... 2021-05-01 03:43:02.450 - warn: backitup.0 (3131) Read-only state "backitup.0.output.line" has been written without ack-flag with value "[DEBUG] [umount] - done" 2021-05-01 03:43:02.589 - warn: backitup.0 (3131) Read-only state "backitup.0.output.line" has been written without ack-flag with value "[EXIT] 0"
Etwas ganz ähnliches habe ich bei einem skript von @Pittini , deswegen glaube ich nicht an eine falsche Einstellung im Adapter sondern irgendwo im js-controller.
2021-05-01 08:22:25.106 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.78328901.info.rssi" has been written without ack-flag with value "-67" 2021-05-01 08:22:25.109 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.lumi.158d0001bb4d1d.info.rssi" has been written without ack-flag with value "0" 2021-05-01 08:22:25.111 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.lumi.158d0001bb5435.info.rssi" has been written without ack-flag with value "0" 2021-05-01 08:22:25.113 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.lumi.158d0001c0ff0a.info.rssi" has been written without ack-flag with value "0" 2021-05-01 08:22:25.115 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.lumi.158d0001c1e912.info.rssi" has been written without ack-flag with value "0" 2021-05-01 08:22:25.116 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.lumi.158d000289ebbe.info.rssi" has been written without ack-flag with value "0" 2021-05-01 08:22:25.118 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.lumi.158d000289edfa.info.rssi" has been written without ack-flag with value "0" 2021-05-01 08:22:25.120 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.lumi.158d0001ad43b1.info.rssi" has been written without ack-flag with value "0" 2021-05-01 08:22:25.125 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.lumi.158d0001dbbcf1.info.rssi" has been written without ack-flag with value "0" 2021-05-01 08:22:25.127 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.lumi.158d000201afb5.info.rssi" has been written without ack-flag with value "0" 2021-05-01 08:22:25.129 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.63722155.info.rssi" has been written without ack-flag with value "-22" 2021-05-01 08:22:25.131 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.74213525.info.rssi" has been written without ack-flag with value "-54" 2021-05-01 08:22:25.133 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.90211825.info.rssi" has been written without ack-flag with value "-67" 2021-05-01 08:22:25.136 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.92202807.info.rssi" has been written without ack-flag with value "-79" 2021-05-01 08:22:25.138 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.blt.3.rauh1qas4400.info.rssi" has been written without ack-flag with value "0" 2021-05-01 08:22:25.140 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.blt.3.raujllfo4000.info.rssi" has been written without ack-flag with value "0" 2021-05-01 08:22:25.141 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.lumi.158d000210a8ce.info.rssi" has been written without ack-flag with value "0" 2021-05-01 08:22:25.143 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.lumi.158d00021126f7.info.rssi" has been written without ack-flag with value "0" 2021-05-01 08:22:25.148 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.lumi.158d0002150d0a.info.rssi" has been written without ack-flag with value "0" 2021-05-01 08:22:25.150 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.lumi.158d0002228321.info.rssi" has been written without ack-flag with value "0" 2021-05-01 08:22:25.158 - info: javascript.0 (8332) script.js.common.nodemi: Init Device# 0 - device="lumi.gateway.v3" 2021-05-01 08:22:25.159 - info: javascript.0 (8332) script.js.common.nodemi: Setting trigger #0 for lumi.gateway.v3 2021-05-01 08:22:25.191 - warn: javascript.0 (8332) Read-only state "javascript.0.MiHomeAll.lumi.158d0002791f32.info.rssi" has been written without ack-flag with value "0"
Soll ich von Hand für die beiden Datenpunkte mal die Schreibrechte anpassen?
js-controller 3.3.4 nodeJS 16.0.0 npm 7.11.2 (weiß ich... (Testsystem))
Edit: Auch mit diesen Versionen bleiben die Meldungen:
js-controller 3.3.4 nodeJS 12.22.1 npm 6.14.12
-
@thomas-braun sagte in iob 3.3.4. Read-only state has been written without ack-flag:
sondern irgendwo im js-controller.
hab noch v3.216, ohne Fehler, weder beim Adapter noch beim Script
-
Das würde ja meine Vermutung erhärten, dass es mit js-controller 3.3.x zutun haben müsste.
-
@thomas-braun sagte: dass es mit js-controller 3.3.x zutun haben müsste.
Ja, aus der changelog.md:
if state is read only and we get ack false -> not allowed
-
Okay, das hatte ich wohl überlesen.
Kann/soll ich in den Datenpunkten was ändern oder muss das im Adapter-Code erfolgen? -
@thomas-braun Ja, der Backitup Adapter muss den Wert mit
ack: true
schreiben wenn es ein read-only state ist. Sprich das Anpassen der Schreibrechte wäre ein Workaround, besser jedoch sollte der Adapter das anpassen. Allerdings nur eine Warnung, es wird nichts verhindert. Sollte also so tun wie vorher. -
@foxriver76
Danke für die Info!Der Backitup-Adapter tut seine Arbeit, ich hatte auch schon ein Issue dort dazu hinterlassen. Ich war aber nicht ganz sicher in welche 'Ecke' das eigentlich gehört.
-
@foxriver76 said in iob 3.3.4. Read-only state has been written without ack-flag:
@thomas-braun Ja, der Backitup Adapter muss den Wert mit
ack: true
schreiben wenn es ein read-only state ist. Sprich das Anpassen der Schreibrechte wäre ein Workaround, besser jedoch sollte der Adapter das anpassen. Allerdings nur eine Warnung, es wird nichts verhindert. Sollte also so tun wie vorher.Das gleiche "Problem" gibt es beim Powerfox Adapter...Wie kann ich denn den Adapter anpassen?
Die Abfrage der Daten sieht bspw. so aus:
if(type == "POWER"){ if(data.hasOwnProperty("Watt")){ var consumption = 0, feedIn = 0; if(data["Watt"] < 0){ feedIn = (data["Watt"] * -1); } else { consumption = data["Watt"]; } adapter.setObjectNotExists(path + '.currentPower', { type: 'state', common: { name: 'current power (W)', type: 'number', role: 'value', unit: "W", read: false, write: false, }, native: {}, }); adapter.setState(path+'.currentPower', data["Watt"]);
Ändert man hier read: auf true, dann läuft er nicht mehr...
-
@joergh sagte in iob 3.3.4. Read-only state has been written without ack-flag:
adapter.setState(path+'.currentPower', data["Watt"]);
adapter.setState(path+'.currentPower', data["Watt"], true);
-
@foxriver76
Danke. Hab es gerade gefunden... -
@joergh Ich habe den Fehler in dem Log für NodeRed:
Read-only state "javascript.0.NodeRed.Zaehlerstand" has been written without ack-flag with value "
An welcher Stelle müsste da was eingestellt werden ?
-
@werner2000x sagte: An welcher Stelle müsste da was eingestellt werden ?
Ändere bei "ioBroker out" Type von "command" in "value".
-
@paul53 sagte in iob 3.3.4. Read-only state has been written without ack-flag:
@werner2000x sagte: An welcher Stelle müsste da was eingestellt werden ?
Ändere bei "ioBroker out" Type von "command" in "value".
Wer sagt denn, dass das was mit NodeRed zu tun hat nur weil es so heißt - das ganze läuft hier unter dem Kontext des Javascript Adapters und würde mich schon wundern, wenn NodeRed da reinschreibt - ausser er hat wirklich so einen Flow. Vielleicht doch lieber "aktualisiere" anstatt "steuere".
-
Ich hatte das selbe Problem und habe es wie folgt gelöst:
In meinem JavaScript war vorher:
//Datenpunkt erstellen wenn nicht vorhanden createState(pfad_javascript + daten[1], { read: true, write: false, name: "Watchdog " + daten[1], type: "boolean", role: " ", def: "false"});
Da ich ja auch Daten schreibe (eh klar) habe ich es wie folgt geändert:
//Datenpunkt erstellen wenn nicht vorhanden createState(pfad_javascript + daten[1], { read: true, write: true, name: "Watchdog " + daten[1], type: "boolean", role: " ", def: "false"});
War irgendwie auch logisch, dass diese Warnung kommen muss.
Vielleicht hilft es ja jemand...
-
@thomas-braun Ich habe seit heute auch die Meldungen in der Log, ich dachte erst das ist nach dem Umzug auf ein neues System passiert. Denke wohl eher weil ich nun alles up2date habe. Bei mir kommt der Fehler auch in Verbindung mit einem Script von @Pittini
Das haut mir so die Log voll, das mein ganzes System in die Knie geht. Was hast du getan, damit das funktioniert.
Read-only state "0_userdata.0.Tuer_Fenster_Ueberwachung.RoomsWithVentWarnings" has been written without ack-flag with value "Bad nicht gelüftet seit: 2 Std. 39 Min.,Büro nicht gelüftet seit: 3 Std. 19 Min.,Esszimmer nicht gelüftet seit: 2 Std. 35 Min.,Haus nicht gelüftet seit: gerade eben,Hof nicht gelüftet seit: gerade eben,Küche nicht gelüftet seit: 3 Std. 16 Min.,Phillip nicht gelüftet seit: 2 Std. 53 Min.,Selina nicht gelüftet seit: 3 Std. 5 Min.,Wohnzimmer nicht gelüftet seit: 3 Std. 19 Min."
Damit wird die Log voll geballert.
-
@d3ltoroxp sagte in iob 3.3.4. Read-only state has been written without ack-flag:
Was hast du getan, damit das funktioniert.
Nix, das wurde Adapterseitig angegangen. Von skripten hab ich keinen Schimmer.
-
@d3ltoroxp sagte in iob 3.3.4. Read-only state has been written without ack-flag:
Damit wird die Log voll geballert.
entweder eine neuere Version des Skripts verwenden, falls es die gibt, oder den DP von read-only auf read/write abändern. ggf alle bei denen die Warnung kommt
-
@fastfoot Vor lauter, ist heute einfach zu viel der Umzug. Ja es gibt eine neuere Version, nun sind die Meldungen weg.
Wo hätte ich denn read write ändern können, am DP selber ?
Hab auch noch ein paar andere Einträge aus anderen Scripten, dort schau ich auch mal obs ne neuere Version gibt, ansonsten muss ich das mal mit dem read write ändern probieren.
-
@d3ltoroxp sagte in iob 3.3.4. Read-only state has been written without ack-flag:
@fastfoot Vor lauter, ist heute einfach zu viel der Umzug. Ja es gibt eine neuere Version, nun sind die Meldungen weg.
Wo hätte ich denn read write ändern können, am DP selber ?
ja, im RAW des DP Objekts. Da ist write auf false gesetzt und im neueren js-controller soll man solche DP nur noch steuern(ack=true), nicht aktualisieren(ack=false).
Hab auch noch ein paar andere Einträge aus anderen Scripten, dort schau ich auch mal obs ne neuere Version gibt, ansonsten muss ich das mal mit dem read write ändern probieren.
das sollte eig. im Adapter bzw. Skript geändert werden, wenn aber nicht möglich mangels Update oder eigenen Kenntnissen dann ist die Änderung des DP ein guter Workaround. Ich habe den Sinn von Read-Only DP eh noch nicht kapiert, zumal ein Beschreiben immer noch möglich ist
-
@fastfoot sagte in iob 3.3.4. Read-only state has been written without ack-flag:
zumal ein Beschreiben immer noch möglich ist
aber nicht manuell in Objekten.
Bin gestern auch endlich umgezogen und habe auch einige solche Meldungen.
bin mir aber gar nicht sicher, dass das alles RO States waren.
@paul53 hatte mich auf die Fährte gebracht, dass in den Skripten "true" statt true stand