Automatbevattning.

Post Reply
Erik
Medlem
Posts: 65
Joined: 10 Jan 2016, 18:46
8

Jag har funderat ett slag på att köpa automatbevattning till trädgården.
Är det någon som sköter det via HC2. Den verkar ju vara byggd för det men jag hittar få enheter att köpa.
Det vore ju smutt om man kunde via prognosen strypa bevattningen. tex på torsdag ska det regna så den vattnar inte på tisdag kväll.
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1203
Joined: 03 Jan 2015, 16:49
9
Location: Vegby
Contact:

Kanske det här kan vara något för dig?
Fibaros egen bevattningspanel saknar funktioner som automatiskt anpassar bevattningstiden efter vädret. Helt vansinnigt eftersom allt som behövs för en bra styrning finns i HC2 , men man har inte utvecklat det fullt ut.

Lua-scriptet nedan har det mesta man kan önska sig när det gäller bevattning. Det tar hänsyn till temperaturen, luftfuktigheten, om det har regnat och det kan styra flera bevattningszoner. Temp och fukt hämtas från dina egna sensorer och har du egen regnmätare tar scriptet hänsyn till den också.

Du kan styra magnetventilen med 12, 24 eller 230V med en vanlig en eller två-kanals Fibaropuck.
Ett tips är att sätta parameter 3 till 1 och parameter 4 (alt 4 och 5) till max bevattningstid utifall Fibaron skulle krångla.

EDIT:
Bevattningsskriptet är uppdaterat 2017-05-14


Så här kan debuggen se ut
[DEBUG] 14:03:38: 14/5/2017: Scenen startade automatiskt.
[DEBUG] 14:04:00: 14/5/2017: Bevattningen startade automatiskt (inget regn).
[DEBUG] 14:04:00: 14/5/2017: Väderdata: Lufttemperatur = 13.18°C, Luftfuktighet = 59%
[DEBUG] 14:04:00: 14/5/2017: Inställd bevattningstid = 2 min.
[DEBUG] 14:04:00: 14/5/2017: Bevattningstiden är väderjusterad till 1.25 * bevattningstid.
[DEBUG] 14:04:00: 14/5/2017: Bevattningscykeln är påbörjad.
[DEBUG] 14:04:00: 14/5/2017: Bevattning av sektion 1 påbörjad. Bevattningstid = 2.5 min.
[DEBUG] 14:06:30: 14/5/2017: Bevattning av sektion 1 är avslutad.
[DEBUG] 14:06:30: 14/5/2017: Bevattningscykeln är klar.
##########################################################

Code: Select all

--[[
%% autostart
%% properties
%% events
%% globals
--]]
--http://forum.fibaro.com/index.php?/topic/20698-fibaro-a-nawodnienie/?hl=sprinkler#entry83063
-- Parametrar som kan justeras

local irrigators = {222}; -- En eller flera sprinklers / sektioner {185, 186,187,188}
local startTime = {"08:00", "14:00", "18:00"}; -- Bevattningstider
local sectionTime = 10*60*1000; -- Bevattningstid i minuter
local timeModification = 1.5; -- Tidsmultiplikator för hög temperatur, tex. 1.5
local temperatureSteps ={20, 24, 28, 30}; -- Tröskelvärden för temperatur, ändrar bevattningstiden
local humiditySteps = {40, 70}; -- Tröskelvärden för luftfuktighet, ändrar bevattningstiden
local modificationStep = 0.25; -- 25% stegvis förändring av bevattningstid
local criticalHumidity = 30; -- Triggar bevattning vid låg luftfuktighet även om det regnar
local rainDetector = 0; -- EnhetsID för egen regnmätare. Oom inte, skriv 0
local tempSensor = 928; -- EnhetsID för egen temperatursensor
local humSensor = 889; -- EnhetsID för egen fuktsensor
local rainSensor = false; -- Ändra till true om du har egen regnmätare
local deBug      = true;  -- false stänger av debug

-- Slut på egna parametrar

local startSource = fibaro:getSourceTrigger();
local temperature;
local humidity;

function logbug(color, message)
  fibaro:debug(string.format('<%s style="color:%s;">%s</%s>', "span", color, message, "span")); 
end

function localTime()
    local currentDate = os.date("*t");  
    --local localTime = currentDate.day .. "/" .. currentDate.month .. "/" .. currentDate.year .. " " .. string.format("%02d", currentDate.hour) .. ":".. string.format("%02d", currentDate.min) .. ":".. string.format("%02d", currentDate.sec) ..  ": "
    local localTime = currentDate.day .. "/" .. currentDate.month .. "/" .. currentDate.year .. ": "

  return localTime
end

function isRaining()
    if rainSensor then if(tonumber(fibaro:getValue(rainDetector, "value")) > 0) then
        return true;
      end
    else
        return false;
    end
end

function timeModify()
   local modification = 1;
    -- tidsmodifiering på grund av temperaturförändring
   for i in pairs(temperatureSteps) do
       if(temperature >= temperatureSteps[i]) then
           modification  = modification + modificationStep;
        end
    end
    -- tidsmodifiering på grund av luftfuktighetsförändring
  for i in pairs(humiditySteps) do
       if(humidity <= humiditySteps[i]) then
           modification = modification + modificationStep;
       end
    end
  if deBug then logbug("yellow", (localTime() .. "Inställd bevattningstid = " .. (sectionTime/60000) .." min.")) end;
  if deBug then logbug("yellow", (localTime() .. "Bevattningstiden är väderjusterad till " .. modification.." * bevattningstid.")) end;
    return modification;
end

function sprinkling()
  logbug ("lightgreen", (localTime() .. "Bevattningscykeln är påbörjad."));
      for i in pairs(irrigators) do
        if deBug then logbug("lightgreen", (localTime() .. "Bevattning av sektion " .. i .. " påbörjad. Bevattningstid = " ..sectionTime *timeModification/60000 .. " min.")) end;
        fibaro:call(irrigators[i], "turnOn");
        fibaro:sleep(sectionTime * timeModification);
        fibaro:call(irrigators[i], "turnOff");
        if deBug then logbug("lightgreen", (localTime() .. "Bevattning av sektion " .. i .. " är avslutad.")) end;
    end
  logbug ("green", (localTime() .. "Bevattningscykeln är klar."));
    return true;
end

function mainLoop()
    temperature =  tonumber(fibaro:getValue(tempSensor, "value"));
    humidity =  tonumber(fibaro:getValue(humSensor, "value"));
   if deBug then logbug("yellow", (localTime() .. "Väderdata: Lufttemperatur = ".. temperature .. "°C, Luftfuktighet = " .. humidity .."%")) end;

  timeModification = timeModify();
    sprinkling();
end

----------  Loop
if (startSource["type"] == "autostart") then
    logbug ("orange", (localTime() .. "Scenen startade automatiskt."));

	while true do
	    currentDate = os.date("*t");
	    Time = string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min)
        for i in pairs(startTime) do
            if (Time == startTime[i]) then
                if(isRaining() == false) then
                if deBug then logbug("lightgreen", (localTime() .. "Bevattningen startade automatiskt (inget regn).")) end;
        
        mainLoop()
                else
                    humidity =  tonumber(fibaro:getValue(humSensor, "value"));
                    if (humidity <= criticalHumidity) then
                    if deBug then logbug("lightgreen", (localTime() .. "Bevattningen startades automatiskt (regn, men låg luftfuktighet).")) end;

          mainLoop()                 
                    end
                end
 	    end
        end
        fibaro:sleep(1000);
    end
elseif(startSource["type"] == "other") then
  logbug ("orange", (localTime() .. "Bevattningen startades manuellt."));
    mainLoop()
end
Last edited by RH_Dreambox on 14 May 2017, 14:44, edited 4 times in total.
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
Systemfel
Medlem
Posts: 384
Joined: 14 Jan 2015, 01:02
9

har fixat in bevattning väntar bara på 24 volts dc ventilerna sen så :) men tyvärr har dom försvunnit en runda så hoppas nu på att dom kommer i veckan så man kan göra klart det :) ska testa scriptet då .) tack för inputen
kör Hc3 och det fungerar bättre och bätttre sakta men säkert :D
User avatar
sonnyboy
Proffsmedlem
Posts: 669
Joined: 26 Sep 2013, 08:05
11
Location: Västerås

Perfekt script som du delar med dig av, körde in det direkt i morse och det funkade galant :)
Nu har jag bara bevattning av gräsmattan än så länge men denna kommer jag använda till både rabatterna och växthustet :)
Fibaro HomeCenter 2
Fw 4.600
BeyondMeasure 1.10
EventRunner
Henrikel
Proffsmedlem
Posts: 687
Joined: 12 Dec 2013, 00:24
10
Location: Växjö
Contact:

Tack för grymt bra script!
Installations Elektriker
https://www.facebook.com/ramnasael
Installerar och säljer Z-wave lösningar
User avatar
sonnyboy
Proffsmedlem
Posts: 669
Joined: 26 Sep 2013, 08:05
11
Location: Västerås

Denna fina kodsnutt har visst försvunnit ur min Hc vid någon restore :(
Kör just nu och det ser lovande ut denna gång också :)
Tur forumet finns så man kan hitta på sådana här gobitar :)

Eftersom jag inte har någon rainDetector sätter man id:t till "0" bara då ?
Fibaro HomeCenter 2
Fw 4.600
BeyondMeasure 1.10
EventRunner
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1203
Joined: 03 Jan 2015, 16:49
9
Location: Vegby
Contact:

Eftersom jag inte har någon rainDetector sätter man id:t till "0" bara då ?
Bevattningsskriptet ovan är nu förbättrat och uppdaterat.
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
Clabbe
Medlem
Posts: 357
Joined: 25 May 2015, 21:53
9
Location: Torslanda

Ifall man inte har någon utrustning för väder. Alltså regn fukt värme.

Går det att köra med fibaros yr prognos?
-----------------------------------------------------------------
HC2
Aeon Labs, Fibaro, Danfoss enheter (30++st)
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1203
Joined: 03 Jan 2015, 16:49
9
Location: Vegby
Contact:

Skriptet behöver temp- och fukt-sensor för att fungera. Regnmätare behövs inte. Och det borde inte vara några problem att använda värden från YR.
Kruxet är bara att modifiera koden för att ta emot dessa värden. Eller om man gör en separat scen som hämtar värdena.
Personligen tycker jag det är helt idiotiskt att Fibaros eget bevattnings-plugin måste justeras manuellt i stället för att styras av väderdata eller sensorer.
"id": 3,
"name": "YR Weather",
"Humidity": "97.00",
"Pressure": "1017.10",
"Temperature": "14.10",
"WeatherCondition": "cloudy",
"Wind": "4.00",
Här finns källkoden till skriptet om det underlättar.
https://forum.fibaro.com/index.php?/top ... entry83063
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
MickeS
Medlem
Posts: 425
Joined: 12 Oct 2016, 07:53
8

Om man skippar alla koder o allt kul och ställer frågan om vad ni kör för system för bevattning.

Gardena, rainbird eller har ni plockat ihop själva med slangar o kopplingar ?

Jag har börjat räkna o tänkte gräva ner i vår.
Kommer till en summa på knappt 2500kr med gardenas system. Bara till gräsmattan då.

Funderar på att köpa ett växthus med, då blir det nog microdrip från gardena.

Räknade lite på magnetventiler på nätet mot gardenas. Skilde 200kr i slutändan, så inte så stor skillnad.

Enda jag tycker verkar bökigt eller svårt är var man ska placera dräneringsventilen o hur många man ska ha.
Homecenter 2

Kameror, värme, larm och belysning från olika leverantörer
Clabbe
Medlem
Posts: 357
Joined: 25 May 2015, 21:53
9
Location: Torslanda

Jag hittade 2 gamla (plus 30år) shuntar i förrådet. Plocka i sär och rengjorde, sen varsin fibaro puck som kör dem.
Drar typ 13w vardera.

Vardera shunt kör 2 slingor a 15m gardena droppslang (svettslang).
Så 60m slang kör ut vatten varje dag med fibaros egna bevattningspanel.. den kan iaf vattna extra om det är sol, men slutar inte vattna om det regnar, då måste man manuellt gå i. O välja "regnfördröjning". Vilket man inte heller når ifrån mobilappen, så man får logga in på webben. (Riktigt irriterande).

Men häcken o rabatterna mår bra iaf.
-----------------------------------------------------------------
HC2
Aeon Labs, Fibaro, Danfoss enheter (30++st)
MickeS
Medlem
Posts: 425
Joined: 12 Oct 2016, 07:53
8

Kör du det till gräsmatttan ?
Eller har du bara fuktslangen lagd längst ner på buskarna typ ?
Clabbe wrote:Jag hittade 2 gamla (plus 30år) shuntar i förrådet. Plocka i sär och rengjorde, sen varsin fibaro puck som kör dem.
Drar typ 13w vardera.

Vardera shunt kör 2 slingor a 15m gardena droppslang (svettslang).
Så 60m slang kör ut vatten varje dag med fibaros egna bevattningspanel.. den kan iaf vattna extra om det är sol, men slutar inte vattna om det regnar, då måste man manuellt gå i. O välja "regnfördröjning". Vilket man inte heller når ifrån mobilappen, så man får logga in på webben. (Riktigt irriterande).

Men häcken o rabatterna mår bra iaf.
Homecenter 2

Kameror, värme, larm och belysning från olika leverantörer
Post Reply