Forum użytkowników automatyki budynkowej

Z-wave => Fibaro - sceny => Wątek zaczęty przez: damian w Marzec 26, 2015, 11:46:44 am

Tytuł: Sterowanie pompą CWU.
Wiadomość wysłana przez: damian w Marzec 26, 2015, 11:46:44 am
Mam instalację wodną z dodatkowym obiegiem cyrkulacyjnym, dzięki czemu woda pod prysznicem (w kranie, wannie etc) jest zawsze ciepła od razu. Obieg wspomagany jest przez pompę, tłumaczyć nie będę bo to nie to forum.

Po co pompa ma działać cały czas, skoro wystarczy uruchomić ją powiedzmy na minutę i pozwolić na 15 minut przerwy w jej pracy? Korzyść z tego taka, że pompa pracuje 15 razy krócej, a efekt i tak jest osiągnięty. Można zaoszczędzić jeszcze kilka złotych nie uruchamiając pompy w nocy, kiedy śpimy, albo kiedy nikogo nie ma w domu.

U mnie pompa CWU rusza kiedy naruszone są drzwi którejś sypialni albo łazienki, albo jak wykryje ruch na schodach. Oczywiście pod warunkiem że określone w skrypcie granice czasowe jej na to pozwalają.

Oto skrypt. Podziękowania dla Traktor69.
--[[
%% properties
10 value
11 value
66 value
70 value
120 value
%% globals
--]]

-- Sprawdzenie czy nie jest uruchomiona więcej jak jedna scena -----------------------------------

if (fibaro:countScenes() > 1) then
  fibaro:debug("Uruchomiono druga instancje sceny - zatrzymanie")
  fibaro:abort();
end

-- Initial Values -----------------------------------------------------------
-- Nie zapomnij dodać ID czujek i sensorów drzwi w deklaracji na początku skryptu!!!

local switch = 84 -- Podaj ID switcha odpowiedzialnego za uruchamianie pompy CWU

local startTime1 = '06:00' -- czas startu pierwszego zakresu
local stopTime1 = '10:30' -- koniec czasu pierwszego zakresu

local startTime2 = '14:00' -- czas startu drugiego zakresu
local stopTime2 = '23:59' -- koneic czasu drugiego zakresu

local startTimeWe = '07:00' -- czas startu w weekend
local stopTimeWe = '23:59' -- koniec czasu w weekend

CWU_Time  = 2 -- Czas pracy CWU w minutach
CWU_Delay = 15 -- Przerwa pomiędzy kolejnymi możliwymi cyklami pompy, w minutach

-- Funkcje -----------------------------------------------------------------

-- funkcja zamienia czas w formacie tekstowym "HH:MM" lub os.date("*t")
-- na liczbę minut od północy

function toMinutes(czasHHMM)
  local a
  if type(czasHHMM) == "string" then
    a = tonumber(string.sub(czasHHMM, 1, 2)) * 60 + tonumber(string.sub(czasHHMM, 4, 5))
  else   
    a = tonumber(czasHHMM.hour) * 60 + tonumber(czasHHMM.min)
  end
  return a
end

-- funkcja sprawdza czy aktualny czas jest w określonej porze

function isTime(startHHMM, stopHHMM)
  nowMin=toMinutes(os.date("*t"))
  startMin=toMinutes(startHHMM)
  stopMin=toMinutes(stopHHMM)
  if (stopMin >= startMin) then
    if (nowMin >= startMin) and (nowMin <= stopMin) then
      isTme = true 
    else
      isTme = false
    end
  elseif (stopMin <= startMin) then
    if (nowMin <= startMin) and (nowMin >= stopMin) then
      isTme = false
    else
      isTme = true
    end
  end
  return isTme
end





---------------------------------------------------------------------------------------------------

-- Pokaż który sensor uruchomił scenę
local trigger = fibaro:getSourceTrigger();
fibaro:debug("Sensor " .. trigger['deviceID'] .. " naruszony.")


-- isActiveTime  - sprawdzenie czy to odpowiedni czas na uruchomienie pompy ---
local wD=os.date('*t').wday
isActiveTime = (wD==2 or wD==3 or wD==4 or wD==5 or wD==6) and (isTime(startTime1,stopTime1) or isTime(startTime2,stopTime2)) or (wD==7 or wD==1) and isTime(startTimeWe,stopTimeWe)
fibaro:debug("isActiveTime = "..tostring(isActiveTime))


-- Sterowanie CWU ------------------------------------------------------------------

if isActiveTime then
    fibaro:call(switch, "turnOn")
    fibaro:debug("CWU Start")
    fibaro:setGlobal("CWU_lastrun", toMinutes(os.date("*t")))
    fibaro:sleep(CWU_Time*1000*60)
    fibaro:call(switch, "turnOff")
    fibaro:debug("CWU Stop")
    fibaro:sleep(CWU_Delay*1000*60)
else
  fibaro:debug("CWU nie uruchomione - poza zakresem czasowym")
end

----------------------------------------------------------------------------- 
fibaro:debug("------------------------------------------------")
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: marecki_0luk1 w Marzec 26, 2015, 11:54:13 am
zastanawiałem sięczy uruchomić sobie taką scenę, ale moja pompka bierze 3.6W, więc oszczędności raczej nie będzie ;)
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: damian w Marzec 26, 2015, 12:04:12 pm
Myślę, że świetnie się ten skrypt nada do innych celów, jak na przykład elektrycznie podgrzewane lustro w łazience, czy nawet podgrzewanie kawy w ekspresie przelewowym... :)
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: marecki_0luk1 w Marzec 26, 2015, 01:08:46 pm
damian to akurat prawda :) generalnie skrypt ma bardzo wiele zastosowań i już go sobie użyczyłem :D
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: Grzegorz w Marzec 26, 2015, 02:33:38 pm
marecki_0luk1, pamiętaj, że tu nie chodzi o oszczędność na prądzie w pompie.

Jak nie mielisz non-stop wody w obiegu, to rzadziej dogrzewasz. U siebie mam zbiornik warstwowy podłączony do kotła gazowego. Od kiedy uruchomiłem podobną scenę (u mnie akurat na bloczkach) to kocioł praktycznie przestał się włączać w trybie grzania wody gdy jej nie pobieram. Wcześniej regularnie "dogrzewał" bo cała instalacja, jakby nie była zaizolowana, to jednak wielka chłodnica ;-)
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: marecki_0luk1 w Marzec 26, 2015, 02:35:35 pm
może i racja. Ja grzeje dom pompą ciepła i w sumie trochę zajmuje zanim nagrzeję zbiornik (300l), wykorzystam i sprawdze w logach o ile sie zmniejsza ilosc zalaczen pompy na cele CWU
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: damian w Marzec 26, 2015, 03:45:08 pm
Zrobiłem sobie statystykę włączeń pompy, z ciekawości. Jutro pokażę wykres (z jednej doby) ile razy się uruchomiła. A że scena działa już od dawna, to mam pewność, że działa wystarczająco dobrze - woda w kranie zawsze ciepła. ;-)
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: marecki_0luk1 w Marzec 27, 2015, 10:32:52 pm
damian i gdzie ten wykres :P ?
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: damian w Marzec 28, 2015, 11:28:49 am
damian i gdzie ten wykres :P ?
Mówisz i masz, ostatnia doba. Sporo się wczoraj po domu kręciliśmy, więc w sumie wyszło że w ciągu 24 godzin pompa chodziła 30 razy po 2 minuty. Razem przez godzinę czasu - to 24 razy mniej niż praca nonstop. ;-)
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: Lesław w Maj 10, 2015, 10:40:27 pm
Gdyby ktoś pytał o oszczędności, to raczej nie pojawią się one na zużyciu prądu pompy.
Kolega ostatnio liczył oszczędność na podgrzewaniu CWU, przy ograniczeniu czasu pracy pompy recyrkulacji prostą automatyką czasową.
Wyszło 1kpln rocznie dla średniej wielkości domku i pieca gazowego.
Oczywiście specyfika układu grzewczego itd., może znacznie te dane zmieniać. Nie mniej, to jest fajny element do wykorzystania.
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: marecki_0luk1 w Maj 11, 2015, 07:55:25 am
Lesław chyba kolega ma problem z liczeniem.
Cytuj
Kolega ostatnio liczył oszczędność na podgrzewaniu CWU, przy ograniczeniu czasu pracy pompy recyrkulacji prostą automatyką czasową.
Wyszło 1kpln rocznie dla średniej wielkości domku i pieca gazowego.

To ile ten kolega wydaje na CWU rocznie ? Zbiornik 5000l ? ;)
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: Lesław w Maj 11, 2015, 08:06:56 am
Trzeba przyznać, że te wyliczenia są mocno optymistyczne.  :)
Jednak diabeł tkwi w szczegółach. Np. jeśli piec nie moduluje mocą lub nawet moduluje, a startuje z poziomu 7-9kW, to podgrzewanie CWU powoduje duże straty na samym procesie.
Jeśli rury są niedobrze lub wcale zaizolowane, to zimą pół biedy, bo ciepło idzie w budynek ale latem to czysta strata.
Można by dodać jeszcze parę rzeczy (np. LPG lub olej jako paliwo) i jestem pewien że kilkadziesiąt złotych miesięcznie by się uzbierało.
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: Boogie w Lipiec 07, 2015, 09:48:30 am
Cześć,

na początek się przedstawię, bo to mój pierwszy wpis. Przyznam, że sporo ciekawych i konkretnych zastosowań można znaleść na tym forum.

Rzeczywiście, zastosowań powyższego skryptu można znaleźć wiele. Ja podłączyłem pod niego elektryczny odświeżacz powietrza, taki wpinany do gniazda 230V - w moim przypadku gniazdem jest WallPlug. Mój dotychczasowy odświeżacz pracował całą dobę, a powiewów świeżej bryzy w środku nocy nie potrzebuję - marnuje tylko zasobnik.

Jeżeli ktoś ma inne, ciekawe zastosowania, piszcie - czasami ciężko wpaść na rozwiązania, które są banalne a ułatwiają życie.

PS.
Próbowałem zamiast Switcha podłączyć Dimmer i działa. Czy ktoś ma pomysł, jak sterować % wartością Dimmera, aby np. odpalał 20% mocy jakiegoś wentylatora? Względnie, aby można było zadawać różne wartości w zależności od np. zakresu (w I zakresie czasowym podaje 100%, w drugim 20%). Z góry dzięki za pomoc.
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: Lesław w Lipiec 07, 2015, 10:49:13 am
Najprościej zamiast
fibaro:call(switch, "turnOn") dać:
fibaro:call(dimmer, 'setValue',20)
Przy tym trzeba pamiętać o zmianach ustawień dimmera do sterowania silnikami. Info w instrukcji.
Poza tym większość silników może źle znosić start z poziomu 20%. Idealnie byłoby startować ze 100% i potem zmniejszyć na 20%.
Jaki to wentylator?

Cytuj
Względnie, aby można było zadawać różne wartości w zależności od np. zakresu (w I zakresie czasowym podaje 100%, w drugim 20%). Z góry dzięki za pomoc.
Nie mam jak sprawdzić ale chyba trzeba dodać zmienną isActiveTime2, której zadasz odpowiednie zakresy czasowe i dni.
a potem:
if isActiveTime then
<warunki>
elseif isActiveTime2 then
<warunki>
else
fibaro:debug("CWU nie uruchomione - poza zakresem czasowym")
end
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: Boogie w Lipiec 07, 2015, 11:31:58 am
Lesław - wielkie dzięki za szybką pomoc i cenne uwagi odnośnie wentylatora.

Mam prosty wentylator "a la łazienkowy" na 230V i już podłączałem go do Dimmera. Rzeczywiście - czasami ciężko go wystartować z poziomu 0 - 20%, więc lepiej byłoby z 100% i zejść do tych 20%.

Mając tą funkcjonalność będę próbował zrobić z tego jakiś sensowny układ.
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: Boogie w Lipiec 07, 2015, 12:29:26 pm
Lesław,

podmieniłem fibaro:call(switch, "turnOn") na fibaro:call(dimmer, 'setValue',20) i dostaję błąd:

[ERROR] 13:24:06: Runtime error: /opt/fibaro/FibaroSceneAPI.lua:252: attempt to concatenate local 'deviceID' (a nil value)

Masz jakiś pomysł, co może być nie tak? Ze Switchem w kodzie i podłączonym pod niego Dimmerem działa OK.
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: Lesław w Lipiec 07, 2015, 01:04:57 pm
Znajdź linię: local switch (...) i tam zmień na local dimmer z numerem id dimmera.
Żeby bawić się z Lua musisz trochę poczytać. Na skróty się nie da :)
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: Boogie w Lipiec 07, 2015, 10:42:58 pm
Dzięki za pomoc - działa bez zarzutów, choć nie wiedzieć czemu wcześniej robiłem niby tak samo i nie działało - pewnie jakaś literówka. Do dimmera przystosowałem też wyłączanie Dimmer, "turnOff".

Zgadza się - na skróty nie mam zamiaru, ale przygodę z Lua zacząłem dwa dni temu i na początek staram się adoptować gotowe lub zbliżone rozwiązania z ewentualnymi poprawkami do swoich potrzeb. 
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: eseba w Październik 02, 2015, 07:26:45 am
witam
Czy któryś z kolegów mógł by podrzucić taka scenę włączającą pompkę CWU w oparciu o czujniki ruchu tylko na bloczkach ? Coś nie mogę odpalić takiej.
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: marecki_0luk1 w Październik 02, 2015, 10:01:07 am
Sebastian im szybciej zapomnisz o bloczkach tym lepiej


Wysłane z iPhone za pomocą Tapatalk
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: SlawekK w Kwiecień 19, 2017, 10:07:15 pm
Podepnę sie pod temat

Mam pytanie czy da sie włączyć pompę wody poprzez naruszenie czujnika w łazience ale nie częściej niż 30 minut ??

Na chwilę obecną działa mi każdorazowe naruszenie czujki włącza pompę.

Scenę potrzebuję odpalić na HCL

Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: viperlodz w Kwiecień 20, 2017, 09:27:32 am
Jak na HCL to trzeba pokombinować ze zmiennymi.
Utworzyc zmienna np. pompa o wartosci 0/1.

Pierwsza scena to jesli ruch i pompa==0 to
wlacz pompe i pompa = 1

Druga scena
pompa == 1 to
czejak 30min i
pompa =0
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: SlawekK w Kwiecień 20, 2017, 04:29:56 pm
Dzięki za odpowiedz ale to tez pupa :(

bo zamysł jest taki by pompa włączyła się na 2 minuty bo tyle wystarczy by zagrzała obieg i się wyłączyła wiec jak ktoś wejdzie ponownie po 5 minutach to scena sprawdzi ze pompa jest wyłączona i ją załączy. Niestety chyba trzeba będzie pomyśleć o HC2 :(
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: krzycho w Kwiecień 20, 2017, 07:27:12 pm
Podepnę sie pod temat

Mam pytanie czy da sie włączyć pompę wody poprzez naruszenie czujnika w łazience ale nie częściej niż 30 minut ??

Na chwilę obecną działa mi każdorazowe naruszenie czujki włącza pompę.

Scenę potrzebuję odpalić na HCL

u mnie to działa tak
http://100-x-arduino.blogspot.com/2017/04/proste-i-tanie-pompa-cwu-sterowanie.html
wersja z Arduino NANO - 150 zet
z bezprzewodową czujką PiR i przekaźnikiem < 30 zł
K
Tytuł: Odp: Sterowanie pompą CWU.
Wiadomość wysłana przez: SlawekK w Kwiecień 20, 2017, 07:43:22 pm
Ciekawa sprawa, ale nie chce kolejnego systemu bo mam 3 łazienki i kuchnie ;)