NEWS
[Skript] Absolute Feuchte berechnen
-
In dieser Zeile steht.
lueftenText = "Fenster zu:
Ich habe das Script Spaß halber noch mal gestartet, dann hing erst kurz mein ioB und das war in der Log. Das war nachdem ich oben auf Expert Mode gegangen bin.
host.iobroker 2022-11-10 17:03:29.419 error instance system.adapter.javascript.0 terminated with code 6 (UNCAUGHT_EXCEPTION) host.iobroker 2022-11-10 17:03:29.419 error Caught by controller[0]: at processTimers (node:internal/timers:502:7) host.iobroker 2022-11-10 17:03:29.419 error Caught by controller[0]: at listOnTimeout (node:internal/timers:559:17) host.iobroker 2022-11-10 17:03:29.419 error Caught by controller[0]: at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/main.js:1180:50) host.iobroker 2022-11-10 17:03:29.419 error Caught by controller[0]: at Array.forEach (<anonymous>) host.iobroker 2022-11-10 17:03:29.419 error Caught by controller[0]: at /opt/iobroker/node_modules/iobroker.javascript/main.js:1182:70 host.iobroker 2022-11-10 17:03:29.418 error Caught by controller[0]: TypeError: Cannot create property 'setStatePerMinuteCounter' on boolean 'false' javascript.0 2022-11-10 17:03:24.246 error Cannot create property 'setStatePerMinuteCounter' on boolean 'false' javascript.0 2022-11-10 17:03:24.246 error TypeError: Cannot create property 'setStatePerMinuteCounter' on boolean 'false' at /opt/iobroker/node_modules/iobroker.javascript/main.js:1182:70 at Array.forEach (<anonymous>) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/main.js:1180:50) at listOnTimeout (node:internal/timers:559:17) at processTimers (node:internal/timers:502:7) javascript.0 2022-11-10 17:03:24.246 error uncaught exception: Cannot create property 'setStatePerMinuteCounter' on boolean 'false' javascript.0 2022-11-10 17:03:19.324 error at processImmediate (node:internal/timers:468:21) javascript.0 2022-11-10 17:03:19.324 error at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1527:17) javascript.0 2022-11-10 17:03:19.324 error at /opt/iobroker/node_modules/iobroker.javascript/main.js:2042:17 javascript.0 2022-11-10 17:03:19.324 error at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1954:37) javascript.0 2022-11-10 17:03:19.324 error at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1702:24) javascript.0 2022-11-10 17:03:19.324 error at Object.createScript (node:vm:265:10) javascript.0 2022-11-10 17:03:19.323 error at new Script (node:vm:100:7) javascript.0 2022-11-10 17:03:19.323 error SyntaxError: Invalid or unexpected token javascript.0 2022-11-10 17:03:19.323 error ^^^^^^^^^^^^ javascript.0 2022-11-10 17:03:19.323 error lueftenText = "Fenster zu: javascript.0 2022-11-10 17:03:19.323 error script.js.Wetter.Lüftungsempfehlung_Taupunkt compile failed: at script.js.Wetter.Lüftungsempfehlung_Taupunkt:731
-
@d3ltoroxp sagte in [Skript] Absolute Feuchte berechnen:
In dieser Zeile steht.
lueftenText = "Fenster zu:und wann kommt das abschließende
"
? -
@d3ltoroxp sagte in [Skript] Absolute Feuchte berechnen:
das war in der Log.
das wäre eben schon besser gewesen
-
-
@d3ltoroxp sagte in [Skript] Absolute Feuchte berechnen:
Müsste so aussehen ?
lueftenText = "Fenster zu:"ich denke schon. kenne aber den Kontext nicht.
-
//-------------------------------------------------------------------------- if (b1lp && b2lp && b3lp) { // Lüftungsempfehlung, alle bedingungenen erfüllt lueftenText = "Bedingungen für Entfeuchten, Kühlen und Auskühlschutz erfüllt."; setState(idLueften, true); setState(idLueftenHys,false); if (debug) log(raum + ': **Lüftungsempfehlung**'); } else if (b1ln || b2ln || b3ln) { // Fenster zu. Ein Ausschlusskriterium reicht für die Empfehlung "Fenster zu". lueftenText = "Fenster zu:" "; if (b1ln) lueftenText += b1lnText + " "; if (b2ln) lueftenText += b2lnText + " "; if (b3ln) lueftenText += b3lnText + " "; setState(idLueften, false); setState(idLueftenHys,false); if (debug) log(raum + ': **Empfehlung Fenster zu**'); } else { // Hysterese. Keine Änderung der bisherigen Empfehlung. if (debug) log(raum + ': **im Bereich der Hysterese** (keine Änderung der Lüftungsempfehlung'); if (getState(idLueften).val === null) setState(idLueften,false); // noch keine Empfehlung vorhanden, "Fenster zu" empfehlen lueftenText = "Hysterese, keine Änderung der Lüftungsempfehlung"; setState(idLueftenHys,true); } setState(idLueftenText, lueftenText); /* Erklärung Lüftungslogik (von Paul53)
-
@d3ltoroxp
Es sind Zeilenumbrüche vorhanden, wo keine sein sollen.// Fenster zu. Ein Ausschlusskriterium reicht für die Empfehlung "Fenster zu". lueftenText = "Fenster zu:"; if (b1ln) lueftenText += b1lnText + ""; if (b2ln) lueftenText += b2lnText + ""; if (b3ln) lueftenText += b3lnText + "";
-
@paul53 hm was hab ich dann für ein Script erwischt ? Ich hab das hier irgendwo aus dem Thread. Bis auf oben, die Parameter die man anpassen kann habe ich nichts gemacht.
Hättet ihr mir noch mal ein aktuelles das funktioniert ?
Und wenn der die DP's und Ordnerstruktur anlegt, könnte ich das auch unter userdata machen lassen und nicht unter dem javascript Ordner ?
Wenn ja was müsste ich dort an diesem Bereich mit angeben ?
-
@d3ltoroxp sagte: was hab ich dann für ein Script erwischt ?
Die Fehler sind schon im Originalskript (erster Beitrag) enthalten.
-
@d3ltoroxp sagte: könnte ich das auch unter userdata machen lassen und nicht unter dem javascript Ordner ?
// Pfade für die Datenpunkte: var pfad = "0_userdata.0.Raumklima."; // Pfad unter dem die Datenpunkte angelegt werden
Ich hoffe, dass es an dieser Stelle genügt.
-
@paul53 Hm könntest du mir Helfen diese Fehler zu beheben, oder hast du ein Script das läuft ?
-
@d3ltoroxp sagte: hast du ein Script das läuft ?
Nein, ich verwende das Skript nicht.
@d3ltoroxp sagte in [Skript] Absolute Feuchte berechnen:
könntest du mir Helfen diese Fehler zu beheben
Habe schon gezeigt, wie es richtig aussehen muss.
Oder sollte dort eine Zeilenschaltung erfolgen? Dann so:// Fenster zu. Ein Ausschlusskriterium reicht für die Empfehlung "Fenster zu". lueftenText = "Fenster zu:\n"; if (b1ln) lueftenText += b1lnText + "\n"; if (b2ln) lueftenText += b2lnText + "\n"; if (b3ln) lueftenText += b3lnText + "\n";
-
var pfad = "Raumklima" +"."; // Pfad unter dem die Datenpunkte in der Javascript-Instanz angelegt werden // Unterpfade unterhalb des Hauptpfads var raumPfad = "Raum" +"."; // Pfad unterhalb des Hauptpfads für die Räume var controlPfad = "CONTROL" +"."; // Pfad innerhalb des Raums für Kontrollparameter var detailPfad = "DETAILS" +"."; // Pfad innerhalb des Raums für Detailparameter ("" und ohne ".", wenn kein Detailpfad gewünscht) var detailEnginePfad = "DETAILS_Lüftungsempfehlung" + "."; // Pfad innerhalb des Raums für Detailparameter zur Lüftungsengine var infoPfad = "Skriptinfos" +"."; // Pfad für globale Skriptparameter zur Info
Dann fällt +"."; weg ?
var pfad = "0_userdata.0.Raumklima.";
Die anderen lasse ich so, oder muss dort dann auch 0_userdata.0.Raumklima. davor ?
-
@d3ltoroxp sagte in [Skript] Absolute Feuchte berechnen:
Dann fällt +"."; weg ?
Ja, den Punkt habe ich direkt angehängt.
@d3ltoroxp sagte in [Skript] Absolute Feuchte berechnen:
Die anderen lasse ich so
Ja, dort steht
// Unterpfade unterhalb des Hauptpfads
-
@paul53 Hm, Script ist aktiv, er sagt aber oben inaktiv.
-
@d3ltoroxp sagte in [Skript] Absolute Feuchte berechnen:
, Script ist aktiv, er sagt aber oben inaktiv.
das bezieht sich nicht auf das Skript sondern auf die js-Instanz.
wenn du due nicht deaktivierthast und die nicht gerade abgestürzt ist kann das eine Falschmeldung sein. Das gab es vor Jahren mal. -
Da war noch ein Fehler in Zeile 738. Aber nun passt es und läuft. Danke euch.
-
@dieter_p
@boriswerner
Hi, das mit den leeren Odnern unter "javascript.0." ist bei mir auch so.
Ist das gewollt, oder kann man das ändern?Danke und Grüße
Sascha -
@dodi666 sagte: kann man das ändern?
Zeile 463 im Skript Version 0.6.4.setObject("javascript." + instance + "." + channelId, {
ändern in
if(!channelId.startsWith('0_userdata.0')) channelId = "javascript." + instance + "." + channelId; setObject(channelId, {
-
@dodi666
@D3ltoroxp die aktuellste vollständige Version findest du als 0.6.7 hier im Thread von mir. Die ist erstmal lauffähig.
Da ist auch schon der Pfad unter 0_userdata (wie auch von @paul53 beschrieben). Es werden, wie @Dieter_P festgestellt hat noch Ordner unter javascript angelegt, das ist ein Fehler (@dodi666). Ich vermute es reicht Zeile 555 (im Original 0.6.7) insetObject(channelId, {
zu ändern, habe es aber noch nicht getestet. Ich versuche die Tage mal das anzupassen und auch die NaNs im JSON (siehe Beitrag von @jwerlsdf ) und die Anmerkungen von @paul53 bzgl "zu trocken" einzuarbeiten.