NEWS
Tage bestimmen an dem man Frei hat
-
Hallo,
bin gerade dabei mich mit dem ioBroker anzufreunden, komme soweit auch mit den Adaptern klar.
Leider habe ich leichte Schwierigkeiten mit den schreiben von Skripten. Habe bis jetzt zwei kleinere geschrieben, die auch Wunderbar klappen.
Jetzt möchte ich eins erstellen, womit ich eine Variable in der HM setzte. Die alle 4 Wochen nur "WAHR" ist (z.B. jeden 4ten Montag und jeden 4ten Mittwoch).
Ich danke schon mal im Voraus.
-
Vorschlag:
const idSV = 'hm-rega.0.7868'; function woche4(compare) { var weeks = new Date().getTime() / (7 * 24 * 3600 * 1000); if(Math.floor(weeks % 4) == compare) setState(idSV, true); else setSate(idSV, false); } schedule('0 0 * * 1', function() { // montags woche4(3); // Vergleichswert (0, 1, 2, 3) anpassen ! }); schedule('0 0 * * 3', function() { // mittwochs woche4(2); // Vergleichswert anpassen ! });EDIT: Schedule und Vertipper korrigiert.
-
Danke für deine Antwort, würde es gerne Testen, aber leider bekomme ich eine Fehlermeldung in den Zeilen 11, 13 ,15.
Ich habe auch die Variablen ID eingetragen, denke das dies so richtig ist.
Bin mich leider erst am einarbeiten in Sachen Scripte.
const idSV = 'hm-rega.0.7868'; function woche4(compare) { var weeks = new Date().getTime() / (7 * 24 * 3600 * 1000); if(Math.floor(weeks % 4) == compare) setState(idSV, true); else setSate(idSV, false); } schedule('0 0 0 * 1', function() { // montags woche4(3); // Vergleichswert (0, 1, 2, 3) anpassen ! )); schedule('0 0 0 * 3', function() { // mittwochs woche4(2); // Vergleichswert anpassen ! )); -
const idSV = 'hm-rega.0.7868'; function woche4(compare) { var weeks = new Date().getTime() / (7 * 24 * 3600 * 1000); if(Math.floor(weeks % 4) == compare) setState(idSV, true); else setSate(idSV, false); } schedule('0 0 0 * 1', function() { // montags woche4(3); // Vergleichswert (0, 1, 2, 3) anpassen ! }); schedule('0 0 0 * 3', function() { // mittwochs woche4(2); // Vergleichswert anpassen ! });waren nur zwei Vertipper
-
Wofür ist dieser
woche4(3) ```` `An die Funktion wird der Vergleichswert (0 bis 3) für die Woche übergeben, in der die SV am entsprechenden Wochentag true wird (jede 4. Woche).
-
Sorry, das Schedule ist falsch. Richtig:
schedule('0 0 * * 1', function() { // montags woche4(3); // Vergleichswert (0, 1, 2, 3) anpassen ! }); schedule('0 0 * * 3', function() { // mittwochs woche4(2); // Vergleichswert anpassen ! });Für diese Woche ist der Vergleichswert 0 passend. Alle anderen Werte müssen false liefern.
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