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.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login