NEWS
js-controller 2.0 ab sofort im Latest Repo
-
@BBTown sagte in js-controller 2.0 ab sofort im Latest Repo:
@MathiasJ sagte in js-controller 2.0 ab sofort im Latest Repo:
ist mir schon klar, dass ich erst
Nein, so wie Du es machst, musst Du nicht mehr zwingend zuvor in
/opt/iobroker
wechseln.
Jedoch unbedingt wenn du es pernpm install iobroker.js-controller@2.1.0
druchführstsudo -H -u iobroker npm install iobroker.js-controller@2.1.0
Mit sudo und dem User iobroker passt es, habe das gerade nachgestellt. Ohne sudo / mit sudo (ohne User) gibt es Berechtigungsfehler
-
@darkiop Wann hast du zuletzt den Fixer genutzt? Seit dem 13.10. sollte das Problem der Verganenheit angehören.
-
@AlCalzone gute frage, schätze mal so in dem Zeitraum. Hatte den bei testen des js-c 2.0 immer wieder mal laufen lassen. Aber hatte ja auch kein Problem, sondern es nur nachgestellt.
Mir ist letztens aufgefallen, das die lokale Kopie (fix_installation.sh) des fixers nicht aktualisiert wird - d.h. Der ist immer auf dem Stand des Zeitpunkts der ioBroker Installation. Ggf. könnte man das noch in den fixer miteinbauen.
Gruß
-
@AlCalzone
gibt es eine Empfehlung für die "Frequenz" den Fixer laufen zu lassen?
Ich selbst habe mit angewöhnt, nach jeder Aktualisierung des js-controllers den fixer laufen zu lassen, da iobroker sowieso gerade gestoppt ist?! -
@darkiop Die Kopie sollte gar nicht existieren. Das war ein Fehler beim Release des NPM-Pakets.
@BBTown sagte in js-controller 2.0 ab sofort im Latest Repo:
Empfehlung für die "Frequenz" den Fixer laufen zu lassen?
Nein, eigentlich nur dann, wenn sich hier etwas relevantes getan hat. In darkiops Fall wäre das der Bugfix vom 13.10.
-
@AlCalzone wie bekommt man denn mit, dass es dort eine neue Version gibt?
-
@BBTown Nicht ohne selbst zu schauen. Ggf kann man das in den Info-Adapter integrieren, wenn es einen wichtigen Fix gibt.
-
Ich denke generell braucht man den fixer nach jedem nodejs Update im Moment.
Ansonsten nur wenn sich was relevantes getan hat. Es schadet nicht auch bei controller Upgrades laufen zu lassen, die kommen aber auch eher selten vor.
Ich denke info Adapter ist ne coole Idee - wobei es am Ende dann dennoch immer davon abhänge ob die fixes und Änderungen einen selbst betreffen. Die letzte Änderung war beispielsweise für FreeBSD
-
Hallo @apollon77
ich weiß nicht ob mein Problem mit dem js-controller zusammenhängt, jedenfalls ist es erst nach dem Upgrade erstmalig aufgetretten.
Ich habe zwei Instanzen des Javascript-Adapters (beide 4.3.3). Die eine Instanz auf dem Master, die andere auf dem Slave. Der Slave soll meine Skripts die mit der Heizung zusammenhängen steuern. Also habe ich das Skript auf der Instanz 1 angelegt:
Kommischereise taucht das Script unter dem Datenpunkt javascript.0.scriptEnabled auf statt javascript.1.scriptEnabled. Und wenn ich das Skript ausführe, also im Javascript-Adapter auf "Skript ausführen" klicke steht javascript.0.scriptEnabled.Heizung.tadoBoost weiterhin auf false und bei javascript.1.scriptEnabled.Heizung taucht er nicht auf. Da das Skript keine Ausgabe im Log ausgibt außerjavascript.0 2019-11-18 07:15:19.383 info (1606) Stop script script.js.Heizung.tadoBoost
nehme ich an es läuft auch nicht.
Lege ich das Script auf Instanz 0 an läuft alles. Bisherige Scripte die unter Javascript Instanz 1 laufen, verrichten ihren Dienst.
Wie gesagt dies ist mir erst aufgefallen seit dem Upgrade auf. Auch ein Blockly Testskript hat das gleiche Verhalten.
-
Da ja 0_userdata als "0_userdata.0 als offizieller Platz für eigene Dateien, Objekte und States" wollte ich das in meinen Script umsetzten. Aber createState legt keine Datenpunkte dort an. Unter javascript.x werden die Datenpunkte angelegt. Habe ich da einen Denkfehler?
-
-
@darkiop sagte in js-controller 2.0 ab sofort im Latest Repo:
@CKMartens Siehe hier https://github.com/ioBroker/ioBroker.javascript/issues/429
Danke....
-
@CKMartens kannst du deine Scripte alle exportieren als zipfile? Ich vermute da zusammenhänge...
Sieht so aus, als ob der Javascript Adapter mit clients Probleme hat, und nicht richtig zuordnen kann..
@apollon77 lieg ich da richtig, oder stimmt das? -
@CKMartens Das das scriptsEnabled nur in der instanz 0 sinnvolle werte hat ist bekannt. wo das skript ausgeführt wird hat damit nichts zu tun. Das ist schon immer so
Effektiv: geht alles oder hast Du dich nur gerwundert?
-
@ilovegym sagte in js-controller 2.0 ab sofort im Latest Repo:
@CKMartens kannst du deine Scripte alle exportieren als zipfile? Ich vermute da zusammenhänge...
Wenn ich an meinm PC bin teste ich es mal.
-
@apollon77 nein die Skripte die neu in einer anderen Instanz als 0 angelegt werden scheinen nicht zu laufen.
-
@CKMartens Dann bitte Issue beim javascript adapter anlegen. geht es wenn du sie einmal in die 0 schiebst, startest und dann zurück schiebst? auch versionsummer nennen!
-
@apollon77 sagte in js-controller 2.0 ab sofort im Latest Repo:
@CKMartens Dann bitte Issue beim javascript adapter anlegen.
Habe ich gemacht Issue #448
geht es wenn du sie einmal in die 0 schiebst, startest und dann zurück schiebst?
Nein, sobald das Skript in einer anderen Instanz als 0 ist geht es nicht mehr
-
Hallo,
habe leider seit dem Update ein Problem bei Speichern meiner Kamera Bilder. Diese werden nicht mehr in der VIS aktuell angezeigt. Habe bisher das unten stehende Script verwendet. Das Problem ist wahscheinlich der Schreibbefehl:
fs.writeFile(dest_path + fname, body, 'binary', function(err)
oben hatte ich gelesen das man den durch
writeFile(dest_path + fname, body, 'binary', function(err)
ersetzen sollte. Nur dann gibt es zig Fehlermeldungen
Kann mir jemand hier weiterhelfen, bin leider kein Exoerte in jsFehlermeldung:
javascript.0 (147) script.js.common.Skript5_kamera: readFile(adapter=/opt/iobroker/iobroker-data/files/vis.0/KameraBilder/eingangstuer_0.jpg, fileName=ÿØÿà
request.get({url: cam_url, encoding: 'binary'}, function (err, response, body) { fs.writeFile(dest_path + fname, body, 'binary', function(err) { if (err) { log('Fehler beim Bild speichern: ' + err, 'warn'); } else { // dem Filesystem 2 Sek Zeit zum Speichern lassen setTimeout(function() { sendImage(dest_path + fname); }, 3000); } }); });
-
Die Fehlermeldung verweist aber auf:
readFile
und
fileName=ÿØÿà
sieht auch verdächtig aus.