[Modul] Schaltzeiten ermitteln (SwitchtimeDetermination)

Schaltzeiten ermitteln

Grundsätzlich gibt es ja probate Mitten im IPS, um Aktionen zu bestimmten Zeiten ablaufen zu lassen.
Allerdings wird die Kombination aus einer Visualisierung wie dem Wochenplan und variablen Zeiten (häufig Astrozeiten) nicht nativ unterstützt.
Bei solchen variablen Zeiten wie z.B der Sonnenaufgang möchte man aber vielleicht auch angeben, das bestimmte Abläufe auch im Sommer nicht morgens um 4:30 schon stattfinden, sonder vielleicht nicht früher als 6 Uhr. Es fehlt also ein gewisser Rahmen, innerhalb dessen sich diese Zeiten befinden dürfen.

Das leistet das Modul.

Berechnung von täglichen Schaltzeiten:

  • beliebig viele Schaltzeitpunkte pro Tag
  • Angabe der zulässigen Grenzen der Schaltzeiten pro Schaltzeitpunkt
  • zu jedem Schaltzeitpunkt wird eine Referenzvariable angegeben (z.B. die Variablen aus der Location-Instanz)
  • optionale Angabe eines Zeitversatzes zu jedem Bereich
  • Unterstützung von Wochentagen durch Nutzung eines Wochenplans
  • Ermittlung des neuen Zeitpunkts direkt bei Änderung der zugrunde liegenden Referenz-Variablen oder zu einer bestimmten Uhrzeit
  • optionale Ermittlung eines zusätzlichen zufälligen Zeitversatzes
  1. Voraussetzungen

    • mindestens IP-Symcon 6.0
  2. Enthaltene Module
    SwitchtimeDetermination

  3. Installation
    Über den Module Store!
    Zur Zeit noch Beta, also direkt nach Schaltzeiten ermitteln suchen.

  4. Dokumentation
    siehe IPSymconSwitchtimeDetermination

Das Modul kann selbst zu dem Schaltzeitpunkt Aktionen auslösen oder man kann die Zeiten anderen Modulen (z.B. dem Modul BlindControl von @bumaas) zur Verfügung stellen.

Hallo Demel,

das Modul lässt sich nicht installieren.

Ich habe es gerade über den Modulstore in meinem Testsystem „jungfräulich“ installieren können …
hast du irgend eine Fehlermeldung?

ps: welche IPS-Version hast du?

Hi,
im Modulstore wird nichts angezeigt es kommt nur eine weise Seite.

In Modules kommt Meldung Kann kein neues Modul erstellen.

hmm, das sagt mir nix

@paresy: kannst Du mit der Meldung bzw. Nicht-Meldung was anfangen?

Funktioniert super bei mir. @wibo050447 Magst du mal einen Screenshot erstellen?

paresy

Ich kann Dir nur leere Seiten senden ?


nach Eingabe kommt das

Mit der Vorgabe aus git

Dann Modules

Wenn ich das richtig gesehen habe, im Modul-Store hast Du geschrieben „Schaltzeit ermitteln“ anstelle von „Schaltzeiten ermitteln“ (Plural). Bei Beta-Modulen ist der Store da ja etwas pingelig.

Aber der Fehler nach der Installation via git sagt mir leider auch nichts

Bei der git URL sind Leerzeichen hinter der URl.
Zumindest schaut es auf dem Screenshot so aus.
Michael

OK das war es, da funkt es

Das hier → Schaltzeit ermitteln ← bitte im GIT ändern von dort habe ich das kopiert !

Gerade nochmal getestet ohne Leerzeichen funkt es auch nicht (war auch keines vorher drin)

Eventuell hier die Adresse nicht in Ordnung?

@demel42
Auch die Git URL ist in der ReadMe falsch.
falsch:
https://github.com/demel42/SwitchtimeDetermination.git
korrekt:
https://github.com/demel42/IPSymconSwitchtimeDetermination.git
Michael

Dann haben wir ja zum Wochenende alle unser Wochen Erfolgserlebnis :smiley:

Shame on me :scream: … ist korrigiert.

@wibo050447: verstehe aber nicht, das du das immer noch nicht findest, habe das gerade nochmal probiert mit copy&paste

Nachtrag: hatte noch weitere Fehler in library.json und module.json (die URL’s war dort auch falsch) :frowning:

@Dr.Niels : Frage am Rande: der beschreibende Text zum Modul wird das unstrukturiert dargestellt, d.h. ohne Zeilenumbruch - ist das so gewollt? Bzw. kann ich - und wenn ja, wie - einen Zeilenumbruch erzwingen?

An der Stelle in der Konsole werden die Zeilenumbrüche einfach nicht angezeigt. Das hole ich aber sonst einfach nach.

edit: Kommt in der nächsten 6.3

2 „Gefällt mir“

Ich habe mir das Modul auch mal installiert aber so ganz klar wird mir der Funktionsumfang des Moduls noch nicht. In der Konfiguration habe ich jetzt das Wochenpla-Ereignis angegeben, also den Wochenplan. Nun fehlt in der Konfiguration noch ein „Bereich“, welcher angegeben werden muss. Hier wiederum wird nach einer Referenz-Variablen gefragt. Ich vermute, das es die Variable ist, welche über den Wochenplan gesetzt wird. Diese besitze ich aber nicht, da für Blindcontrol nur 2 Zeiten hintelegt sind mit der Aktion „Führe PHP Code aus“.

Von daher komme ich jetzt nicht so richtig weiter…

Das Modul dient ja dazu, das man variable Zeiten ermittle (abhängig von der jew. Referenzvariable), die aber innerhalb eines definierten Zeitbereichs liegen (um das anzugeben dient der Wochenplan).

D.h. Einrichtung sinnvollerweise in der Reihenfolge

  1. Einrichten der Bereiche: jeder Bereiche dient zur Angabe des Bereiches, innerhalb diese Schaltzeit liegen soll.
    Für eine BlindControl wären das zwei Bereiche, „Auf“ und „Ab“ (Benennung egal)
  2. nach Eingabe der Bereiche → Speichern (es entstehen soviel Variablen wie Bereiche) → „WP erstellen“ lassen (Funktion steht nur zur Verfügung, wenn noch keine WG eingetragen ist)
    Man kann auch einen WP angeben für den Fall, das man mehrere solche Instanzen hat und diese nur einmal konfigurieren möchte
  3. den WP konfigurieren (siehe README)
  4. für den BlindControl am einfachsten noch das Format für die String-Repräsentation setzen (siehe README), dann entstehen zusätzlich für jede Schaltzeit eine formatierte String-Variable (auch hier siehe README)
    Die kannst du dann direkt im BlindControl verwenden.

Oder, falls es um anderen Schaltvorgänge geht (zB Nachtlicht ein/aus) kann man direkt im Modul auch beliebig viele Aktionen angeben, wobei anhand der dort angegebenen ID die Verknüpfung mit dem o.g. Bereich hergestellt wird - diese Aktionen werden bei Erreichen der Schaltzeit ausgeführt.

Beispiel

Schaltet also Abends zwischen 18:00 und 19:30 ein (Farbe gelb im WP) und morgens zwischen 05:00 und 07:30 aus (blau).

Damit ist sichergestellt, das das Licht zB im Sommer nicht zum 7Uhr noch scheint (wo es doch hell ist).
Bei Rolläden ist es sogar störender (weil mit Geräusch verbunden), wenn zB morgens um 5Uhr der Rolladen hoch geht, weil es schon hell genug ist aber im Winter erst um 9 Uhr (weil es dunkel/bedeckt ist)

Das ich bei den Aktionen „Führe PHP Code aus“ gewählt habe ist nur, weil ich das auch noch protokollieren, man kann auch einfach einen Schaltvorgang auswählen.

So ganz verstehe ich das noch nicht…
Aber wenn ich einen WP erstellen lasse, dann müsste ich ja zB in BlindControl den neu erstellten Wochenplan konfigurieren bzw angeben oder verstehe ich das falsch?

Ich muss mit dem Modul Mal etwas herumspielen um den Sinn und die Funktion dessen überhaupt zu verstehen.

Was mich etwas stört, da ich IPS Studio einsetze, das es kein simples Widget, schönes und kompaktes Widget gibt um einen Wochenplan zu verstellen. Bei mir endet das meist in Frust und dem Ärger, das man den Wochenplan irgendwann so verstellt hat, das man ihn nur noch über die Webconsole von IPS korrigieren kann. Ich habe zB einen Wochenplan, der alle 30min für 5min die Zirkulationspumpe einschaltet. Dieses in IPS Studio zu korrigieren oder anzupassen ist mit dem Widget in IPSView unmöglich

Nein, im BlindControl wird der WP des BlindControl angegeben. Der WP im BlindControl dient ja dazu, feste Zeiten anzugeben. Wenn man das nicht möchte, sonder zB in Abhängigkeit von der Dämmerung, kann im BlindControl ja die String-Variablen für Tages-Start- und Ende angeben.
Diese Variablen können u.a. von diesem Modul erzeugt/gesetzt werden.
Hier dient der WP dazu, dan man Bereiche für die Schaltzeiten angeben kann, die genaue Schaltzeit kommt aus der Referenzvariable (wie in meinem Beispiel) und wird gegen den jew. Bereich abgeglichen.

Wie gesagt, der Sinn des Moduls liegt nur darin, variable Zeiten zu bekommen, die aber innerhalb bestimmter Grenzen liegen.

Alles, was ich so typischerweise an Licht, Rolladen (+ Temperatur) bei mir schalte ist nur selten mit festen Zeiten versehen sondern hängt von den Astrozeiten ab.

Ich nutze hier den WP, weil der ja in der IPS-GUI gut unterstützt wird. Das das nicht im IPS-View so ist, ist natürlich schade, aber ich nutze IPS-View aus anderen Gründen nicht, aber das muss ja jeder für sich selbst entscheiden.