NEWS
js-controller 3.3 jetzt im Beta
-
@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.
-
-
@chaot Ja liegt daran das die restart.js vorher teilweise nicht funktioniert hat ... jetzt tut Sie wieder und dann pasieren solche Effekte. SOllte aber mit der 3.3.4 wieder weg sein ausser man kommt von <=3.3.1
-
@paul53 Guter Punkt. machst Du bitte ein Issue? Danke
-
Zur Info:
3.3.4 (2021-04-30)
- (AlCalzone) Fix restart logic for linux systems to prevent processes started aside systemd
- (bluefox) Add new system config values to set a default loglevel for new created instances
- (bluefox) Do not delete objects recursively that have dontDelete flag
-
Was mir beim HAM (Homebridge) Adapter aufgefallen ist ...
Der js-conroller schmeißt auch hunderte Meldungen raus, wenn in einem Datenpunkt (noch) kein Wert enthalten ist (undefined). Wäre es nicht besser/korrekter diese Meldung (ggf. optional) zu ignorieren?Ich könnte mir bei einigen Datenpunkten vorstellen, dass die womöglich nie einen Werte erhalten werden?
Beispiel:
im HAM Adapter habe ich z.B. für meinen SkyQ Receiver einen Datenpunkt "vorheriges Programm".
Den habe ich bis heute aber noch nie verwendet, entsprechend gab es noch nie eine Aktualisierung dieses Datenpunktes. Macht es da Sinn derlei Datenpunkte mit einem "warn" auszugeben nur weil diese noch keinen Wert enthalten?Die Gegenreaktion alle Instanzen auf "error" Level zu stellen halte ich für Kontraproduktiv und hilf meines erachtens niemanden
-
@bbtown sagte in js-controller 3.3 jetzt im Latest:
Der js-conroller schmeißt auch hunderte Meldungen raus, wenn in einem Datenpunkt (noch) kein Wert enthalten ist (undefined)
Wäre mir nicht bekannt, wie kommst du darauf? Die neuen Meldungen kommen nur beim schreiben eines States. Evtl schreibt also der Adapter aktiv undefined, was jedoch kein gültiger Wert ist.