Rolladen morgens hochfahren 15 Minuten vor Sonnenaufgang aber nicht vor 6 Uhr

  • Hallo Zusammen,

    ich habe bei einem Bekannten 4 Shelly 2.5 für Rollladensteuerung installiert, weil ich es nicht mehr mit ansehen konnte, wenn bei ihm im Sommer die Rollläden um 19 Uhr herunterfahren, weil er mit dem Nachstellen seiner Zeitschaltuhren nicht hinterher kommt.

    Von dem Komfort zunächst begeistert kommt er jetzt zur Sonnenwende und meint, dass ihm 5:30 doch zu früh ist und er von den Rollladenmotoren geweckt wird. "Kein Problem" dachte ich zunächst, musste dann aber feststellen, dass ein Shelly 2.5 keine Timer-Logik kann - entweder Sonnenaufgang oder Zeit, aber keine Kombination aus beiden. Bei FHEM wäre das mit einer Zeile erledigt (https://wiki.fhem.de/wiki/SUNRISE_EL - Bsp. define Rollladen_morgens at *{sunrise(0,"06:00","08:00")} set grpRolladen up), aber mit einem Shelly ohne Hausautomatisierung im Hintergrund ist das Problem nicht lösbar.

    Irgendwann habe ich mal von der Möglichkeit gelesen, dass man Shellys jetzt mit einem Skript programmieren kann. Weil der Shelly 2.5 das nicht kann müsste die preisgünstigste und einfachste Lösung mit einem Shelly 1 Plus realisierbar sein. Nach der Durchsicht der Skript Beispiele ist dabei diese Lösung entstanden: Timer Rolladen morgens.js.txt

    Mit der Test-IP produziert das Skript folgende Ausgabe und die Timer sind anschließend entsprechend enabled bzw. disabled.

    Code
    Rolladentimer initialisieren...
    Sonnenaufgang (UTC): 2022-07-01T03:25:27+00:00
    Tag: 1 Monat: 7 Jahr: 2022
    Stunde: 3 Minute: 25 Sekunde: 27
    Wochentag: 5
    Sonnenaufgang vor 6 Uhr
    Shutter: 192.168.37.220 Timer1 => false Timer2 => true
    Shutter: 192.168.37.220 Timer: 1 enable: false
    Shutter: 192.168.37.220 Timer: 2 enable: true

    Bei der Programmierung ergaben sich folgende Probleme:

    1. Ein Shelly kann selber die Zeiten für Sonnenaufgang und Sonnenuntergang berechnen. Ich habe aber leider nicht herausgefunden, wie man diese Werte abfragen bzw. nutzen kann. Deshalb => https://api.sunrise-sunset.org

    2. Beim Extrahieren und Umwandeln von Zahlen aus Zeichenketten hat kein im Internet gefundenes Verfahren funktioniert. Deshalb ASCII()-48 => getNumber()

    3. Lt. Doku kann man die "timespec" eines Timers über URL ändern. Syntax unbekannt?


    Über Anregungen, besonders wg. der "timespec"-Änderung, würde ich mich freuen ...


    Gruß

    Manfred

  • musste dann aber feststellen, dass ein Shelly 2.5 keine Timer-Logik kann

    Diese Themen bieten keine Lösung für die Anforderung?

    Suche Bedingung.PNG

  • Diese Themen bieten keine Lösung für die Anforderung?

    Nicht wirklich. Ein Hilfs-Shelly pro Shelly 2.5 würde zwar ein Skript überflüssig machen, ist aber zu teuer und auch praktisch nicht umsetzbar. So viel Platz ist hinter den Tastern nicht mehr für die Hilfs-Shellys und der Verdrahtungsaufwand kommt noch hinzu.

    Das Skript-Feature ist für Anwender ohne FHEM u.a. eigentlich ideal.

    Wenn das Problem mit dem Update von "timespec" gelöst ist reicht sogar ein Timer, in den dann die gewünschte Zeit geschrieben wird: 15 Minuten vor Sonnenaufgang oder 6 Uhr, je nachdem was später ist.

  • Wenn das Problem mit dem Update von "timespec" gelöst ist reicht sogar ein Timer, in den dann die gewünschte Zeit geschrieben wird: 15 Minuten vor Sonnenaufgang oder 6 Uhr, je nachdem was später ist.

    So einfach kann das sein:

    Code
    http://192.168.37.220/rpc/Schedule.Update?id=2&timespec=%220%200%208%20*%20*%20SUN,MON,TUE,WED,THU,FRI,SAT%22

    Leerzeichen hatte ich schon durch %20 ersetzt. Was noch fehlte waren die Anführungszeichen mit Code %22 vorne und hinten.

  • Dieses Thema enthält 21 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.