YESLY Smart Home

Startseite Foren Fibaro Forum (Z-Wave) Fibaro LUA Scripts für HC2 Rollladen-Steuerung (Sonnenaufgang/-untergang)

Dieses Thema enthält 338 Antworten und 37 Teilnehmer. Es wurde zuletzt aktualisiert von Tramix Tramix vor 3 Monate, 3 Wochen.

Ansicht von 15 Beiträgen - 301 bis 315 (von insgesamt 339)
  • Autor
    Beiträge
  • #84294

    boomx
    Teilnehmer

    Welchen Status hat das RS-Modul nach dem Blockieren? Wie ist der Stromverbrauch dabei?

    Gruß

    #84301
    Cannon_82
    Cannon_82
    Teilnehmer

    Moin Moin, der Rollladen hat den Status wie nach der letzen Bewegung, also geöffnet oder geschlossen. Laut dem „Energy Panel“ gab es einen Stromverbrauch wie beim normalen Schließen.

    Als ich daneben saß und den Rollladen über die App steuern wollte, habe ich auch ein kurzes schalten gehört, aber der Rollladen hat dann eben direkt nichts getan. Diese Schaltvorgänge haben nichts verbraucht.

    #84321

    boomx
    Teilnehmer

    Wenn der Status unverändert und der Stromverbrauch wie bei einem normalen Schließvorgang ist, dann kannst du den Status nach den Befehl abfragen. Sollte sich allerdings der Status ändern, dann kannst du es nicht ermitteln.

    Alternativ kannst du natürlich auch den Stromverbrauch nach dem Schaltvorgang auslesen. Sollte sich dieser nicht ändern, dann passiert nichts. Geht dieser Wert hoch, dann fährt der Rollladen. Andere Möglichkeiten hast du nicht.

    Gruß

    #84324
    Cannon_82
    Cannon_82
    Teilnehmer

    Alles klar, dankeschön. Hatte gehofft das es zu einer planmäßigen Fehlermeldung des Moduls kommt, welche man dann nur noch verarbeiten muss.

    #86985

    mlaubach
    Teilnehmer

    Jungs, was habe ich falsch gemacht? Rolladen soll nach Sonnenauf- und Untergang fahren, bzw. abends spätestens um 19:00 Uhr runterfahren. Es passiert jedoch nichts :-(

    –[[
    %% autostart
    %% properties
    %% globals
    –]]

    local minSonAuf = ‚-10‘ — Vohrzeichen – + min. wo die Sonne Frueher auf geht… SonnenAufgang.
    local minSonUnt = ‚+30′ — Vohrzeichen – + min. wo die Sonne Spaeter unter geht… SonnenUntergang.
    local zeitFruehstensAuf = ’07:30′ –Fruehstens wenn die Sonne auf geht.
    local zeitSpaetestensAuf = ’08:30′ –Spaetestens wenn die Sonne auf geht.
    local zeitMaxUntergang = ’19:00‘ –Spaetestens wenn die Sonne unter geht.

    ———————————————————————————
    debug = function ( color, message )
    fibaro:debug(string.format(‚<%s style=“color:%s;“>%s‘, „span“, color, message, „span“))
    end
    ————————————————————————————

    —————————————————————————————-
    local sourceTrigger = fibaro:getSourceTrigger();
    local version = ‚2.0‘;

    debug(‚darkgreen‘,“Rollershutter-Controller-Schlafzimmer startet das erste mal (Ver.“ .. version .. „)“);
    —————————————————————————————
    function rollershutter()

    local Sonnenaufgang = fibaro:getValue(1,’sunriseHour‘);
    local string = Sonnenaufgang
    local a, b = string:match(„([^,]+):([^,]+)“)
    local VersetzteSonnenaufgang = os.date(„%H:%M“, -3600+ a*60*60 + (b*60+minSonAuf*60));
    —————————————————————————————-
    local Sonnenuntergang = fibaro:getValue(1,’sunsetHour‘);
    local string = Sonnenuntergang
    local a, b = string:match(„([^,]+):([^,]+)“)
    local VersetzteSonnenuntergang = os.date(„%H:%M“, -3600+ a*60*60 + (b*60+minSonUnt*60));
    —————————————————————————————-
    local version = ‚2.0‘;
    local currentDate = os.date(‚*t‘);
    local rollershutter_run = tonumber(fibaro:getGlobalValue(‚rollershutter_run‘));
    —————————————————————————————–
    —################# Sonnenaufgang !! ###############################################
    —————————————————————————————–
    if ((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7)
    and ((VersetzteSonnenaufgang >= zeitFruehstensAuf and (os.date(„%H:%M“, os.time()) == VersetzteSonnenaufgang or os.date(„%H:%M“, os.time()) == zeitSpaetestensAuf))
    or (VersetzteSonnenaufgang < zeitFruehstensAuf and os.date(„%H:%M“, os.time()) == zeitFruehstensAuf))
    and rollershutter_run == 0)
    then

    debug(‚darkkhaki‘,“Rollershutter-Controller-Schlafzimmer hat gestartet (Ver.“ .. version .. „)“);
    fibaro:setGlobal(‚rollershutter_run‘, ‚1‘);

    fibaro:call(364, ‚open‘);

    debug(‚yellow‘,“Rollos wurden geoefnet.“);
    fibaro:setGlobal(‚rollershutter_run‘, ‚0‘);
    —————————————————————————————–
    —################ Sonnenuntergang !! ##########################################—
    —————————————————————————————–
    elseif ((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7)
    and ((VersetzteSonnenuntergang <= zeitMaxUntergang and os.date(„%H:%M“, os.time()) == VersetzteSonnenuntergang)
    or (VersetzteSonnenuntergang >= zeitMaxUntergang and os.date(„%H:%M“, os.time()) == zeitMaxUntergang))
    and rollershutter_run == 0)
    then

    debug(‚darkkhaki‘,“Rollershutter-Controller-Schlafzimmer hat gestartet (Ver.“ .. version .. „)“);
    fibaro:setGlobal(‚rollershutter_run‘, ‚1‘);

    fibaro:call(364, ‚close‘);

    debug(‚royalblue‘,“Rollos wurden geschlossen.“);
    fibaro:setGlobal(‚rollershutter_run‘, ‚0‘);

    end
    —#######################################################################################
    setTimeout(rollershutter, 60*1000);
    end
    ——————————————————————————————
    —-######## Wird geschaut ob tag oder nacht ist. #####################################—
    ——————————————————————————————
    —————————————————————————————

    local Sonnenaufgang = fibaro:getValue(1,’sunriseHour‘);
    debug(‚gold‘, „“..Sonnenaufgang..“ … echte Sonnenaufgang“)
    debug(’steelblue‘, „“..minSonAuf..“ Aufgesetzte zeit in minuten… Sonnen Aufgang.“)
    local string = Sonnenaufgang
    local a, b = string:match(„([^,]+):([^,]+)“)
    local VersetzteSonnenaufgang = os.date(„%H:%M“, -3600+ a*60*60 + (b*60+minSonAuf*60));
    debug(‚yellow‘,““..VersetzteSonnenaufgang..“ Versetzte…. Sonnenaufgang“)

    —————————————————————————————-

    local Sonnenuntergang = fibaro:getValue(1,’sunsetHour‘);
    debug(‚orangered‘,““..Sonnenuntergang.. “ … echte Sonnenuntergang“)
    debug(’steelblue‘, „“..minSonUnt..“ Aufgesetzte zeit in minuten… Sonnen Untergang.“)
    local string = Sonnenuntergang
    local a, b = string:match(„([^,]+):([^,]+)“)
    local VersetzteSonnenuntergang = os.date(„%H:%M“, -3600+ a*60*60 + (b*60+minSonUnt*60));
    debug(‚red‘,““..VersetzteSonnenuntergang..“ Versetzte… Sonnenuntergang“)

    —————————————————————————————-
    if (os.date(„%H:%M“, os.time()) > VersetzteSonnenaufgang)
    and (os.date(„%H:%M“, os.time()) < VersetzteSonnenuntergang) then
    debug(‚coral‘,“Es ist Tag“);
    else
    debug(‚royalblue‘,“Es ist Nacht“);
    end
    —###############################################################################

    if (sourceTrigger[‚type‘] == ‚autostart‘) then
    rollershutter();
    end

    Danke für Eure Rückmeldung …

    #91084

    fuzzi
    Teilnehmer

    Hallo, vielleicht kann mich auch einer weiterhelfen. Ich teste das Script mit einem Rollladen und der Feiertagssteuerung (https://www.siio.de/board/thema/rollladen-steuerung-sonnenaufgang-untergang/page/17/). Momentan wird jede Minute ein Debug-Eintrag hierzu erzeugt:

    [DEBUG] 18:09:13: 06:55 … Sonnenaufgang
    [DEBUG] 18:09:13: -15 min… Zeitverzögerung zum Sonnenaufgang.
    [DEBUG] 18:09:13: 06:40 Öffnen der Rolladen.
    [DEBUG] 18:09:13: 19:55 … SonnenUntergang
    [DEBUG] 18:09:13: 5 min. Zeitverzögerung Sonnenuntergang.
    [DEBUG] 18:09:13: 20:00 schließen der Rolladen sofern die Temperatur 7 °C unterschreitet
    [DEBUG] 18:09:13: Die Rolladen werden um 06:40 zuzüglich einer zufälligen Verzögerung öffnen.
    [DEBUG] 18:09:13: Die Rolladen werden um 20:00 zuzüglich einer zufälligen Verzögerung geschlossen, sofern die Temperatur 7 °C unterschreitet.
    [DEBUG] 18:09:13: Rolladen-Controller startet das erste mal!
    [DEBUG] 18:09:13: Heute ist Wochenende oder ein Feiertag.
    [DEBUG] 18:10:13: Heute ist Wochenende oder ein Feiertag.
    [DEBUG] 18:11:13: Heute ist Wochenende oder ein Feiertag.
    [DEBUG] 18:12:13: Heute ist Wochenende oder ein Feiertag.
    [DEBUG] 18:13:13: Heute ist Wochenende oder ein Feiertag.

    Das bedeutet ja auch, dass jede Minute die Prüfung abläuft. Eigentlich würde das ja 1 x am Tag reichen ?! Wo kann ich das ändern, dass dies nur 1 x täglich geprüft wird ?
    Vielen Dank schon mal !

    #91239

    Ewald113
    Teilnehmer

    Hallo Zusammen.

    Hab das Script in Version 2.3 am laufen. Der Sonnenschutz ist genial. Bei Jalousien wäre es aber noch schön, wenn man die Lamellen Position einstellen könnte. Hat sich jemand darüber Mal Gedanke gemacht? Problem ist ja das die Jalousien erst runter fahren müssen und danach die Lamellen Position geändert werden muss.

    #92543
    n4f3ts
    n4f3ts
    Teilnehmer

    Hallo zusammen

    Ich habe zwei Probleme

    Fehlermeldung:

    timer handler failed with error

    Und die rolladen fahren immer hoch aber nie runter

    #92549
    Hoggle
    Hoggle
    Moderator

    Hi,

    Und welches Script genau nutzt Du?

    Viele Grüße Hoggle


    Immer hilfreich: Siio-Datenbank
    #92557
    n4f3ts
    n4f3ts
    Teilnehmer

    ich nutze die Version 2.3

    #92749

    fuzzi
    Teilnehmer

    Hallo, bei mir kommt jetzt auch eine Fehlermeldung.

    Wer kann mir bitte weiterhelfen, ggfs. auch per TeamViewer ?

    [DEBUG] 19:17:25: 05:53 … Sonnenaufgang
    [DEBUG] 19:17:25: -15 min… Zeitverzögerung zum Sonnenaufgang.
    [DEBUG] 19:17:25: 05:38 Öffnen der Rolladen.
    [DEBUG] 19:17:25: 20:44 … SonnenUntergang
    [DEBUG] 19:17:25: 5 min. Zeitverzögerung Sonnenuntergang.
    [DEBUG] 19:17:25: 20:49 schließen der Rolladen sofern die Temperatur 7 °C unterschreitet
    [DEBUG] 19:17:25: Die Rolladen werden um 06:00 zuzüglich einer zufälligen Verzögerung öffnen.
    [DEBUG] 19:17:25: Die Rolladen werden um 20:49 zuzüglich einer zufälligen Verzögerung geschlossen, sofern die Temperatur 7 °C unterschreitet.
    [DEBUG] 19:17:25: Rolladen-Controller startet das erste mal!
    [DEBUG] 19:17:25: Heute ist Wochenende oder ein Feiertag.
    [DEBUG] 19:17:25: Die Rolladen bleiben oben… es sind 9 Lux und 1 min bis die Rollos auf 95% fahren.
    [DEBUG] 19:18:25: Heute ist Wochenende oder ein Feiertag.
    [DEBUG] 19:18:25: [1;31m2018-05-09 19:18:25.355725 [ error] timer handler failed with error

    #93150

    fuzzi
    Teilnehmer

    @alando22
    Hey, ich habe Dein Script jetzt verwendet. Der Sonnenschutz klappt, jedoch fahren die Rollladen abends nicht herrunter. Nur wenn ich die Abfragen bzgl. der Sonnenuntergangszeiten, etc. lösche, dann funktioniert es.

    das geht:

    elseif os.date(„%H:%M“, os.time()) == zeitMaxUntergang

    das geht nicht:
    elseif ((VersetzterSonnenUntergang < zeitMaxUntergang and os.date(„%H:%M“, os.time()) == VersetzterSonnenUntergang)
    or (VersetzterSonnenUntergang > zeitMaxUntergang and os.date(„%H:%M“, os.time()) == zeitMaxUntergang)
    and (tonumber(rollershutter_runs) == 0))

    Meinst Du könntest mir hier weiterhelfen ?

    #93165

    alando22
    Teilnehmer

    @fuzi

    Bei mir haben die Rolladen nur eine Kältschutzfunktion. Das heisst, sie fahren nur unterhalb von 7° C herunter. Schau mal in die Zeile 32.
    Dort den Wert „local maxTempStart = 7“ einfach auf eine Temperatur von 35° C setzen und deine Rolladen dürften jeden Abend herunterfahren.

    #93755

    fuzzi
    Teilnehmer

    @alando22
    Vielen Dank für die Info, war nur im Urlaub… Habs jetzt einigermaßen hinbekommen, bin aber noch am testen. Gibt’s denn auch ne Lösung für Urlaub/Ferien, d.h. idealerweise trage ich die Ferientage von-bis irgenwo ein. An diesen Tagen gilt dann quasi die Feiertags-/Wochenend-Einstellung.

    #93918

    Andi_L.
    Teilnehmer

    Hallo zusammen,

    erst mal vielen lieben Dank für das wirklich tolle Script. Ich nutze die aktuelle Version 2.3
    Es läuft auch bei mir soweit perfekt durch, bis auf eine Kleinigkeit:
    Bei mir findet keine Prüfung der geöffneten Tür statt. Egal ob die Tür auf oder zu ist, fahrt der Rollo runter.
    Die entsprechende Stelle befindet sich bei mir in Zeile 288

    `–[[
    %% autostart
    %% properties
    59 value
    %% globals
    –]]

    local minSonAuf = ‚-1‘ — Verzögerungszeit in Minuten zum öffnen der Rolläden bei Sonnenaufgang.
    local minSonUnt = ‚+155′ — Verzögerungszeit in Minuten zum schließen der Rolläden bei Sonnenuntergang.
    local zeitFruehstensAuf = ’06:00′ — Zeitpunkt ab dem die Rolläden frühestens öffnen (Nicht am WE & Feiertag).
    local zeitSpaetestensAuf = ’06:30′ — Zeitpunkt ab dem die Rolläden frühestens öffnen (Nicht am WE & Feiertag).
    local zeitWeFtAuf = ’08:30′ — Zeitpunkt, an dem am Wochenende und an Feiertagen die Rolläden öffnen (fixer Zeitpunkt)
    local zeitMaxUntergang = ’23:45‘ — Spätester Zeitpunkt, an dem die Rolläden schließen
    local maxTempStart = 40 — Temperatur unterhalb der die Rolladen abends schließen sollen

    local startSunLux = 1000 — über 10.000 Lux für zu
    local startSunDelay = 0 — 5 Min bis zu
    local endSunLux = 700 — unter 1.000 Lux für auf
    local endSunDelay = 2 — 20 Min bis auf
    local sunProtectPosition = 50 — Sonnen schutz position für Rollos.
    local sunProtectTempMin = 20 — Grenztemperatur, überhalb derer der Sonnenschutz aktiviert werden soll

    local luxSensor = 171 — ID desHellichkeitssensors
    local tempSensor = 170 — ID des Temperatursensors (Außentemperatur)
    local rebootSceneID = 61 — ID der eigenen Scene die rebotet wird.
    local meldungenDebug = 0 — Hilfsvariable um die Meldungen nicht andauernd zu wiederholen.

    local rs_wohnraum1 = 41; — IDs der Roller Shutter.
    –local rs_wohnraum2 = 88;
    –local rs_wohnraum3 = 92;
    –local rs_arbeitszimmer1 = 41;
    –local rs_arbeitszimmer2 = 43;
    –local rs_bad1 = 62;
    –local rs_bad2 = 64;

    local doorID1 = 59; — ID des Türkontakts
    –local doorID2 = ; –Platzhalter für weitere Türkontakte (siehe WHILE-Schleifen bei ca. Zeile 275)
    –local doorID3 = ; –Platzhalter für weitere Türkontakte (siehe WHILE-Schleifen bei ca. Zeile 275)
    ————————————————————————————————————————-
    –################################ ab hier nichts mehr ändern! ##########################################################
    ————————————————————————————————————————-
    debug = function ( color, message )
    fibaro:debug(string.format(‚<%s style=“color:%s;“>%s‘, „span“, color, message, „span“))
    end
    –#######################################################################################
    local sourceTrigger = fibaro:getSourceTrigger();
    function sceneReboot()
    local currentDate = os.date(„*t“);
    if ((currentDate.hour == 2) and (currentDate.min >= 0)and (currentDate.min < 1))
    or sourceTrigger[„type“] == „other“ then
    debug(’salmon‘,“Neustart der Szene!“)
    fibaro:sleep(1*60*1000)
    fibaro:startScene(rebootSceneID);
    end
    setTimeout(sceneReboot, 1*60*1000)
    end
    –########## Berechnung versetzter Sonnenaufgang und versetzter Sonnenuntergang ############
    debug(‚gold‘, „“..fibaro:getValue(1,’sunriseHour‘)..“ … Sonnenaufgang“)
    debug(’steelblue‘, „“..minSonAuf..“ min… Zeitverzögerung zum Sonnenaufgang.“)
    local a, b = fibaro:getValue(1,’sunriseHour‘):match(„([^,]+):([^,]+)“)
    local VersetzterSonnenAufgang = os.date(„%H:%M“, -3600+ a*60*60 + (b*60+minSonAuf*60));
    debug(‚yellow‘,““..VersetzterSonnenAufgang..“ Öffnen der Rolladen.“)
    —————————————————————————————-
    debug(‚orangered‘,““..fibaro:getValue(1,’sunsetHour‘).. “ … SonnenUntergang“)
    debug(’steelblue‘, „“..minSonUnt..“ min. Zeitverzögerung Sonnenuntergang.“)
    local a, b = fibaro:getValue(1,’sunsetHour‘):match(„([^,]+):([^,]+)“)
    local VersetzterSonnenUntergang = os.date(„%H:%M“, -3600+ a*60*60 + (b*60+minSonUnt*60));
    debug(‚orangered‘,““..VersetzterSonnenUntergang..‘ schließen der Rolladen sofern die Temperatur ‚..maxTempStart..‘ °C unterschreitet‘)

    –############################## Feststellung ob Wochenende oder Feiertag ##################
    local Feiertag_heute = tonumber(fibaro:getGlobalValue(„Feiertag_heute“)) — Diese Zeile auskommentieren, wenn kein Feiertagsscript genutzt wird
    local currentDate = os.date(„*t“)
    local werktag = 1

    —————————————————————————————
    –############ Prüfung wann Rolladen tatsächlich öffnen werden ########################
    if werktag == 0 then
    debug (‚yellow‘, „Die Rolladen werden um „..zeitWeFtAuf..“ öffnen.“)
    elseif
    VersetzterSonnenAufgang > zeitFruehstensAuf and VersetzterSonnenAufgang < zeitSpaetestensAuf then
    debug(‚yellow‘,“Die Rolladen werden um „..VersetzterSonnenAufgang.. “ zuzüglich einer zufälligen Verzögerung öffnen.“)
    elseif VersetzterSonnenAufgang < zeitFruehstensAuf then
    debug(‚yellow‘,“Die Rolladen werden um „..zeitFruehstensAuf.. “ zuzüglich einer zufälligen Verzögerung öffnen.“)
    elseif VersetzterSonnenAufgang > zeitSpaetestensAuf then
    debug(‚yellow‘,“Die Rolladen werden um „..zeitSpaetestensAuf.. “ zuzüglich einer zufälligen Verzögerung öffnen.“)
    end
    ——————————————————————————————–
    if VersetzterSonnenUntergang > zeitMaxUntergang then
    debug(’steelblue‘,“Die Rolladen werden um „..zeitMaxUntergang.. ‚ zuzüglich einer zufälligen Verzögerung geschlossen, sofern die Temperatur ‚..maxTempStart..‘ °C unterschreitet.‘)
    else
    debug(’steelblue‘,“Die Rolladen werden um „..VersetzterSonnenUntergang.. ‚ zuzüglich einer zufälligen Verzögerung geschlossen, sofern die Temperatur ‚..maxTempStart..‘ °C unterschreitet.‘)
    end
    –#########################################################################################
    debug(‚darkgreen‘,“Rolladen-Controller startet das erste mal!“);

    function rollerShutter()

    –######## Berechnung der Variablen ########
    local a, b = fibaro:getValue(1,’sunriseHour‘):match(„([^,]+):([^,]+)“)
    local VersetzterSonnenAufgang = os.date(„%H:%M“, -3600+ a*60*60 + (b*60+minSonAuf*60));
    —————————————————————————————-
    local a, b = fibaro:getValue(1,’sunsetHour‘):match(„([^,]+):([^,]+)“)
    local VersetzterSonnenUntergang = os.date(„%H:%M“, -3600+ a*60*60 + (b*60+minSonUnt*60));
    —————————————————————————————-
    local currentDate = os.date(‚*t‘);
    local rollershutter_runs = tonumber(fibaro:getGlobalValue(‚rollershutter_runs‘));
    local SonnenSchutz = tonumber(fibaro:getGlobalValue(‚SonnenSchutz‘));

    —————————————————————————————-
    local version = ‚2.3‘;
    local currentDate = os.date(‚*t‘);
    local rollershutter_runs = tonumber(fibaro:getGlobalValue(‚rollershutter_runs‘));
    local random = math.random(2, 10); — Hier wird die zufällige Verzögerung beeinflusst.
    local min = math.floor((random*100)/60);
    ——————————————————————————————–

    if ((Feiertag_heute == 1 or currentDate.wday == 7 or currentDate.wday == 1))
    then
    werktag = 0
    debug(‚grey‘, „Heute ist Wochenende oder ein Feiertag.“)
    else
    werktag = 1
    debug(‚grey‘,“Heute ist ein Werktag und kein Feiertag.“)
    end
    ——————————————————————————————
    —################# SonnenSchutz… Rolladen runterfahren !! #########################—
    ——————————————————————————————

    if ( tonumber(fibaro:getValue(luxSensor, „value“)) > startSunLux )
    and sunProtectTempMin <= tonumber(fibaro:getValue(tempSensor, „value“))
    and (os.date(„%H:%M“, os.time()) > VersetzterSonnenAufgang)
    and (os.date(„%H:%M“, os.time()) < VersetzterSonnenUntergang)
    and (tonumber(SonnenSchutz) == 0)
    then

    fibaro:setGlobal(‚SunFirstMaxTimeLux‘, ‚1‘);
    local gSunFirstMaxTimeLux = fibaro:getGlobalModificationTime(‚SunFirstMaxTimeLux‘)

    if ( tonumber(fibaro:getValue(luxSensor, „value“)) > startSunLux )
    and ((os.time() – gSunFirstMaxTimeLux) >= startSunDelay*60)
    then
    —————- Rolladen eintragen —————————————-

    fibaro:call(rs_wohnraum1, „setValue“, sunProtectPosition); –Tür links
    –fibaro:call(rs_wohnraum2, „setValue“, sunProtectPosition); –Tür mitte
    –fibaro:call(rs_wohnraum3, „setValue“, sunProtectPosition); –Tür rechts.
    –fibaro:call(rs_arbeitszimmer1, „setValue“, sunProtectPosition+5); –Fenster links
    –fibaro:call(rs_arbeitszimmer2, „setValue“, sunProtectPosition); –Fenster rechts
    –fibaro:call(rs_bad1, „setValue“, sunProtectPosition+10); –Fenster
    –fibaro:call(rs_bad2, „setValue“, sunProtectPosition); –Balkontür

    —————————————————————————
    debug(‚greenyellow‘, fibaro:getValue(luxSensor, „value“)..‘ Lux … Die Rolladen fahren auf ‚ ..sunProtectPosition..’%!!!‘)
    fibaro:setGlobal(‚SunFirstMaxTimeLux‘, ‚0‘);
    fibaro:setGlobal(‚SunFirstMinTimeLux‘, ‚0‘);
    fibaro:setGlobal(‚SonnenSchutz‘, ‚1‘); –SonnenSchutz wurde gesetzt.
    fibaro:setGlobal(‚RolloUnten0Oben1‘, ‚0‘);
    meldungenDebug = 0
    elseif meldungenDebug == 0 then
    debug(‚lightsteelblue‘,’Die Rolladen bleiben oben… es sind ‚ ..fibaro:getValue(luxSensor, „value“)..‘ Lux und ‚..startSunDelay..‘ min bis die Rollos auf ‚ ..sunProtectPosition..’% fahren.‘)
    meldungenDebug = 1 –damit er nicht immer die gleiche meldung schreibt wie odas ueber ihm.
    end
    ——————————————————————————————
    —################# SonnenSchutz… Rolladen hochfahren !! ###########################—
    ——————————————————————————————
    elseif ( tonumber(fibaro:getValue(luxSensor, „value“)) < endSunLux )
    and (os.date(„%H:%M“, os.time()) > VersetzterSonnenAufgang)
    and (os.date(„%H:%M“, os.time()) < VersetzterSonnenUntergang)
    and (tonumber(SonnenSchutz) == 1)
    then
    fibaro:setGlobal(‚SunFirstMinTimeLux‘, ‚1‘);
    local gSunFirstMinTimeLux = fibaro:getGlobalModificationTime(‚SunFirstMinTimeLux‘)

    if ( tonumber(fibaro:getValue(luxSensor, „value“)) < endSunLux )
    and ((os.time() – gSunFirstMinTimeLux) >= endSunDelay*60)
    then
    —————- Rolladen eintragen ————————————————–

    fibaro:call(rs_wohnraum1, ‚open‘);
    –fibaro:call(rs_wohnraum2, ‚open‘);
    –fibaro:call(rs_wohnraum3, ‚open‘);
    –fibaro:call(rs_arbeitszimmer1, ‚open‘);
    –fibaro:call(rs_arbeitszimmer2, ‚open‘);
    –fibaro:call(rs_bad1, ‚open‘);
    –fibaro:call(rs_bad1, ‚open‘);

    ————————————————————————————–
    debug(‚greenyellow‘, fibaro:getValue(luxSensor, „value“)..‘ Die Rolladen fahren hoch!!!‘)
    fibaro:setGlobal(‚SunFirstMaxTimeLux‘, ‚0‘);
    fibaro:setGlobal(‚SunFirstMinTimeLux‘, ‚0‘);
    fibaro:setGlobal(‚SonnenSchutz‘, ‚0‘); –SonnenSchutz wurde entfernt.
    fibaro:setGlobal(‚RolloUnten0Oben1‘, ‚1‘);
    meldungenDebug = 0
    elseif meldungenDebug == 0 then
    debug(‚lightsteelblue‘,’Rollos bleiben auf ‚ ..sunProtectPosition..‘ % … es sind ‚ ..fibaro:getValue(luxSensor, „value“)..‘ Lux und ‚..endSunDelay..‘ min bis die Rollos rauf fahren.‘)
    meldungenDebug = 1 –damit er nicht immer die gleiche meldung schreibt wie odas ueber ihm.
    end
    ——————————————————————————————
    —################# Sonnenaufgang Werktags!! ###############################################–
    ——————————————————————————————
    elseif werktag == 1 and ((VersetzterSonnenAufgang > zeitFruehstensAuf and os.date(„%H:%M“, os.time()) == VersetzterSonnenAufgang)
    or (VersetzterSonnenAufgang < zeitFruehstensAuf and os.date(„%H:%M“, os.time()) == zeitFruehstensAuf)
    or (VersetzterSonnenAufgang > zeitSpaetestensAuf and os.date(„%H:%M“, os.time()) == zeitSpaetestensAuf)
    and (tonumber(rollershutter_runs) == 0))
    then
    debug(‚green‘, ‚Werktag = ‚.. werktag)
    debug(‚darkkhaki‘,“Rolladen-Controller ist gestartet (Ver.“ .. version .. „)“);
    fibaro:setGlobal(‚rollershutter_runs‘, ‚1‘);
    debug(‚gold‘, ‚Sonnenaufgang… öffne Rolladen‘);
    debug(‚gold‘, ‚Waiting ‚ .. min .. ‚ min‘);
    fibaro:sleep(random*100000);

    fibaro:call(rs_wohnraum1, ‚open‘);
    –fibaro:call(rs_wohnraum2, ‚open‘);
    –fibaro:call(rs_wohnraum3, ‚open‘);
    –fibaro:call(rs_arbeitszimmer1, ‚open‘);
    –fibaro:call(rs_arbeitszimmer2, ‚open‘);
    –fibaro:call(rs_bad1, ‚open‘);
    –fibaro:call(rs_bad2, ‚open‘);

    debug(‚yellow‘,“Rolladen wurden geöffnet.“);
    fibaro:setGlobal(‚SunFirstMaxTimeLux‘, ‚0‘);
    fibaro:setGlobal(‚SunFirstMinTimeLux‘, ‚0‘);
    fibaro:setGlobal(‚SonnenSchutz‘, ‚0‘); –SonnenSchutz wurde entfernt.
    fibaro:setGlobal(‚rollershutter_runs‘, ‚0‘);
    fibaro:setGlobal(‚RolloUnten0Oben1‘, ‚1‘);

    if (os.date(„%H:%M“, os.time()) >= VersetzterSonnenAufgang) then
    debug(‚coral‘,“Es ist Tag.“);
    end
    ——————————————————————————————
    —################# Sonnenaufgang Wochenende und Feiertags!! ###################################–
    ——————————————————————————————
    elseif werktag == 0 and ((string.format(„%02d“, currentDate.hour) .. „:“ .. string.format(„%02d“, currentDate.min) == zeitWeFtAuf)
    and (tonumber(rollershutter_runs) == 0))
    then
    debug(‚green‘, ‚Werktag = ‚.. werktag)
    debug(‚darkkhaki‘,“Rolladen-Controller ist gestartet (Ver.“ .. version .. „)“);
    fibaro:setGlobal(‚rollershutter_runs‘, ‚1‘);
    debug(‚yellow‘,’Es ist ‚..zeitWeFtAuf..’Uhr, Öffne Rolladen‘);

    fibaro:call(rs_wohnraum1, ‚open‘);
    –fibaro:call(rs_wohnraum2, ‚open‘);
    –fibaro:call(rs_wohnraum3, ‚open‘);
    –fibaro:call(rs_arbeitszimmer1, ‚open‘);
    –fibaro:call(rs_arbeitszimmer2, ‚open‘);
    –fibaro:call(rs_bad1, ‚open‘);
    –fibaro:call(rs_bad2, ‚open‘);

    debug(‚yellow‘,“Rolladen wurden geöffnet.“);
    fibaro:setGlobal(‚SunFirstMaxTimeLux‘, ‚0‘);
    fibaro:setGlobal(‚SunFirstMinTimeLux‘, ‚0‘);
    fibaro:setGlobal(‚SonnenSchutz‘, ‚0‘); –SonnenSchutz wurde entfernt.
    fibaro:setGlobal(‚rollershutter_runs‘, ‚0‘);
    fibaro:setGlobal(‚RolloUnten0Oben1‘, ‚1‘);

    debug(‚coral‘,“Es ist Tag.“);

    —————————————————————————————–
    —################ SonnenUntergang !! ###########################################—
    —————————————————————————————–
    elseif (tonumber(fibaro:getValue(tempSensor, „value“)) < maxTempStart and tonumber(rollershutter_runs) == 0) and
    ((VersetzterSonnenUntergang < zeitMaxUntergang and os.date(„%H:%M“, os.time()) == VersetzterSonnenUntergang)
    or (VersetzterSonnenUntergang > zeitMaxUntergang and os.date(„%H:%M“, os.time()) == zeitMaxUntergang))
    then

    debug(‚darkkhaki‘,“Rolladen-Controller ist gestartet (Ver.“ .. version .. „)“);
    fibaro:setGlobal(‚rollershutter_runs‘, ‚1‘);
    debug(’steelblue‘, ‚Sonnenuntergang… schließe Rolladen sofern die Temperatur ‚..maxTempStart..‘ °C unterschreitet‘)
    debug(’sttelblue‘, ‚Die Temperatur beträgt ‚..tonumber(fibaro:getValue(tempSensor, „value“))..’°C.‘)
    debug(’steelblue‘, ‚Die zufällige Verzögerung beträgt ‚ .. min .. ‚ min.‘);
    fibaro:sleep(random*100000);

    –fibaro:call(rs_arbeitszimmer1, ‚close‘) –ID für close ohne prüfung eines offenen Fensters
    –fibaro:call(rs_arbeitszimmer2, ‚close‘);
    –fibaro:call(rs_bad1, ‚close‘);
    –fibaro:call(rs_bad2, ‚close‘);
    fibaro:call(rs_wohnraum1, ‚close‘);

    –while
    — fibaro:getGlobalValue(„HolidayLights“) == „On“ do
    — fibaro:sleep(10*1000)
    –end

    — fibaro:call(rs_wohnraum2, ‚close‘);

    while
    (tonumber(fibaro:getValue(doorID1, ‚value‘)) > 0)
    do –prüft ob Fester offen, wenn ja wird Rolladen nicht geschlossen
    fibaro:sleep(10*1000)
    end
    –fibaro:call(rs_wohnraum3, ‚close‘);

    –while
    — (tonumber(fibaro:getValue(doorID3, ‚value‘)) > 0) do –prüft ob Fester offen, wenn ja wird Rolladen nicht geschlossen
    — fibaro:sleep(10*1000)
    –end
    — fibaro:call(rs_wohnraum2, ‚close‘);

    –while
    — (tonumber(fibaro:getValue(doorID2, ‚value‘)) > 0) do –prüft ob Fester offen, wenn ja wird Rolladen nicht geschlossen
    — fibaro:sleep(10*1000)
    –end
    — fibaro:call(rs_wohnraum1, ‚close‘);

    debug(‚royalblue‘,“Rolladen wurden geschlossen.“);
    fibaro:setGlobal(‚SunFirstMaxTimeLux‘, ‚0‘);
    fibaro:setGlobal(‚SunFirstMinTimeLux‘, ‚0‘);
    fibaro:setGlobal(‚SonnenSchutz‘, ‚0‘); –SonnenSchutz wurde entfernt.
    fibaro:setGlobal(‚rollershutter_runs‘, ‚0‘);
    fibaro:setGlobal(‚RolloUnten0Oben1‘, ‚0‘);

    if (os.date(„%H:%M“, os.time()) >= VersetzterSonnenUntergang) then
    debug(‚royalblue‘,“Es ist Nacht.“);
    end

    end
    —#######################################################################################
    setTimeout(rollerShutter, 60*1000);
    end

    –########################################################################################

    if (sourceTrigger[‚type‘] == ‚autostart‘) then
    rollerShutter();
    sceneReboot();
    elseif (sourceTrigger[‚type‘] == ‚property‘) then
    debug(‚orangered‘, ‚Source device = ‚ .. sourceTrigger[‚deviceID‘])
    elseif (sourceTrigger[‚type‘] == ‚global‘) then
    debug(‚orangered‘, ‚Global variable source = ‚ .. sourceTrigger[’name‘])
    elseif (sourceTrigger[‚type‘] == ‚other‘) then
    —————- Rolladen eintragen —————————————-
    if(os.date(„%H:%M“, os.time()) > VersetzterSonnenAufgang)
    and(os.date(„%H:%M“, os.time()) < VersetzterSonnenUntergang) then

    fibaro:call(rs_wohnraum1, ‚open‘);
    –fibaro:call(rs_wohnraum2, ‚open‘);
    –fibaro:call(rs_wohnraum3, ‚open‘);
    –fibaro:call(rs_arbeitszimmer1, ‚open‘);
    –fibaro:call(rs_arbeitszimmer2, ‚open‘);
    –fibaro:call(rs_bad1, ‚open‘);
    –fibaro:call(rs_bad2, ‚open‘);
    debug(‚coral‘,‘ Die Rolladen fahren in Grundstellung!!!‘)
    fibaro:setGlobal(‚SunFirstMaxTimeLux‘, ‚0‘);
    fibaro:setGlobal(‚SunFirstMinTimeLux‘, ‚0‘);
    fibaro:setGlobal(‚SonnenSchutz‘, ‚0‘); –SonnenSchutz wurde entfernt.
    fibaro:setGlobal(‚RolloUnten0Oben1‘, ‚1‘);
    else
    debug(‚royalblue‘,‘ Es ist Nacht.‘)
    fibaro:setGlobal(‚SunFirstMaxTimeLux‘, ‚0‘);
    fibaro:setGlobal(‚SunFirstMinTimeLux‘, ‚0‘);
    fibaro:setGlobal(‚SonnenSchutz‘, ‚0‘); –SonnenSchutz wurde entfernt.
    end
    —————————————————————————
    debug(‚orangered‘, ‚Other source.‘)
    end
    –###########################################################################################

Ansicht von 15 Beiträgen - 301 bis 315 (von insgesamt 339)

Du musst angemeldet sein, um auf dieses Thema antworten zu können.