@zefau Moin, wo (Filesystem?) finde ich denn die Jarvis "JSON" Gerätedefinition? Das, was man sieht, wenn man auf Expertenmodus umschaltet. Hintergrund: ich generiere alle Jarvis-Geräte per Skript aus meinen ioBroker-Geräten. Das Anlegen per GUI in Jarvis ist bei vielen Geräten mit mehreren DP pro Gerät einfach zu aufwendig. Aktuell schreibe ich die JSON ins Filesystem und kopiere dann per Copy&Paste. Falls die Gerätedefinition irgendwo im FS liegt, wäre es natürlich einfacher, diese einfach zu kopieren. Oder, es geht sogar per setObject() direkt aus dem Skript heraus. Noch besser.
NEWS
Best posts made by j1s2e3
-
RE: jarvis v3.0.0 - just another remarkable vis
Latest posts made by j1s2e3
-
RE: setTimeout() keeps running on script stop.
@mickym Yes, you are right. It was my fault while writing. In the code I had it correct:
if (heatingCbTmo != null) { clearTimeout(heatingCbTmo); heatingCbTmo = null; }
... and it's working (in subcribe for instance). But the problem is stopping the script. On stop I get this log:
... 12:36:15.857 info javascript.0 (619) script.js.common.VirtualAutomations.04_Heizung: ### setting: room=14-gwc temp=16 12:43:21.268 info javascript.0 (619) Stop script script.js.common.VirtualAutomations.04_Heizung 12:56:13.005 info javascript.0 (619) script.js.common.VirtualAutomations.04_Heizung: ###### before temp_override=0 12:56:13.006 info javascript.0 (619) script.js.common.VirtualAutomations.04_Heizung: ### setting: room=01-die temp=20 ...
so I thought it's not running anymore, including timeouts. But it seems the timeout keeps running...
Now I'm searching for a way to place a hook on or before exit to cancel the timeout with clearTimeout(). No idea so far...
process.on("beforeExit", (code) => {});
process.on does not work. It's not defined.
The first question is, if timeout should keep running if the sarting script is stopped? Whether it's a bug or a feature.
-
setTimeout() keeps running on script stop.
I have a js-script which sends every 20min the setpoint temperatures to the heating control panels.
Something likes this:let heatingCbTmo = null; function heatingCb() { // do something and send setpoint temps // resart timeout heatingCbTmo = setTimeout(heatingCb, 20 * 60 * 1000); } function main() { // setup heatingCb(); } main();
The problem is, that the timeout keeps running although I have stopped it. If I start the script again (or do an restart), then I have multiple timeout callbacks running! This annoying and not what you expect if you terminate the script. Currently I have 3 timeout instances running.
Is this a desired behavior, or a bug? If it's not a bug, how can I cancel (with cancelTimeout(id)) the timeout on script stop/exit or restart? I need somehow a hook to call cancelTimeout(heatingCbTmo) on exit/stop/restart.
Platform: rapsi4, raspbian (up to date)
Node.js: v16.19.0
NPM: 8.19.3
pi@iobroker:~ $ iob update
Used repository: beta
Adapter "admin" : 6.3.6 , installed 6.3.6
Adapter "backitup" : 2.5.12 , installed 2.5.12
Adapter "discovery" : 3.1.0 , installed 3.1.0
Adapter "enocean" : 0.8.4 , installed 0.8.4
Adapter "homeconnect" : 1.1.1 , installed 1.1.1
Adapter "influxdb" : 3.2.0 , installed 3.2.0
Adapter "jarvis" : 3.1.2 , installed 3.1.2
Adapter "javascript" : 6.1.4 , installed 6.1.4
Controller "js-controller": 4.0.24 , installed 4.0.24
Adapter "rpi2" : 1.3.2 , installed 1.3.2
Adapter "simple-api" : 2.7.2 , installed 2.7.2
Adapter "socketio" : 6.3.3 , installed 6.3.3
Adapter "telegram" : 1.15.2 , installed 1.15.2
Adapter "web" : 5.4.3 , installed 5.4.3
Adapter "ws" : 2.3.5 , installed 2.3.5 -
RE: jarvis v3.1.x - just another remarkable vis
Hallo zusammen, ich kämpfe gerade mit den eCharts. Nichts besonderes, eher ein Standardfall: ich will die Raumtemperatur und das Ventil (Heizen an oder aus) analog die Beispiel-eChart darstellen Line Sections.
Ich habe 2 Datenpunkte: Temperatur und Ventil. Ventil ist boolean an oder aus. Temperatur als Linie ist mir klar, aber wie mache die farbige Hinterlegung immer wenn das Ventil an ist?
Hat da jemand eine Idee?
-
RE: js-contoller auf 4.0.23 update geht nicht
Wenn ioBroker läuft:
# iob status ioBroker is running on this host. Objects type: jsonl States type: jsonl
Wenn ioBroker gestoppt ist:
# iob status No connection to databases possible ...
-
js-contoller auf 4.0.23 update geht nicht
Moin,
laut Anweisungen zum Upgrade des js-controllers soll man:
iob backup iob stop iob update iob fix iob upgrade self iob start
ausführen. Das hat bisher auch immer so geklappt.
Nun möchte ich von 4.0.21 auf 4.0.23 upgraden, aber es geht nicht.
iob update geht nicht. Als Fehler kommt: No connection to databases possibleABER, wenn ich vor dem iob update ioBroker nicht mit iob stop stoppe, dann geht iob update. Immer.
Kann ich ein iob upgrade self bei laufendem ioBroker durchführen? D.h. ohne vorher iob stop zu machen. Hat sich evtl. irgendwas am Procedere geändert und es wurde nur vergessen, die Anweisungen anzupassen?
Ich verwende einen Raspberry PI 4 mit 4GB. Aktuellem Raspbian und nodejs v12.22.12.
-
RE: jarvis v3.0.0 - just another remarkable vis
@mcu said in jarvis v3.0.0 - just another remarkable vis:
@j1s2e3 Sorry. Momentan viel gleichzeitig zutun.
Kein Problem.
@MCU & @Zefau Ich denke, ich habs gefunden. Folgendes Problem:
Alle meine virt. Geräte haben einen DP On (readonly, liefert boolean true oder false) und einen anderen DP SET (writeonly, number 0=off, 1=on, 2=...). Das Jarvisgerät nutzt diese in einem DP power (siehe Bild).
Wenn ich power direkt in der Statelist schalte, geht es. D.h. on/off = true/false wird gemappt auf 0 und 1 und dann korrekt in den DP .SET geschrieben -> per Skipt nach HW-DP -> Aktor schaltet.
Aber: der Gruppenschalter ignoriert das Mapping "{"off":"false","on":"true","setOff":0,"setOn":1}" und schreibt beim klicken direkt true bzw false nach .SET. Das ist falsch. Das wäre das Schreiben.
Lesen, d.h. die Anzeige des Gruppenschalters, geht auch nicht. Dafür müsste .ON gelesen werden, ohne Mapping, denn der DP liefert true bzw. false. Warum Lesen auch nicht geht. Keine Ahnung.
Aber, zumindest wisst ihr, wo ungefähr das Problem liegt.
-
RE: jarvis v3.0.0 - just another remarkable vis
@mcu said in jarvis v3.0.0 - just another remarkable vis:
@j1s2e3 Noch einen weiter:
Hatte ich doch schon im ersten Post mitgeschickt.
^^^ hier nochmal den aktuellen Stand. -
RE: jarvis v3.0.0 - just another remarkable vis
@mcu said in jarvis v3.0.0 - just another remarkable vis:
@j1s2e3 Zeig mal dazu die Layout Ansicht von dem Widget.
Reboot Raspberry gemacht, Cache geleert, iob upload jarvis... geht nicht. In der Javascriptkonsole gibt es nur eine Meldung, dass irgendein md webfont nicht dekodiert werden kann (webfont.606b1642.woff2). Ich warte bis 3.0.10 released ist. Auf dem iPad iOS15 genauso. Geht nicht.
-
RE: jarvis v3.0.0 - just another remarkable vis
@mcu said in jarvis v3.0.0 - just another remarkable vis:
@j1s2e3 Hast du einmal die Gruppe entfernt, gespeichert und dann neu hinzugefügt?
Kommst du direkt von v2.2.5?Ja, alles schon probiert. Sogar die Statelist habe ich schon gelöscht und dann alles neu angelegt. Auch in Varianten: erst die Gruppe dann die Geräte, oder erst die Geräte und dann die Gruppe... geht alles nicht.
Vor einer Weile habe ich auf 3.0.1 (glaube ich) geupdated. Danach schrittweise bis 3.0.9. Mit 3.0.x ging es definitiv schon mal.