Háromfázisú fűtőpatron fokozatvezérlés 

Bizonyos rendszerekben – például háromfázisú HMV tartályoknál – nem mindig szükséges a teljes fűtőteljesítmény. Előfordul, hogy a tartály csak kismértékben hűl, és ilyenkor elég 1 fázist bekapcsolni. Máskor – például amikor egy 4–5 fős család egymás után fürdik – szükség van a teljes 3 fázisos teljesítményre.

 

Miért nem jó mindig a 3 fázist bekapcsolni?

Egy 150 liter körüli tartálynál a 3× teljesítmény sokszor túl sok:

Ez felesleges és káros ki-be kapcsolási ciklusokat okoz.

 

Másik felhasználói példa – „házi készítésű elektromos kazán”

Egy felhasználó egy nagyobb csőbe szerelt 3×1500 W fűtőpatront használ „kazánként”. Mivel ez valójában három külön patron egybe építve, akkor is használható, ha nincs háromfázisú bekötése – csak megfelelő vezeték és biztosíték kell.

A cél:

Ez teljesen logikus igény, de annyira speciális, hogy nem építettük bele a DSVT_12 vezérlőbe.
Viszont DzVents szkripttel könnyen megoldható


Előkészítés – mit kell létrehozni Domoticzban?

1. A fázisok kapcsolói

Ha a DSVT_12-t használod, akkor már létezik az első fázis (HMV kapcsoló).
Emellé hozz létre még:

Mindhárom legyen normál on/off eszköz.

2. A szükséges hőmérséklet értékek


Keresd meg:

Ez legyen látható, mert a DzVents csak a látható eszközöket tudja figyelni. Kattints a zöld nyil (eszköz aktiválása) gombra.


3. Új dzVents szkript létrehozása


Menü: Beállítások → Több lehetőség → Felhasználói szkriptek 

Választhatsz bármilyen dzVents sablont, mert teljesen ki fogod törölni, helyére az általunk adott script kerül.


A szkript testreszabása

A szkript elején lesz egy lista:

devices = { 12, 34, 21 }

Ide kell beírni:

A szkript ezeket figyeli: ha bármelyik változik, újraszámolja, melyik fűtőszál menjen.

 

Hőmérséklet határok és hiszterézis

A szkriptben lesz egy blokk például így:

local delta2 = 0.5 -- ennyivel legyen hidegebb a 2. fázishoz
local
delta3 = 1.0 -- ennyivel legyen hidegebb a 3. fázishoz 
local
hisz = 0.2 -- ki-be kapcsolás elkerülése

Ezeket szabadon állíthatod:


A szkript működése röviden

  1. Lekéri a tartály hőmérsékletét és a célhőmérsékletet.

  2. Számolja, hogy hány fokkal van alatta:

    • ha csak kicsit → csak 1. fázis

    • ha jobban → 1 + 2. fázis

    • ha sokkal → 1 + 2 + 3. fázis

  3. Figyeli a hiszterézist, hogy ne kapcsolgassa feleslegesen, egyszerű, átlátható


A szkriptet letültheted innen (harom_fazis.lua), vagy másold ki az itt következő részt:

 

return {
    on = {
        devices = { 1758, 2262, 2264 } -- valtozas figyelt idx
    },

    execute = function(domoticz, device)

        ------------------------------------------------------------------
        -- PARAMETEREK
        ------------------------------------------------------------------
        local IDX_MASTER  = 1758 -- 1 fazis kapcsolo idx
        local IDX_TEMP    = 2262 -- tartaly aktualis homero idx
        local IDX_TARGET  = 2264 -- cel homero (legyen aktiv!) idx
        local IDX_PHASE2  = 2479 -- 2 fazis kapcsolo idx
        local IDX_PHASE3  = 2480 -- 3 fazis kapcsolo idx

        local DIFF_HIGH   = 6    -- 3. fazis bekapcsolasi diff
        local DIFF_MID    = 3    -- 2. fazis bekapcsolasi diff
        local HYSTERESIS  = 1     -- hiszterezis

        ------------------------------------------------------------------
        -- ESZKOZOK
        ------------------------------------------------------------------
        local master = domoticz.devices(IDX_MASTER)

        local tempDevice   = domoticz.devices(IDX_TEMP)
        local temp = tempDevice.temperature

        local targetDevice = domoticz.devices(IDX_TARGET)
        local target = targetDevice.temperature  -- TEMP tipus → temperature!

        local phase2 = domoticz.devices(IDX_PHASE2)
        local phase3 = domoticz.devices(IDX_PHASE3)

        ------------------------------------------------------------------
        -- MASTER OFF → minden fazis off
        ------------------------------------------------------------------
        if master.state == 'Off' then
            phase2.switchOff()
            phase3.switchOff()
            domoticz.log("Master OFF, fazisok kikapcsolva", domoticz.LOG_INFO)
            return
        end

        ------------------------------------------------------------------
        -- DIFFERENCIA
        ------------------------------------------------------------------
        local diff = target - temp
        domoticz.log("Diff = " .. diff, domoticz.LOG_INFO)

        local function kell_be(th)
            return diff > (th + HYSTERESIS)
        end

        local function kell_ki(th)
            return diff < (th - HYSTERESIS)
        end

        ------------------------------------------------------------------
        -- 3. FAZIS (DIFF_HIGH)
        ------------------------------------------------------------------
        if phase3.state == 'Off' then
            if kell_be(DIFF_HIGH) then
                phase3.switchOn()
                domoticz.log("3. fazis BE", domoticz.LOG_INFO)
            end
        else
            if kell_ki(DIFF_HIGH) then
                phase3.switchOff()
                domoticz.log("3. fazis KI", domoticz.LOG_INFO)
            end
        end

        ------------------------------------------------------------------
        -- 2. FAZIS (DIFF_MID)
        ------------------------------------------------------------------
        if phase2.state == 'Off' then
            if kell_be(DIFF_MID) then
                phase2.switchOn()
                domoticz.log("2. fazis BE", domoticz.LOG_INFO)
            end
        else
            if kell_ki(DIFF_MID) then
                phase2.switchOff()
                domoticz.log("2. fazis KI", domoticz.LOG_INFO)
            end
        end

        ------------------------------------------------------------------
        -- AUTOMATIKUS OFF, ha egyik feltetel sem teljesul
        -- (= diff < DIFF_MID-HYSTERESIS)
        ------------------------------------------------------------------
        if diff < (DIFF_MID - HYSTERESIS) then
            if phase2.state == 'On' or phase3.state == 'On' then
                phase2.switchOff()
                phase3.switchOff()
                domoticz.log("Diff kicsi, extra fazisok KI", domoticz.LOG_INFO)
            end
        end

    end
}

Telepítés, beállítás és konfiguráció

 

Telepítés
Üzemmódok kiválasztása
Késleltetett ki és be kapcsolás
Üzemmód, Hűtés-fűtés
Külső hőmérséklet alapú vezérlés
Külső harmatpont alapú vezérlés
Virtuális hidraulikus váltó
Hidraulikai koncepció
Nyitott ablak zóna vezérlés
Inteligens vezérlés (hőtehetelenség alapú vezérlés)
Beállítás, konfiguráció
Klima IR vezérlés
TRV (radiátor) szelep vezérlés
Egészségügyi hűtési korlát
Egyszerű célhőmérséklet-beállítás konzolon keresztül
Energia mérleg alapú vezérlés (napelem)
Üzemmód, Puffer tarály vezérlés
Jenlét alapú vezérlés és idő alapú módosítások
Funkciók és lehetőségek
Konfigurálás 1. lépés hőmérök létrehozása
Konfigurálás 2. lépés kapcsolok létrehozása
Konfigurálás 3. lépés vezérlési paraméterek
Konfigurálás 4. lépés hőmérséklet adatok beállítása
Konfigurálás 5. lépés szelepek és kompencáció ki-be kapcsolása
Konfigurálás 6. lépés hőforrások kapcsolása
Konfigurálás 7. lépés kiegészítő beállítások
Működési logika fűtés-hűtés esetén
Keverőszelepek működése
Üzemmód, HMV (Használati Meleg Víz) készítése
Kompenzációs keringtetés
Statisztikák, grafikonok
3 fázisú eszközök fokozatvezérlő script
Verzió lista