NEWS
Variable an Cron übergeben
-
Hallo zusammen
Ich habe die letzten Tage damit verbracht eine Funktion in meine selbst geschriebene Rollladensteuerung zu integrieren.
Mein Ziel war es eine "Ausschlafen" Funktion für die Schlafzimmer zu erstellen. Dabei sollen die Rollläden zu einer gewissen Uhrzeit auf fahren. Sonst fahren diese auf, wenn ein Sonnenstand erreicht ist.
Folgendes Skript habe ich nun erstellt, jedoch weiß ich nicht wie ich die Variable cron_uhrzeit an cron übergebe.
var cron_uhrzeit; on({id: 'javascript.0.Rollladen.Steuerung.Funktion_Ausschlafen_Uhrzeit', change: "ne"}, async function (obj) { if (getState("javascript.0.Rollladen.Steuerung.Funktion_Ausschlafen_Uhrzeit").val == '1') { cron_uhrzeit = ['0 ','9 ','* ','* ','*'].join(''); } if (getState("javascript.0.Rollladen.Steuerung.Funktion_Ausschlafen_Uhrzeit").val == '2') { cron_uhrzeit = ['30 ','9 ','* ','* ','*'].join(''); } if (getState("javascript.0.Rollladen.Steuerung.Funktion_Ausschlafen_Uhrzeit").val == '3') { cron_uhrzeit = ['0 ','10 ','* ','* ','*'].join(''); } }); schedule("0 10 * * *", function () { if (getState("javascript.0.Rollladen.Steuerung.Funktion_Ausschlafen").val == true) { if (getState("hm-rpc.0.NEQ1793331.1.LEVEL").val < 5) { setState("javascript.0.Rollladen.Obergeschoss.Terrasse1", 100); } if (getState("hm-rpc.0.NEQ1793684.1.LEVEL").val < 5) { setState("javascript.0.Rollladen.Obergeschoss.Terrasse2", 100); } if (getState("hm-rpc.0.NEQ1795826.1.LEVEL").val < 5) { setState("javascript.0.Rollladen.Obergeschoss.Rheinsicht", 100); } if (getState("hm-rpc.0.NEQ1793335.1.LEVEL").val < 5) { setState("javascript.0.Rollladen.Obergeschoss.Ankleidezimmer", 100); } } });In dem gezeigten Skript fahren 4 Rollläden zu einer festen Uhrzeit auf. Ich habe verschiedene Dinge schon ausprobiert, aber bisher hat nichts geklappt. Vielleicht kann mir jemand da weiterhelfen.
Danke.
Gruß aus dem Rheinland
Tobi -
Hallo zusammen
Ich habe die letzten Tage damit verbracht eine Funktion in meine selbst geschriebene Rollladensteuerung zu integrieren.
Mein Ziel war es eine "Ausschlafen" Funktion für die Schlafzimmer zu erstellen. Dabei sollen die Rollläden zu einer gewissen Uhrzeit auf fahren. Sonst fahren diese auf, wenn ein Sonnenstand erreicht ist.
Folgendes Skript habe ich nun erstellt, jedoch weiß ich nicht wie ich die Variable cron_uhrzeit an cron übergebe.
var cron_uhrzeit; on({id: 'javascript.0.Rollladen.Steuerung.Funktion_Ausschlafen_Uhrzeit', change: "ne"}, async function (obj) { if (getState("javascript.0.Rollladen.Steuerung.Funktion_Ausschlafen_Uhrzeit").val == '1') { cron_uhrzeit = ['0 ','9 ','* ','* ','*'].join(''); } if (getState("javascript.0.Rollladen.Steuerung.Funktion_Ausschlafen_Uhrzeit").val == '2') { cron_uhrzeit = ['30 ','9 ','* ','* ','*'].join(''); } if (getState("javascript.0.Rollladen.Steuerung.Funktion_Ausschlafen_Uhrzeit").val == '3') { cron_uhrzeit = ['0 ','10 ','* ','* ','*'].join(''); } }); schedule("0 10 * * *", function () { if (getState("javascript.0.Rollladen.Steuerung.Funktion_Ausschlafen").val == true) { if (getState("hm-rpc.0.NEQ1793331.1.LEVEL").val < 5) { setState("javascript.0.Rollladen.Obergeschoss.Terrasse1", 100); } if (getState("hm-rpc.0.NEQ1793684.1.LEVEL").val < 5) { setState("javascript.0.Rollladen.Obergeschoss.Terrasse2", 100); } if (getState("hm-rpc.0.NEQ1795826.1.LEVEL").val < 5) { setState("javascript.0.Rollladen.Obergeschoss.Rheinsicht", 100); } if (getState("hm-rpc.0.NEQ1793335.1.LEVEL").val < 5) { setState("javascript.0.Rollladen.Obergeschoss.Ankleidezimmer", 100); } } });In dem gezeigten Skript fahren 4 Rollläden zu einer festen Uhrzeit auf. Ich habe verschiedene Dinge schon ausprobiert, aber bisher hat nichts geklappt. Vielleicht kann mir jemand da weiterhelfen.
Danke.
Gruß aus dem Rheinland
Tobi@dontobi
Versuche es mal so:var cron_uhrzeit = '0 10 * * *'; on({id: 'javascript.0.Rollladen.Steuerung.Funktion_Ausschlafen_Uhrzeit', change: "ne"}, async function (obj) { if (obj.state.val == 1) { cron_uhrzeit = '0 9 * * *'; } if (obj.state.val == 2) { cron_uhrzeit = '30 9 * * *'; } if (obj.state.val == 3) { cron_uhrzeit = '0 10 * * *'; } }); schedule(cron_uhrzeit, function () { -
@dontobi
Versuche es mal so:var cron_uhrzeit = '0 10 * * *'; on({id: 'javascript.0.Rollladen.Steuerung.Funktion_Ausschlafen_Uhrzeit', change: "ne"}, async function (obj) { if (obj.state.val == 1) { cron_uhrzeit = '0 9 * * *'; } if (obj.state.val == 2) { cron_uhrzeit = '30 9 * * *'; } if (obj.state.val == 3) { cron_uhrzeit = '0 10 * * *'; } }); schedule(cron_uhrzeit, function () {
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