NEWS
js-controller 3.3 jetzt im Beta
-
@doerk32 sagte in js-controller 3.3 jetzt im Latest:
/usr/local/bin/node', /usr/local/bin/npm',
NodeJS falsch installiert. In meiner Signatur steht wie man es richtig macht.
Erst wenn das sauber ist lohnt es sich zu schauen warum das JSON kaputt ist. Und wo man eine Kopie herbekommt. -
Beta... da sagst du was. Hatte versehentlich noch den Verwahrungsort Beta. Habe ich wohl vergessen wieder umzustellen. Dachte, ich lade mir stable herunter.
Dann lasse ich alles so, es sind ja nur infos im log. Ansonsten funktioniert ja alles. Oder siehst du das anders?
-
@karel-puhli
Stell den Verwahrort auf Stable um. Dann wächst sich das mit der Zeit (wenn die Versionsnummer aus Stable die jetzige Beta-Versionsnummer überholt) aus. Oder installier die Stable halt jetzt gleich, wenn die Meldungen 'nerven'. -
@foxriver76 sagte in js-controller 3.3 jetzt im Latest:
@foxthefox sagte in js-controller 3.3 jetzt im Latest:
State value to set for "fritzdect.0.DECT_grp5665DB-3A12B8E79.endperiod" has to be type "number" but received type "string"
Bin mir ziemlich sicher, dass da noch der Wurm drin ist bei dir. Das casten als String müsste auf jeden Fall einen String zurückgeben und der controller checkt ja nur mit
typeof
undtypeof String(new Date())
iststring
.Grundsätzlich würde ich allerdings empfehlen für
role: 'date'
common.type: 'number'
zu wählen und das Datum alsnumber
zu speichern. Dies lässt sich in Skripten leichter weiterverarbeiten und Admin stellt es auch korrekt als Timestamp dar, da er dierole
Angabe nutzt.Ich denke es ist auch in ein String umgewandelt, zumindest besagt das der letzte Teil der Fehlermeldung.
Für mich ist nur komisch warum bei type="string" der Checker eine "number" erwartet.Ich stelle es gern auf number um, dann gibt es in den Objekten eine kryptische Millisekunden Angabe und das wars. Ist nicht Anwenderfreundlich, aber löst das Problem höchstwahrscheinlich.
Und es gibt dann GitHub-issues, daß das so nicht bleiben kann.Oder habe ich es falsch verstanden und vis und admin können aus Millisekunden einen lesbaren String erzeugen?
-
@foxthefox bei dem state wo er meckert sagt e tja er möchte Number aber bekommt String deshalb passt da was nicht, weil du laut oben type String in der Definition hast, deshalb meine ich da ist der Wurm drin.
Ja wandelt number automatisch in menschenlesbares Datum um , wenn role date ist.
-
@thomas-braun Danke Dir!
-
@foxthefox sagte in js-controller 3.3 jetzt im Latest:
common: { name: name, type: 'string', read: true, write: false, role: 'date', desc: name },
Also nochmal weil ich es im Post davor evtl. etwas verwirrend vom Handy getippt habe. Hier oben ist deine Objektdefinition die angeblich zum State
fritzdect.0.DECT_grp5665DB-3A12B8E79.endperiod
gehört. Hier wird definiert, dass der Typstring
ist.@foxthefox sagte in js-controller 3.3 jetzt im Latest:
State value to set for "fritzdect.0.DECT_grp5665DB-3A12B8E79.endperiod" has to be type "number" but received type "string"
Hier steht aber, dass das Objekt als Typ
number
definiert wurde, er aber einen String erhalten hat. Also passt die Objektdefinition (die oben in diesem Post) nicht zum Objekt, dessen State hier beschrieben wird. -
@doerk32 Schau mal ob du eine package-lock.json in deinem /opt/iobroker verzeichnis hast ... benenn die mal um bzw move die mal weg. Gehts dann? Aber wenn ja dann hat es das File corrupted ... also Filesystem prüfen!
-
@foxthefox WIe schreibst Du denn das Objekt? setObjectNotExists? Dann wird ja deine neue definition nicht übernommen weil Objekt schon da ist. Objekte bzw Instanz löschen, nach neu Schreiben sollten Sie da sein
-
ich habe im Log diverse Fehlermeldungen, kann mir da jemand weiterhelfen
2021-05-04 13:53:57.006 - [31merror[39m: javascript.0 (664) Error in callback: TypeError: Cannot read property 'common' of null 2021-05-04 13:53:57.006 - [31merror[39m: javascript.0 (664) at script.js.common.Ping:136:74 2021-05-04 13:53:57.006 - [31merror[39m: javascript.0 (664) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:801:29) 2021-05-04 13:53:57.006 - [31merror[39m: javascript.0 (664) at writeHTML (script.js.common.Ping:132:41) 2021-05-04 13:53:57.006 - [31merror[39m: javascript.0 (664) at Object.<anonymous> (script.js.common.Ping:191:2) 2021-05-04 13:53:57.006 - [31merror[39m: javascript.0 (664) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1301:34) 2021-05-04 13:53:57.007 - [31merror[39m: javascript.0 (664) at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:173:10) 2021-05-04 13:53:57.007 - [31merror[39m: javascript.0 (664) at /opt/iobroker/node_modules/node-schedule/lib/schedule.js:552:11 2021-05-04 13:53:57.007 - [31merror[39m: javascript.0 (664) at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:510:7) 2021-05-04 13:53:57.007 - [31merror[39m: javascript.0 (664) at listOnTimeout (internal/timers.js:554:17) 2021-05-04 13:53:57.007 - [31merror[39m: javascript.0 (664) at processTimers (internal/timers.js:497:7)
-
@heinzie Ist entweder was in deinem Skript oder im javascript Adapter. Andere Baustelle. Bitte eigenen Thread oder Issue im Javascript adapter
-
@apollon77
Ich habe jetzt über die Konsole mehrere Updates gemacht die plötztlich erschienen sind.
Hat alles auch geklappt bis auf eine Fehlermeldung:host.ioBroker-Server 2021-05-08 11:19:10.209 error Cannot move /opt/iobroker/iobroker-data/objects.json.new to /opt/iobroker/iobroker-data/objects.json: ENOENT: no such file or directory, stat '/opt/iobroker/iobroker-data/objects.json.new'. Try direct write as fallback
Hast du eine Idee wo ich suchen könnte?
-
@chaot sagte in js-controller 3.3 jetzt im Latest:
Cannot move /opt/iobroker/iobroker-data/objects.json.new to /opt/iobroker/iobroker-data/objects.json: ENOENT: no such file or directory, stat '/opt/iobroker/iobroker-data/objects.json.new'. Try direct write as fallback
Den Fehler hatte ich auch schon:
https://forum.iobroker.net/topic/43325/mini-howto-cannot-find-view-system-for-search-host/96
-
@chaot Kam davor noch eine Error-Meldung?
-
@foxriver76 Nö - Einzig und einsam diese Meldung.
Und auch nur ein einziges mal als ich die Updates gemacht habe. -
@chaot Welcher js-controller? 3.3.8?
-
@chaot mit Updates sind lediglich Adapter her meint oder auch Controller? Mit der aktuellen Version hatten wir gehofft, dass es nicht mehr vorkommt.
-
@foxriver76
@apollon77
Controller Version 3.3.8.
War aber schon vorher auf dieser Version.
Bei den Updates wurden nur Adapter (incl. Admin von 5.0.15 auf 5.0.18) abgearbeitet.
Da es über Nacht mehrere Adapter waren habe ich das bei gestoppten ioBroker über die Konsole ausgeführt. Das schien mir bequemer und schneller. -
@chaot wie hast Du denn die updates gemacht?
- iobroker lief oder nicht?
- nacheinander mit einzelnenbefehlen? massenupdate?
Mehr infos bitte
Und am besten auch das vollständigere Log
-
Das war genau der springende Punkt. Gemäß dem allgemeinen Regeln habe ich ......NotExists" verwendet und klar, damit wird nichts neu angelegt.
Hätte man auch drauf kommen können, aber manchmal steht man auf dem Schlauch.
SUPER. Danke.Gruß
Klaus