NEWS
[gelöst] Schedule für Monatswechsel triggert täglich
-
Ich habe mit Blockly einen Monatswechsel programmiert. Das Ganze wird zur gewünschten Zeit, aber eben täglich ausgeführt. Ich prüfe jetzt deshalb zusätzlich, ob der Monat der Ausführung mit dem gespeicherten laufenden Monat übereinstimmt. Sieht aber als Code ziemlich häßlich aus
Wenn man sich den Schedule mit dem Blockly Wizard anschaut dann sieht es wie folgt aus:
Als JavaScript so:
var currentMonth, monthFromCurrentDate; // Beschreibe diese Funktion … async function getCurrentMonth() { let monthList = ['Januar','Februar','März','April','Mai','Juni','Juli','August','September', 'Oktober','November','Dezember']; let now = new Date().getMonth(); return monthList[now];; } // Beschreibe diese Funktion … async function getTimestamp() { return new Date().toString(); } schedule('{"time":{"exactTime":true,"start":"00:02"},"period":{"months":1}}', async function () { console.log('MonthlySwitch called'); currentMonth = await getCurrentMonth(); monthFromCurrentDate = getState("0_userdata.0.Sungrow.EarningsPerMonth.CurrentMonth.DateTeaser").val; if (currentMonth != monthFromCurrentDate) { setState("0_userdata.0.Sungrow.EarningsPerMonth.PrevMonth.EnergyOwnConsumed"/*EnergyOwnConsumedPrevMonth*/, getState("0_userdata.0.Sungrow.EarningsPerMonth.CurrentMonth.EnergyConsumed").val);
Ich bin mit der Syntax des Schedule-Kommandos nicht vertraut, aber es sieht für mich plausibel aus.
-
@gombersiob sagte: Ich bin mit der Syntax des Schedule-Kommandos nicht vertraut
Nimm besser einen CRON-String: "2 0 1 * *"
-
-
@gombersiob
Dein Schedule sagt Dir ja schon, dass es jeden Tag läuft:
Nimm - wie die anderen bereits empfohlen haben - CRON
-
@codierknecht said in Schedule für Monatswechsel triggert täglich:
Dein Schedule sagt Dir ja schon, dass es jeden Tag läuft:
Shame on me!!!
-
@paul53 said in Schedule für Monatswechsel triggert täglich:
Nimm besser einen CRON-String: "2 0 1 * *"
Mach ich, ist übersichtlicher! Danke