Pokud termostat přímo nevidí na spínací modul, který spíná hlavici v teplovodním rozvaděči, tak je třeba použít scénu, která toto řeší.
⚠️UPOZORNĚNÍ: Tato scéna nebere v potaz teplotní omezení podlahy. Pokud potřebujete zamezit, aby teplota nestoupla nad nějakou hodnotu, tak prosím napište nám na [email protected].
Popis scény
Scéna na základě změny teploty nebo žádané teploty porovnává, zda je žádaná teplota vyšší než naměřená a podle toho spíná Z-Wave spínací/relé modul pro topení vodní podlahové topení.
Co je potřeba
- HC3
- Z-Wave termostat
- Z-Wave spínací/Relé modul
- Spínaná hlavice 230 V, bez napětí uzavřeno.
Popis scény
Deklarace (spouštěč /podmínka)
V deklaraci musí být teplotní senzor a termostat. Deklarace se dá velmi jednoduše adaptovat na vaše zařízení změnou ID teplotního senzoru (řádek 4) a ID termostatu (řádek 10). Zbytek deklarace může zůstat tak jak je.
{ -- Scéna se musí spustit při změně naměřené teploty nebo žádané. Je to z důvodu, aby se zóna nebo kotel mohli zapnout conditions = { { id = 396, -- ID teplotního senzoru isTrigger = true, -- Nastaveno jako spouštěč scény. Scéna se spustí při změně naměřené teploty operator = "anyValue", -- Spuštění při jakékoliv změně property = "value", -- Spuštění při změně property value type = "device" -- typ je zařízení },{ id = 398, -- ID termostatu isTrigger = true, -- Nastaveno jako spouštěč scény. Scéna se spustí při změně naměřené teploty operator = "anyValue", -- Spuštění při jakékoliv změně property = "heatingThermostatSetpoint", -- Spuštění při změně property heatingThermostatSetpoint type = "device" -- typ je zařízení }}, operator = "any" }
Tělo scény
Scéna je napsaná tak, aby stačilo změnit jen ID termostatu (proměnná thermostat), teplotního čidla (proměnná temperatureSensor) a ID spínaného zařízení pro zónu (proměnná floorHeatingZone). Dále lze změnit hodnotu hystereze (proměnná targetHysteresis), aby se spínané zařízení nepoškodilo příliš častým spínáním.
ℹ️ POZNÁMKA: Nedoporučujeme Hysterezi vyšší než 3 °C.
local temperatureSensor = 396 -- Musí být stejný jako v Deklaraci local thermostat = 398 -- Termostat jehož žádanou teplotu chci porovnávat s naměřenou local floorHeatingZone = 397 -- spínač zóny podlahového topení local targetHysteresis = 1.5 -- Nastavení hystereze -------------------------- NÍŽE NEMĚNIT ------------------------------------- local currentTemp = fibaro.getValue(temperatureSensor, "value") -- získá naměřenou teplotu local currentSetpoint = fibaro.get(thermostat, "heatingThermostatSetpoint") -- získá žádanou teplotu local currentMode = fibaro.get(thermostat,"thermostatMode") -- získá režim termostatu fibaro.debug("HeatingScene","Žádaná teplota: " .. currentSetpoint) -- Vytisknutí žádané teploty do konzole fibaro.debug("HeatingScene","Režim termostatu: " .. currentMode) -- Vytisknutí režimu termostatu do konzole local diffTemp = currentTemp - currentSetpoint -- Rozdíl žádané a naměřené teploty fibaro.debug("HeatingScene","Rozdíl teplot: " .. diffTemp) -- vytisknutí rozdílné teploty do konzole if currentMode == "Off" then -- Pokud je termostat v Režimu Off (Vypnuto), tak ... fibaro.call(floorHeatingZone, "turnOff") -- ... Vypni zónu ... fibaro.debug("HeatingScene", "Zóna vyppnuta.") -- ... a vytiskni zóna vypnuta. else if tonumber(currentTemp) < (tonumber(currentSetpoint) - tonumber(targetHysteresis)) then -- Pokud je žádaná teplota - hystereze menší než naměřená teplota, tak ... fibaro.call(floorHeatingZone, "turnOn") -- ... Zapni zónové topení ... fibaro.debug("HeatingScene", "Zóna zapnuta.") -- ... a vytiskni zóna zapnuta ... elseif tonumber(currentTemp) >= (tonumber(currentSetpoint) + tonumber(targetHysteresis)) then -- ... nebo pokud je naměřená teplota vyšší než žádaná teplota + hystereze, tak ... fibaro.call(floorHeatingZone, "turnOff") -- ... vypni zónové topení ... fibaro.debug("HeatingScene", "Zóna vypnuta.") -- ... a vytiskni zóna vypnuta. end -- konec podmínky end -- konec podmínky