Wochenplan per Skript ändern

Hallo,

ich nutze das Rollladenmodul BlindControl. Dort wird für das Fahren der Rollladen u.a. ein Wochenplan benutzt, ohne das etwas mit dem Wochenplan gesteuert wird (nur für die Zeiten).

Ich möchte, da ich im 4-Schicht (2x FS, 2x SS, 2x NS, 2x Frei) tätig bin und mein Wochenende nicht immer auf Samstag und Sonntag fällt, den Wochenplan mit einem Script an meine wechselnden Zeiten anpassen.

Wie kann ich per Script die Zeiten eines Wochenplans (Mo-So) ändern???

Ich habe zwar in der Doku den Befehl:

boolean IPS_SetEventScheduleGroupPoint (integer $EreignisID, integer $GruppenID, integer $SchaltpunktID, integer $StartStunde, integer $StartMinute, integer $StartSekunde, integer $AktionsID)

gefunden, jedoch komme ich mit den ID’s nicht klar, bzw. funktionierte das Umstellen nicht.

Kann mir bitte jemand die Syntax anhanf eines Beispiels nennen.

Vielen Dank !!!

Grüße
Proxima

Das Beispiel in der Doku hilft Dir nicht?

https://www.symcon.de/service/dokumentation/befehlsreferenz/ereignisverwaltung/ips-seteventschedulegrouppoint/

In der „Parameterliste“ ist die Bedeutung der einzelnen IDs erklärt.

Zeig doch mal, was Du gemacht hast, was nicht funktioniert und welche Fehlermeldungen es gibt. Damit kommen wir hier wahrscheinlich schneller weiter.

Ich würde dir hier gar nicht den Befehl IPS_SetEventScheduleGroupPoint empfehlen, sondern eher auf IPS_SetEventScheduleGroup zurückgreifen. In deinem Plan kannst du dann eine Tagesgruppe für „Wochenende“ und eine für „Arbeitstag“ definieren. Per IPS_SetEventScheduleGroup kannst du dann die dazugehörigen Tage anpassen, so dass halt in einer Woche das „Wochenende“ auf Mittwoch und Donnerstag liegt und in der nächsten auf Montag und Dienstag, etc.

Hallo,

meine Idee war:
Bei jedem Rollladen im Blind Control ist ein Wochenplan hinterlegt (1x offen von/bis und 1x geschlossen von/bis; Meines Wissens nach werden damit nur die Zeiten für öffnen/Schließen wieder zurück gelesen).

  • Für das Schlaf- und Ankleidezimmer erstelle ich einen separaten (Schicht-)Wochenplan.
  • In diesem Wochenplan setze ich für alle 7 Tage (Mo-So) die gleiche Zeit per Script (weil ich ja nicht weiß, an welchem Wochentag die entsprechende Schicht ist).
  • In dem Script wird die Offen- und Geschlossen-Zeit des Wochenplans in Abhängigkeit mehrerer zyklischer Ereignisse gesetzt.
  • Es werden 4 zyklische Ereignisse erstellt (Frühschicht, Spätschicht, Nachtschicht, Frei), welche ich jeweils im 9-Tage-Rythmus zyklisch ausführe und damit das Script triggere.
  • Im Script wird anhand des ausgelösten Ereignisses ($_IPS[‚EVENT‘]) mit einer SWITCH-Anweisung der Wochenplan entsprechend geändert.

Ich hätte nun für das Ändern der Zeiten den Befehl: IPS_SetEventScheduleGroupPoint verwendet, ich habe allerdings Probleme bei den Parametern:

  • EreignisID: Ich denke die ID des Wochenplans der geändert werden soll
  • GruppenID: Welche Gruppe/ID ??? Die Tage??? Ich habe ja nur eine Gruppe (Mo-So), ist die dann 0 oder 1 oder ???
  • SchaltpunktID: ID für Offen-Zeitraum und ID für Geschlossen-Zeitraum ???
  • Start Stunde/Minute/Sekunde: OK, Startzeit, aber wo ist die Endzeit ???
  • AktionsID: Ich habe aber keine Aktion, also welche ID ???

Gruß
Proxima

Überprüfe bitte mal die ?-Taste auf Deiner Tastatur. Mit der scheint etwas nicht in Ordnung.

Richtig

Ja, 0 - so wie in dem Beispiel in der Doku erkennbar .

Der erste Schaltpunkt, also der erste Eintrag im Wochenplan, hat die SchaltpunktID 0. Der zweite die 1. Kannst auch bei 1 anfangen. Wie Du möchtest.

Die Startzeit des nächstes Eintrages ist sozusagen die Endzeit.

Irgendwelche Einträge muss der Wochenplan haben. Im Beispiel ist 0 = warm und 2 = Öko. Das sind die Aktionen, die Du wahrscheinlich vorher mit IPS_SetEventScheduleAction angelegt hast.

Hallo,

sorry, aber ich schnalls nicht. Bitte, wie genau lauten die Befehle, um die Zeiten für Geschlossen und Geöffnet zu ändern?

Grüße
Proxima

IPS_SetEventScheduleGroupPoint - falls ich Dich richtig verstanden habe.

Ich glaube, am Besten kommen wir hier weiter, wenn Du mal zeigst, wie dein Skript aussieht, mit welchem Du versuchst, den Wochenplan zu ändern. Dann kann man gezielter helfen.

Anhand des letztens Screenshots wissen wir immerhin schon mal, dass die SchaltpunktIDs 1 für „Geschlossen“ und 2 für „Geöffnet“ sind. Die GruppenID sollte dann 0 sein. Fehlen eigentlich nur noch die ID des Ereignisses und die Uhrzeiten - fertig ist der Befehl.

Hallo,

das Script ist bis jetzt nur der Befehl zum Ändern der Zeiten. Das drumrum, bei welchem Ereignis was einzustellen ist, das kriege ich hin, nur den Änderungsbefehl an sich nicht.

Hier das Script und die Meldung beim Ausführen …

Als Aktion im Wochenplan ist jeweils „Führe PHP-Code aus“ eingestellt. Welche Aktions-ID muss ich dann angeben?

Grüße
Proxima

Das war leider falsch von mir. Sorry. Das sind Deine AktionsIDs. 1 ist die Aktions ID für „Geschlossen“ und 2 die für „Geöffnet“. Also deine beiden letzten Nullen müssen 1 und 2 lauten.

Hallo,

so geht’s nicht:

und so auch nicht:

Grüße
Proxima

IPS_SetEventScheduleGroupPoint($id, 0, 0, 9, 0, 0, 2);
IPS_SetEventScheduleGroupPoint($id, 0, 1, 22, 0, 0, 1);

Sollte funktionieren. Anscheinend muss man vorne am Tag anfangen :slight_smile: Steht nicht in der Doku, scheint aber so zu sein.