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.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden