NEWS
js-controller 3.3 jetzt im Beta
-
@knallix sagte in js-controller 3.3 jetzt im Latest:
Hatte erst gedacht das es vielleicht am Update liegt
Klar liegt das 'am Update'. Der js-controller ist jetzt etwas strenger was die types angeht. Da sind jetzt ganz viele Adapter von betroffen. Deswegen ja auch die Issues bei den einzelnen Adaptern, das muss dann dort im Code angepasst werden.
-
Eine notlösung ist ein Downgrade auf js-controller@3.2.16 ist halt ein aspirin.
-
@stratos-gkrekidis
Naja, ist keine Notlösung oder Aspirin sondern die vorgesehene stable-Version, wenn man kein Beta-Testing betreiben kann und/oder will.
Und auch die entsprechenden Informationen zu den Beta-Versionen nicht lesen will. -
@apollon77 sagte: if it's a number we perform additional checks for min and max
Dies hatte ich schon vor langer Zeit angeregt, wurde von @Bluefox aber nur im Javascript-Adapter umgesetzt. Wenn jetzt der js-controller die Prüfungen macht, kann man sie aus dem Javascript-Adapter wieder entfernen. Unterschied: Javascript gibt keine Warnung aus, sondern begrenzt den Wert zwischen min und max.
adapter.js, ab Zeile 1756:
if (!(obj.common.type === 'mixed' || obj.common.type === typeof state.val || obj.common.type === 'array' && typeof state.val === 'string' || obj.common.type === 'json' && typeof state.val === 'string' || obj.common.type === 'file' && typeof state.val === 'string' || obj.common.type === 'object' && typeof state.val === 'string')
ist nicht korrekt.
obj.common.type === 'array' && typeof state.val === 'object' || // typeof Array ist object
typeof state.val sollte bei "object" kein "string" sein.
-
@stratos-gkrekidis leider geht bei mir auch der Downgrade nicht =(, habs installiert, zeigt mir via Shell auch an das 3.2.16 ist,aber im Interface immernoch 3.3.2, hab leider kein bock auf die Fehlermeldungen im log..
gibts ne andere lösung? Im log steht als resultat wenn ich " npm install iobroker.js-controller@3.2.16
> iobroker.js-controller@3.2.16 preinstall /home/pi/node_modules/iobroker.js-controller > node lib/preinstallCheck.js NPM version: 6.14.12 > iobroker.js-controller@3.2.16 install /home/pi/node_modules/iobroker.js-controller > node iobroker.js setup first object _design/system updated npm WARN saveError ENOENT: no such file or directory, open '/home/pi/package.json' npm WARN enoent ENOENT: no such file or directory, open '/home/pi/package.json' npm WARN pi No description npm WARN pi No repository field. npm WARN pi No README data npm WARN pi No license field. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) + iobroker.js-controller@3.2.16 updated 1 package and audited 930 packages in 18.746s 16 packages are looking for funding run `npm fund` for details found 3 high severity vulnerabilities run `npm audit fix` to fix them, or `npm audit` for details
-
@fredf Den kenne wir schon und sind dran, jetzt aber erstmal Family Time sonst krieg ich ärger 3.3.3 kommt heute Abend noch
-
@paul53 Der Controller wird jetzt warnen, in einer Späteren version das "set" ablehnen. Die Entwickler müssen sauber arbeiten. Der Javascript Adapter ist eher auf die "End-Nutzer" ausgerichtet, daher wird dort der Wert angepasst ... ist netter und weniger frustrierend für die Entwickler.
Das andere ist korrekt! Die Typen "array", "json", "file" und "Object" erwarten als Wert einen JSON-stringified Wert des inhaltes.
-
-
@canim probiere mal hier mit
iobroker stop
npm i iobroker.js-controller@3.2.16 --production
iobroker start -
@apollon77 sagte: Die Typen "array", "json", "file" und "Object" erwarten als Wert einen JSON-stringified Wert des inhaltes.
Wirklich? Ich habe bisher den Typ "array" für echte Arrays und den Typ "object" für echte Objekte (außer Arrays) in Javascript verwendet, was funktioniert.
-
Ich habe auch auf 3.3.2 aktualisiert. Nun erhalte ich in den Logs immer folgende Meldungen.
Was kann ich tun?
-
@stratos-gkrekidis auch nicht
pi@raspberrypi:~ $ npm i iobroker.js-controller@3.2.16 --production > iobroker.js-controller@3.2.16 preinstall /home/pi/node_modules/iobroker.js-controller > node lib/preinstallCheck.js NPM version: 6.14.12 > iobroker.js-controller@3.2.16 install /home/pi/node_modules/iobroker.js-controller > node iobroker.js setup first object _design/system updated ATTENTION: Error reporting via Sentry will be activated on next start of ioBroker ioBroker wants to make sure to deliver the most stable smart home system. To allow this we decided to implement an automatic error and crash reporting solution into the js-controller and also into adapters. THIS REPORTING WILL BE ENABLED WITH THE NEXT START OF YOUR IOBROKER! For any error that leads to the crash of the js-controller or one of the relevant adapters the error details are send to a server. For the js-controller and core adapters this server is located and operated in germany. For community adapters please check the Github Readme of the affected adapter for details which Sentry server is used. If you want to disable the error reporting you can use the command 'iobroker plugin disable sentry' This command will also make sure that no adapter that runs on this host will send crash reporting data to sentry. npm WARN saveError ENOENT: no such file or directory, open '/home/pi/package.json' npm WARN enoent ENOENT: no such file or directory, open '/home/pi/package.json' npm WARN pi No description npm WARN pi No repository field. npm WARN pi No README data npm WARN pi No license field. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) + iobroker.js-controller@3.2.16 updated 1 package and audited 930 packages in 16.545s 16 packages are looking for funding run `npm fund` for details found 3 high severity vulnerabilities run `npm audit fix` to fix them, or `npm audit` for details
@apollon77 habe den befehl im haupt ordner ausgeführt also cd, muss ich irgendwo noch im unterverzeichnes? und dann den befehl ausführen?, wäre mir neu
-
@paul53 Ja, es funktioniert ... ausser man steckt zu komplexe Objekte rein mit denen dann ggf mehr knallt
Die "Pure definition der states" ist das was der controller 3.3 jetzt anmeckert ... Am Ende sind wir wieder bei "ja viel geht, aber es wurde bisher versäumt das zu enforcen was sein solll"Am Ende werden die Daten ja pber die verschiedensten Protokolle übertragen und daher braucht es Standards damit das interoperabel bleibt.
Aktuell alles ok, ausser das es geloggt wird. hast Zeit es anzupassen
-
@msiemers Lesen? Im ersten Post, und bestimmt inzwichen 10 mal in diesem Thread "und bestimmt nicht so wirklich viel weiter oben als Dein Post": Issues bei den Adaptern anlegen!
-
@canim ioBroker ist immer in /opt/iobroker installiert. Wenn du npm Befehle direkt ausführst musst du da manuell hin.
Alles andere was Du meinst sind "iobroker "befehle ... Das ist was ganz anderes
-
@apollon77 Super! Wieder was gelernt ;), bin erstmal zurück. Bis dato werde ich hier das ganze mal mitverfolgen! Danke!
-
Wo genau?
Habe die Meldungen bei Sonoff Info und MQTT.
Dazu habe ich bei GitHub keinen Adapter gefunden. -
@fredf Den Effekt hatte ich auch. Sogar jetzt nach dem letzten Update.
In der Konsole kommt:
npm install iobroker.js-controller@3.3.2 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call) Starting node restart.js
-
@Chaot
Das ändert sich erst von 3.3.2 auf 3.3.3 (die es noch nicht gibt)@apollon77 sagte in js-controller 3.3 jetzt im Latest:
3.3.2 (2021-04-30)
(Apollon77) "upgrade self" CLI command should not start controller because we require it to be stopped before (will be effective for all upgrades from 3.3.2 to higher versions only)
-
@apollon77 sagte: hast Zeit es anzupassen
Wenn bei "array" nur noch JSON erlaubt ist, muss der Javascript-Adapter angepasst werden.