Wochenplan - Einrichtesorgen

Hallo,

Für die Ansteuerung eines Motorventiles für das Warmwasser möchte ich einen Wochenplan erstellen. Damit soll dann ein Script ausgeführt werden.

Ziel:
von 05:00 - 05:30 und 16:00 - 16:30 einschalten („WW ein“), restliche Zeit („WW aus“)
(jeweils zu den Startzeiten soll das Script einmalig ausgeführt werden, bei den Endzeiten am liebsten ein anderes Script)

Was habe ich getan?

[ul]
[li]Einrichtung im Baum unterhalb des Scriptes[/li][li]Festlegen von zwei Zuständen „WW ein“ (rot) und „WW aus“ (grün)[/li][li]Link im WF angelegt[/li][/ul]

Was bekomme ich nicht hin?

[ul]
[li]die Festlegung im WF[/li][li]Löschen von Zeitfenstern[/li][li]Einrichten der eingekreisten Zeiträume[/li][li]am liebsten nur die roten Zeiträume -> der Rest ist halt Normalstellung also Ventil geschlossen[/li][/ul]

Zum müssen die Zustände rot und grün mit einer Aktion verknüpft werden? Sie liegen doch beide unter ein und demselben Script.

Gelesen habe ich u.a. hier und hier, will aber nicht werden.

Vielleicht ist auch der technische Ansatz mittels Wochenplan die falsche Idee???

wochenplan.JPG

Hallo Andreas,

so ganz folgen kann ich dir nicht, aber ich beschreibe dir mal wie ich das mache, evtl. hilft dir das weiter.

Ich habe mehrere Wochenpläne für die Heizung, um es aber verständlicher zu machen, beschreibe ich nur meinen normalen Wochenplan für die Heizung.

Im WebFront sieht das so aus:
wp0.jpg

Und hat folgende Auswahlmöglichkeiten:
wp01.jpg

Um das zu bekommen, habe ich eine INTEGER Variable angelegt und mit einem eigenen Profil versehen.

Dann noch unter der Variable einen Wochenplan angelegt und wie folgt konfiguriert:
wp2.jpg
>> Aktion ist jeweils „SetValue($_IPS[‚TARGET‘], 1);“ Wobei die Zahl von 1-4 geht, also das 1. hat die 1, dann das 2. die 2, …

Also wird bei einem aktiven Wochenplan jeweils die Variable auf 1, 2, 3 oder 4 gesetzt (je nachdem was halt grad im Wochenplan „eingeteilt“ ist. Dann hab ich wiederrum ein Skript, welches auf Variablenänderung dieser Variable reagiert und ausgeführt wird. In dem Skript frage ich dann ab, ob die Variable 1, 2, 3 oder 4 ist und dementsprechend wird dann die Temperatur an den Heizungen eingestellt oder was auch immer geschaltet.

Ins WebFront habe ich dann einfach den Wochenplan verlinkt und wenn man dann im WebFront drauf klickt, dann öffnet sich der Wochenplan und man kann seine Einstellungen machen.

Ich hoffe dir hilft das ein wenig :slight_smile:

Grüße,
Chris

Du kannst im WF doch die Zeiträume einfach mit der Maus markieren, und im darauffolgenden Pupup auswählen welche Aktion ausgeführt werden soll. !?

Was das Skript angeht, würde ich diesen Ansatz nehmen.

$id = $_IPS['ACTION'];
SetValue(36779 /*[Wochplan Ereignis\ID]*/, $id);
switch ($id) {
    case 1:
  Ventil öffnen
  break;
   case 2:
   Ventil schließen
    break;
  }  


Oliver

Hallo Chris, hallo Olli,

Meine Erkenntnisse:

Nach vielen Stunden Probieren habe ich nun auch so ein buntes Bild. Geheimnis war das vorherige Aufziehen eines Bereiches mit der Maus, den man danach auf die Minute genau einteilen kann. Ich habe immer ohne Ziehen versucht, das klappte nicht.

Weiterhin ist mir nun klar, dass und wie die angelegten IDs in dem Wochenplanereignis an das Script übergeben werden.

Das Löschen von Zeitfenstern ist mir noch nicht klar - vielleicht geht es auch gar nicht. Habe mal versucht mittels IPS_SetEventScheduleGroupPoint und den vielen -1 etwas zu werden, klappt aber bisher auch nicht. Ist auch vorerst nicht wild und für den Verwendungszwecks auch nicht nötig. (Wenn das Ventil nicht geöffnet ist, kann es ja nur zu sein.)

Auf jeden Fall bin ich dank euch doch ein ganzes Stück weiter.

Löschen gibt es nicht. :wink:

Es gibt ja, wie du auch schon gesagt hast, immer einen Zustand :slight_smile:

paresy

Löschen gibt es nicht.

So, dann ist auch die vorerst letzte Frage zum Wochenplan beantwortet. Ich habe ihn nun in aktiver Benutzung und werde testen, ob er für mein Vorhaben ein gute Wahl ist. Danke an alle Beteiligten.

Ich möchte den Wochenplan, nach ebenfalls anfänglichen „Startproblemen“ (hier könnte man evtl. die ein oder andere bessere/einfachere Doku machen), nicht mehr missen :slight_smile: Endlich kann jeder im Haus die Heizungssteuerung sehr einfach bedienen und Zeiten/Temperaturen einstellen. :cool: Davor war das recht umständlich…

Bei IPS muss man sich leider an vielen Stellen seine Sachen zusammensuchen, oft sind Sachen in der IPS Doku/Wiki veraltet oder in Skripten wurden Variablen abgelöst usw… Aber mit ein wenig Mühe, Ausdauer und Hilfe aus dem Forum, bekommt man alles hin und quasi nichts ist unmöglich :loveips:

Grüße,
Chris

Ich hole den Thread noch einmal nach oben, bei der Forumsuche habe ich nichts gefunden oder übersehen.

Gibt es keine Möglichkeit die gemachten Einstellungen unter Ereignis zu ändern/ kontrollieren? Das Klicken auf den Pfeil hinter Aktion führt automatisch zur Neuanlage des auszuführenden Skriptes/Befehls.

Für eine mögliche Fehlersuche nicht optimal.

Grüße

Pulpataro

Moin Pulpataro!

Ich kann dir leider grad nicht folgen. Könntest du das bitte noch etwas genauer beschreiben und vlt. mit einem Screenshot verdeutlichen?! Du möchtest zu einem Skript einen Event/Ereignis-Trigger per Skript ändern? Aber was hätte das mit dem Wochenplan zu tun? Bitte nochmal genau beschreiben :slight_smile:

Grüße,
Chris

So, ich habe mehrere Wochenpläne, von denen einige funktionieren, andere machen Probleme.
Jetzt liegt bei mir die Vermutung nahe, ich habe vielleicht einen Fehler in der Definition der Wochenplanzustände gemacht, die unter Wochenplan->Ereignis ändern aufgeführt werden.
Problem für mich ist jetzt, wenn ich mir die im Wochenplan eingestellte Aktion anschauen möchte (bei Aktion wird ja nicht alles dargestellt), dann wird durch drücken des Pfeils rechts neben der Aktion nicht die existierende Aktion geöffnet, sondern eine neue Aktion hierfür definiert.

Ereignis_aendern.jpg

Es fehlt mir da die Kontrollmöglichkeit, ob ich vielleicht iwo einen Fehler gemacht habe.

Alternativ, wo werden die Aktionen der Wochenplanzustände abgespeichert, so dass man die PHP-Datei kontrollieren könnte.

Grüße

Pulpataro

Ok, verstehe :slight_smile:

Also direkt in der IPS-Console da müsste @paresy was dazu sagen, ob man das vlt. anpassen/ändern kann.

Aber du könntest den Wochenplan per Skript auslesen und dir alle Infos dazu anzeigen lassen:

<?
$Wochenplan_ID = 12345;  // Hier die Objekt-ID vom Wochenplan eintragen

$EventInfos = IPS_GetEvent($Wochenplan_ID);
print_r($EventInfos);
?>

Dann kommt z.B. so etwas als Rückgabe raus:

Array
(
    [CyclicDateDay] => 0
    [CyclicDateDayValue] => 0
    [CyclicDateFrom] => Array
        (
            [Day] => 0
            [Month] => 0
            [Year] => 0
        )

    [CyclicDateTo] => Array
        (
            [Day] => 0
            [Month] => 0
            [Year] => 0
        )

    [CyclicDateType] => 0
    [CyclicDateValue] => 0
    [CyclicTimeFrom] => Array
        (
            [Hour] => 0
            [Minute] => 0
            [Second] => 0
        )

    [CyclicTimeTo] => Array
        (
            [Hour] => 0
            [Minute] => 0
            [Second] => 0
        )

    [CyclicTimeType] => 0
    [CyclicTimeValue] => 0
    [EventActive] => 1
    [EventID] => 19987
    [EventLimit] => 0
    [EventScript] => 
    [EventType] => 2
    [LastRun] => 1448442000
    [NextRun] => 1448463360
    [ScheduleActions] => Array
        (
            [0] => Array
                (
                    [Color] => 32768
                    [ID] => 1
                    [Name] => Heizung ANWESEND
                    [ScriptText] => SetValue($_IPS['TARGET'], 1);
                )

            [1] => Array
                (
                    [Color] => 16711680
                    [ID] => 2
                    [Name] => Heizung ABWESEND
                    [ScriptText] => SetValue($_IPS['TARGET'], 2);
                )

            [2] => Array
                (
                    [Color] => 65280
                    [ID] => 3
                    [Name] => Heizung ERHÖHT
                    [ScriptText] => SetValue($_IPS['TARGET'], 3);
                )

            [3] => Array
                (
                    [Color] => 255
                    [ID] => 4
                    [Name] => Heizung NACHT
                    [ScriptText] => SetValue($_IPS['TARGET'], 4);
                )

        )

    [ScheduleGroups] => Array
        (
            [0] => Array
                (
                    [Days] => 1
                    [ID] => 0
                    [Points] => Array
                        (
                            [0] => Array
                                (
                                    [ActionID] => 4
                                    [ID] => 2
                                    [Start] => Array
                                        (
                                            [Hour] => 0
                                            [Minute] => 0
                                            [Second] => 0
                                        )

                                )

                            [1] => Array
                                (
                                    [ActionID] => 3
                                    [ID] => 6
                                    [Start] => Array
                                        (
                                            [Hour] => 5
                                            [Minute] => 0
                                            [Second] => 0
                                        )

                                )

                            [2] => Array
                                (
                                    [ActionID] => 2
                                    [ID] => 3
                                    [Start] => Array
                                        (
                                            [Hour] => 10
                                            [Minute] => 0
                                            [Second] => 0
                                        )

                                )

                            [3] => Array
                                (
                                    [ActionID] => 1
                                    [ID] => 5
                                    [Start] => Array
                                        (
                                            [Hour] => 15
                                            [Minute] => 56
                                            [Second] => 0
                                        )

                                )

                            [4] => Array
                                (
                                    [ActionID] => 4
                                    [ID] => 7
                                    [Start] => Array
                                        (
                                            [Hour] => 22
                                            [Minute] => 30
                                            [Second] => 0
                                        )

                                )

                        )

                )

            [1] => Array
                (
                    [Days] => 2
                    [ID] => 1
                    [Points] => Array
                        (
                            [0] => Array
                                (
                                    [ActionID] => 4
                                    [ID] => 12
                                    [Start] => Array
                                        (
                                            [Hour] => 0
                                            [Minute] => 0
                                            [Second] => 0
                                        )

                                )

                            [1] => Array
                                (
                                    [ActionID] => 3
                                    [ID] => 8
                                    [Start] => Array
                                        (
                                            [Hour] => 5
                                            [Minute] => 0
                                            [Second] => 0
                                        )

                                )

                            [2] => Array
                                (
                                    [ActionID] => 2
                                    [ID] => 11
                                    [Start] => Array
                                        (
                                            [Hour] => 10
                                            [Minute] => 0
                                            [Second] => 0
                                        )

                                )

                            [3] => Array
                                (
                                    [ActionID] => 1
                                    [ID] => 15
                                    [Start] => Array
                                        (
                                            [Hour] => 15
                                            [Minute] => 56
                                            [Second] => 0
                                        )

                                )

                            [4] => Array
                                (
                                    [ActionID] => 4
                                    [ID] => 16
                                    [Start] => Array
                                        (
                                            [Hour] => 22
                                            [Minute] => 30
                                            [Second] => 0
                                        )

                                )

                        )

                )

            [2] => Array
                (
                    [Days] => 4
                    [ID] => 2
                    [Points] => Array
                        (
                            [0] => Array
                                (
                                    [ActionID] => 4
                                    [ID] => 21
                                    [Start] => Array
                                        (
                                            [Hour] => 0
                                            [Minute] => 0
                                            [Second] => 0
                                        )

                                )

                            [1] => Array
                                (
                                    [ActionID] => 3
                                    [ID] => 17
                                    [Start] => Array
                                        (
                                            [Hour] => 5
                                            [Minute] => 0
                                            [Second] => 0
                                        )

                                )

                            [2] => Array
                                (
                                    [ActionID] => 2
                                    [ID] => 20
                                    [Start] => Array
                                        (
                                            [Hour] => 10
                                            [Minute] => 0
                                            [Second] => 0
                                        )

                                )

                            [3] => Array
                                (
                                    [ActionID] => 1
                                    [ID] => 22
                                    [Start] => Array
                                        (
                                            [Hour] => 15
                                            [Minute] => 56
                                            [Second] => 0
                                        )

                                )

                            [4] => Array
                                (
                                    [ActionID] => 4
                                    [ID] => 23
                                    [Start] => Array
                                        (
                                            [Hour] => 22
                                            [Minute] => 30
                                            [Second] => 0
                                        )

                                )

                        )

                )

            [3] => Array
                (
                    [Days] => 8
                    [ID] => 3
                    [Points] => Array
                        (
                            [0] => Array
                                (
                                    [ActionID] => 4
                                    [ID] => 27
                                    [Start] => Array
                                        (
                                            [Hour] => 0
                                            [Minute] => 0
                                            [Second] => 0
                                        )

                                )

                            [1] => Array
                                (
                                    [ActionID] => 3
                                    [ID] => 25
                                    [Start] => Array
                                        (
                                            [Hour] => 5
                                            [Minute] => 0
                                            [Second] => 0
                                        )

                                )

                            [2] => Array
                                (
                                    [ActionID] => 2
                                    [ID] => 24
                                    [Start] => Array
                                        (
                                            [Hour] => 10
                                            [Minute] => 0
                                            [Second] => 0
                                        )

                                )

                            [3] => Array
                                (
                                    [ActionID] => 1
                                    [ID] => 26
                                    [Start] => Array
                                        (
                                            [Hour] => 15
                                            [Minute] => 56
                                            [Second] => 0
                                        )

                                )

                            [4] => Array
                                (
                                    [ActionID] => 4
                                    [ID] => 28
                                    [Start] => Array
                                        (
                                            [Hour] => 22
                                            [Minute] => 30
                                            [Second] => 0
                                        )

                                )

                        )

                )

            [4] => Array
                (
                    [Days] => 16
                    [ID] => 4
                    [Points] => Array
                        (
                            [0] => Array
                                (
                                    [ActionID] => 4
                                    [ID] => 44
                                    [Start] => Array
                                        (
                                            [Hour] => 0
                                            [Minute] => 0
                                            [Second] => 0
                                        )

                                )

                            [1] => Array
                                (
                                    [ActionID] => 3
                                    [ID] => 33
                                    [Start] => Array
                                        (
                                            [Hour] => 5
                                            [Minute] => 0
                                            [Second] => 0
                                        )

                                )

                            [2] => Array
                                (
                                    [ActionID] => 2
                                    [ID] => 43
                                    [Start] => Array
                                        (
                                            [Hour] => 10
                                            [Minute] => 0
                                            [Second] => 0
                                        )

                                )

                            [3] => Array
                                (
                                    [ActionID] => 1
                                    [ID] => 45
                                    [Start] => Array
                                        (
                                            [Hour] => 14
                                            [Minute] => 56
                                            [Second] => 0
                                        )

                                )

                        )

                )

            [5] => Array
                (
                    [Days] => 32
                    [ID] => 5
                    [Points] => Array
                        (
                            [0] => Array
                                (
                                    [ActionID] => 4
                                    [ID] => 37
                                    [Start] => Array
                                        (
                                            [Hour] => 0
                                            [Minute] => 0
                                            [Second] => 0
                                        )

                                )

                            [1] => Array
                                (
                                    [ActionID] => 1
                                    [ID] => 36
                                    [Start] => Array
                                        (
                                            [Hour] => 8
                                            [Minute] => 0
                                            [Second] => 0
                                        )

                                )

                        )

                )

            [6] => Array
                (
                    [Days] => 64
                    [ID] => 6
                    [Points] => Array
                        (
                            [0] => Array
                                (
                                    [ActionID] => 4
                                    [ID] => 50
                                    [Start] => Array
                                        (
                                            [Hour] => 0
                                            [Minute] => 0
                                            [Second] => 0
                                        )

                                )

                            [1] => Array
                                (
                                    [ActionID] => 1
                                    [ID] => 40
                                    [Start] => Array
                                        (
                                            [Hour] => 8
                                            [Minute] => 0
                                            [Second] => 0
                                        )

                                )

                            [2] => Array
                                (
                                    [ActionID] => 4
                                    [ID] => 49
                                    [Start] => Array
                                        (
                                            [Hour] => 22
                                            [Minute] => 30
                                            [Second] => 0
                                        )

                                )

                        )

                )

        )

    [TriggerSubsequentExecution] => 
    [TriggerType] => 0
    [TriggerValue] => 
    [TriggerVariableID] => 0
)

Und wie du siehst stehen da auch, unter „ScheduleActions“, die Aktionen mit drin wie bei mir z.B.:

[ScriptText] => SetValue($_IPS['TARGET'], 1);

Grüße,
Chris

Prima, werde ich gleich mal testen.

Ich nutze dieses Verfahren um täglich die Schaltzeiten an meine Wago-SPS zu übertragen.
Funktioniert problemlos