Zdravim.
Dele jsem nesledoval vyvoj meho druheho nejoblibenejsiho IoT software.
Vidim, ze urcity pokrok tu je. Jiz neni treba psat rules/automatiku v kodu. Coz byl dle meho dlouhou dobu velky nedostatek HA.
I presto doporucuji se mrknout na Rules v pimatic.org. Pouziva predikci pri psani textovych pravidel, coz funguje bezvadne. Nebo lze prepnout do "klikaciho" rezimu.
Jsem autorem MQTT modulu pro tento system a psani tech predikci mi dalo hodne zabrat jako amaterskemu programatorovi ;)
Navic Pimatic umoznuje pracovat se "senzory" mnohem lepe a sloziteji.
Ja napriklad mam sledovani https://en.wikipedia.org/wiki/Vapour-pressure_deficit pro pestovane rostliny ;)
Nedovedu si moc predstavit toto delat v HA nebo dokonce v necem jinem. A ze jsem toho vyzkousel.
Pokud by byla soutez v rychlosti vytvoreni nejakych slozitejsich pravidel, dle meho Pimatic (i kdyz jeho vyvoj posledni dobou dost ustrnul) vyhraje na plne care.
A jak v tom Pimaticu realizujte ty matematické výpočty, třeba to VPsat?
Logaritmy a tak?
Nikde v dokumentaci k jejich Rules nevidím matematické funkce.
Podobné věci, co tam mají v příkladech mám běžně naprogramované pomocí Rules přímo v senzorech s ESP8266 a nahraným ESPeasy.
Ale ty složitější mat. funkce bych asi musel naprogramovat až v Domoticzu pomocí LUA...
Jsem to jen tak z legrace s pomocí chatGPT zkusil :o)
Neručím za to, ale je vidět, že to jde celkem snadno...
return {
on = {
devices = {
'TeplotniSenzor', -- Název vašeho senzoru teploty
'VlhkostniSenzor' -- Název vašeho senzoru vlhkosti
}
},
execute = function(domoticz, device)
-- Nastavte názvy vašich senzorů a konstanty pro výpočet
local temperatureSensorName = 'TeplotniSenzor'
local humiditySensorName = 'VlhkostniSenzor'
local a = 17.27
local b = 237.7
-- Získání hodnot z teplotního a vlhkostního senzoru
local temperature = domoticz.devices(temperatureSensorName).temperature
local humidity = domoticz.devices(humiditySensorName).humidity
-- Výpočet syrového tlaku nasycené páry
local alpha = ((a * temperature) / (b + temperature)) + math.log(humidity / 100.0)
local saturatedVaporPressure = 6.112 * math.exp(alpha)
-- Výpočet aktuálního tlaku nasycené páry
local beta = ((a * temperature) / (b + temperature)) + math.log(1.0)
local actualVaporPressure = 6.112 * math.exp(beta)
-- Výpočet VPD
local vpd = saturatedVaporPressure - actualVaporPressure
-- Zobrazení výsledku VPD v logu Domoticz
domoticz.log("Vapour-Pressure Deficit: " .. vpd .. " hPa", domoticz.LOG_INFO)
end
}