NEWS
Javascript "startSkript" startet Skript doppelt
-
Das ist das komplette Skript (mit der Debug-Zeile und dem "Fehler" mit nur runskript ohne Timeout
//Definitionen const sDPFrost = '0_userdata.0.Wetter.aktuell.Frost'; const aDP_Frost_Devices=['hm-rpc.0.00089D89BA198D.3.STATE','hm-rpc.0.00089D89A1686E.4.STATE','hm-rpc.0.00089F29B112F6.3.STATE']; //Pumpe Zisterne, Moorbeet, Teich => aus wenn Frost, weil Kanäle und-verknüpft const sDP_SensorIBC1 = 'hm-rpc.0.001F1A4990B273.1.STATE'; // Pegelschalter IBC voll const titel = "RaspMatic Reboot"; var msg = 'Frost aktualisiert ' + '\n\r'; // Trigger RaspMatic nach Reboot function sendMsg(pushmsg){ sendTo("pushover", { message: pushmsg , // mandatory - your text message title: titel, // optional - your message's title, otherwise your app's name is used //sound: 'magic', // optional - the name of one of the sounds supported by device clients to override the user's default sound choice // pushover, bike, bugle, cashregister, classical, cosmic, falling, // gamelan, incoming, intermission, magic, mechanical, pianobar, siren, // spacealarm, tugboat, alien, climb, persistent, echo, updown, none priority: -1 // optional // -1 to always send as a quiet notification, // 1 to display as high-priority and bypass the user's quiet hours, or // 2 to also require confirmation from the user }); }; on ({id: 'hm-rega.0.950', change: 'lt'}, function(data){ //Variable "CCU im Reboot" von RaspMatic // if (!data.state.val) // CCU nicht mehr im Reboot // { console.log(data); var bFrost = getState(sDPFrost).val; // Frost initialisieren aDP_Frost_Devices.forEach (id => { setState(id, !bFrost); msg += '-- ' + id + ' : ' + !bFrost +'\n\r'; }); // IBC Pegel initialisieren var bIBC_voll = getState(sDP_SensorIBC1).val; setState('0_userdata.0.Bewässerung.IBC.Pegel_voll', bIBC_voll); msg += ' -- IBC Pegel voll : ' + bIBC_voll + '\n\r'; //Bewässerung reinit => Ventil-Steuerung-Skript neutstarten stopScript('common.Bewässerung.Ventil_Steuerung', () => { //setTimeout( ()=> {runScript('common.Bewässerung.Ventil_Steuerung')},1000); runScript('common.Bewässerung.Ventil_Steuerung'); }); msg += ' -- Reinit Venti-Überwachung \n\r'; // Info über Boot loggen console.warn ("[Raspimatic-Boot] " + msg); sendMsg(msg); // } });Es gibt nur eine Ausgabe ->
EventObj { id: 'hm-rega.0.950', newState: { val: false, ts: 1757669894412, ack: false, lc: 1757669894412, from: 'system.adapter.admin.0', q: 0, c: undefined, user: 'system.user.admin' }, oldState: { val: true, ts: 1757669892106, ack: true, lc: 1757669888017, from: 'system.adapter.hm-rega.0', q: 0, c: undefined, user: 'system.user.admin' }, state: { val: false, ts: 1757669894412, ack: false, lc: 1757669894412, from: 'system.adapter.admin.0', q: 0, c: undefined, user: 'system.user.admin' } }aber das Skript startet wieder 2x:
javascript.0 2025-09-12 11:38:15.492 info Start JavaScript script.js.common.Bewässerung.Ventil_Steuerung (Javascript/js) javascript.0 2025-09-12 11:38:14.589 info Start JavaScript script.js.common.Bewässerung.Ventil_Steuerung (Javascript/js)Und beide gestartet Skripts laufen dann parallel weiter...
Hast du mal den javascript-adapter neu gestartet? Im Hintergrund laufende Skript bekommst du nicht durch abschalten weg.
-
Hast du mal den javascript-adapter neu gestartet? Im Hintergrund laufende Skript bekommst du nicht durch abschalten weg.
@ticaki
Das weiß ich und hab ich auch.
Das "Problem" bzw. die Frage ist warum das Skript doppelt startet ;) -
@ticaki
Das weiß ich und hab ich auch.
Das "Problem" bzw. die Frage ist warum das Skript doppelt startet ;)Das wäre eine der antwortmöglichkeiten gewesen - wenns 2 mal läuft könnte es auch 2 mal gestartet werden.
Hatte das selbe Problem schon vor 4 Jahren und noch immer keine Antwort ausser einem großzügigem Timeout vor dem restart - ich hatte da teils 10 Sekunden drin. :) Wenn dein Skript nicht mehr enthält als du hier gezeigt hast, fällt mir kein Grund ein.