HC 3: Lichtwert zur Rollladensteuerung

Ich möchte mit einen Rolladen in Abhängigkeit vom gemessenen Lichtwert den Raum automatisch abdunkeln lassen, aber eben nur am Tag und nicht durch künstliches Licht im Raum ab dem Abend.

Nun dachte ich mir einfach die Tageszeit abfragen und mit Sonnenaufgang und Sonnenuntergang vergleichen noch den Lux-Wert dazu fertig.

Wo liegt mein Fehler - kann man Daten nicht miteinander vergleichen?

Danke für Eure Hilfe

Hallo

Schau dir mal die Werte von Morgen und Jetzt an.
Wie soll er den das verrechnen oder vergelichen?

z.B
9 Uhr 15 min ist 09:15 als Wert und das in Stringform.
Wandel das mal in Minuten um, dann in Integer danach kannst du trefflich rechen und vergleichen.

Der Weg sieht schon nicht schlecht aus.
Beim Trigger bin ich mir noch nicht sicher.
Benutze einfach einen 1 min Trigger

– Das ist ein 1min. Trigger

{
conditions = {
{
type = „date“,
property = „cron“,
operator = „match“,
value = {"", "", „", "“, „", "“},
isTrigger = true
}
},
operator = „all“
}

Gruss Frank

Ist tonumber dann eine Option: Im Sinne von

local x=tonumber(Jetzt)
local y=tonumber(Morgen)

if x>y then…

bin ich auf dem richtigen weg?

Nein was soll den LUA auf 09:15 für eine Zahl generieren?
Erst die Stunden aus dem 09:15 rauslösen dann mit 60 Multiplizieren und 15 dazu addieren dann hast du was zum rechnen.

Hier mal etwas zum schauen, machen musst du schon selber !
Ist etwas tricki also genau schauen was passiert den da genau !

–Setzen der Tagesrelevanten Daten
local currentDate =os.date("%d/%m/%Y")
local day = os.date("%A", os.time())
local TimeNow = os.date("%H:%M", os.time())
local sunrise=fibaro.getValue(1, „sunriseHour“)
local sunset=fibaro.getValue(1, „sunsetHour“)

–[[ Ausgabeformat !
print("currentDate = ",currentDate) = 30/03/2020
print("Day = ",day) = Monday
print("TimeNow = ",TimeNow) = 10:32
print("sunrise = ",sunrise) = 07:08
print("sunset = ",sunset) = 20:00
–]]

– Funktion von : https://forum.fibaro.com/topic/49608-hc3-scenes-schedule-actions-on-times/?tab=comments#comment-204419
tonumber,oldTonumber=function(str)
local h,m,s=str:match("(%d%d):(%d%d):?(%d*)")
return h and m and h3600+m60+(s~="" and s or 0) or oldTonumber(str)
end,tonumber

if tonumber(TimeNow) == tonumber(sunrise) - tonumber(„00:10“) then – at 10min before sunrise
print(„10 Min vor Sonnenaufgang“)
end

1 Like

Wie kann ich den aktuellen Rolllandenzustand abfragen und unnötiges Schalten zu vermeiden?

Gruß Karol

Hallo

if fibaro.getValue(113, „value“) ~= 50 then – z.B Abfrage auf ungleich 50%

Hier mal einige Infoquellen !

https://www.lua.org/manual/5.1/de/
https://manuals.fibaro.com/home-center-3-lua-scenes/
https://wiki.multitheftauto.com/wiki/DE/Lua_Tutorial#Syntax
https://manuals.fibaro.com/home-center-3-quick-apps/
http://www.activevb.de/tutorials/tut_lua/tut_lua.html
http://lua-users.org/wiki/TutorialDirectory
http://lua.lickert.net/
https://forum.siio.de/

Das sind aber nur einige wenige Infoquellen da gibt es sehr viele!

Gruß Frank

Danke hab es zwischenzeitlich schon gefunden - Vielen Dank für die Quellen - Gruß Karol