Kul med bevattning

Beskriv ditt system och hjälp andra med dina kreativa lösningar.
Post Reply
mathias
Medlem
Posts: 32
Joined: 16 May 2015, 15:47
8

Har precis byggt om min bevattning att använda fibaro istället för en 12 årig gammal kontroll enhet som man inte kunde göra så mycket med.

Fick en rolig idé när barnen var ute och hade vattenkrig att skapa ett 'vattenkrig' bevattningprogram som slumpar vilken slinga som ska vara igång i 30 sekunder sedan slumpar den en ny etc tills man stoppar bevattningen :D

Hoppas på värme imorgon igen så barnen kan testa min nya vattenkrigszone:)
Bevattning.png
Bevattning.png (38.21 KiB) Viewed 9335 times
//Mathias
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1192
Joined: 03 Jan 2015, 16:49
9
Location: Vegby
Contact:

Det var en riktigt kul idé! Lägg gärna upp din VD med LUA också.
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
User avatar
sonnyboy
Proffsmedlem
Posts: 669
Joined: 26 Sep 2013, 08:05
10
Location: Västerås

RH_Dreambox wrote:Det var en riktigt kul idé! Lägg gärna upp din VD med LUA också.
Ja lägg gärna upp din VD, håller själv på med ett litet bevattningsprojekt just nu :)
Hade inte haft en tanke på detta :D
Fibaro HomeCenter 2
Fw 4.600
BeyondMeasure 1.10
EventRunner
mathias
Medlem
Posts: 32
Joined: 16 May 2015, 15:47
8

Har lite scener som den är beroende av med som jag skickar med, är inga kommentarer just nu:

Först har jag denna scenen som ser till att det alltid bara är en bevattningsslinga igång, så slår jag på en och en annan är igång så stängs den av

Den behöver en global variabel som ska heter BevattningPa som håller reda på vilken zone som är igång mm. Ändra även
139, 141, 143, 145 att vara ID för bevattnings reläerna och ID 84 är den virtuella enheten som scenen uppdaterar text på om man manuellt slår på en bevattnings relä.

Code: Select all

--[[
%% properties
139 value
141 value
143 value
145 value
%% globals
--]]
--fibaro:sleep(3000)
if fibaro:getValue(139, "value") == "0" then
  if fibaro:getValue(141, "value") == "0" then
    if fibaro:getValue(143, "value") == "0" then
      if fibaro:getValue(145, "value") == "0" then
    fibaro:setGlobal("BevattningPa", "0")
    fibaro:call(84, "setProperty", "ui.lblBevattningStatus.value", "Av")
    fibaro:call(84, "setProperty", "ui.lblZone.value", "-")
    fibaro:call(84, "setProperty", "ui.lblStatus.value", "-")
    fibaro:call(84, "setProperty", "ui.lblTimeLeft.value", "-")
        end
      end
  end
end

local BevattningPa = fibaro:getGlobal("BevattningPa")

if BevattningPa == "0" then
    fibaro:debug("Igen bevattning igång")
	if fibaro:getValue(139, "value") == "1" then
  		fibaro:setGlobal("BevattningPa", "1")
    	fibaro:debug("Bevattning 1 startar")
	elseif fibaro:getValue(141, "value") == "1" then
  		fibaro:setGlobal("BevattningPa", "2")
        fibaro:debug("Bevattning 2 startar")
	elseif fibaro:getValue(143, "value") == "1" then
  		fibaro:setGlobal("BevattningPa", "3")
        fibaro:debug("Bevattning 3 startar")
	elseif fibaro:getValue(145, "value") == "1" then
  		fibaro:setGlobal("BevattningPa", "4")
        fibaro:debug("Bevattning 4 startar")        
	end
elseif BevattningPa == "1" then
	if fibaro:getValue(141, "value") == "1" then
        fibaro:debug("Stänger bevattning 1")
		fibaro:call(139, "turnOff")
    	fibaro:setGlobal("BevattningPa", "2")
    	fibaro:debug("Bevattning 2 startar")
	elseif fibaro:getValue(143, "value") == "1" then
    	fibaro:debug("Stänger bevattning 1")
		fibaro:call(139, "turnOff")
    	fibaro:setGlobal("BevattningPa", "3")
    	fibaro:debug("Bevattning 3 startar")
	elseif fibaro:getValue(145, "value") == "1" then
    	fibaro:debug("Stänger bevattning 1")
		fibaro:call(139, "turnOff")
    	fibaro:setGlobal("BevattningPa", "4")
    	fibaro:debug("Bevattning 4 startar")
    end
elseif BevattningPa == "2" then
	if fibaro:getValue(139, "value") == "1" then
        fibaro:debug("Stänger bevattning 2")
		fibaro:call(141, "turnOff")
    	fibaro:setGlobal("BevattningPa", "1")
    	fibaro:debug("Bevattning 2 startar")
	elseif fibaro:getValue(143, "value") == "1" then
    	fibaro:debug("Stänger bevattning 2")
		fibaro:call(141, "turnOff")
    	fibaro:setGlobal("BevattningPa", "3")
    	fibaro:debug("Bevattning 3 startar")
	elseif fibaro:getValue(145, "value") == "1" then
    	fibaro:debug("Stänger bevattning 2")
		fibaro:call(141, "turnOff")
    	fibaro:setGlobal("BevattningPa", "4")
    	fibaro:debug("Bevattning 4 startar")
    end
elseif BevattningPa == "3" then
	if fibaro:getValue(139, "value") == "1" then
        fibaro:debug("Stänger bevattning 3")
		fibaro:call(143, "turnOff")
    	fibaro:setGlobal("BevattningPa", "1")
    	fibaro:debug("Bevattning 1 startar")
	elseif fibaro:getValue(141, "value") == "1" then
    	fibaro:debug("Stänger bevattning 3")
		fibaro:call(143, "turnOff")
    	fibaro:setGlobal("BevattningPa", "2")
    	fibaro:debug("Bevattning 2 startar")
	elseif fibaro:getValue(145, "value") == "1" then
    	fibaro:debug("Stänger bevattning 3")
		fibaro:call(143, "turnOff")
    	fibaro:setGlobal("BevattningPa", "4")
    	fibaro:debug("Bevattning 4 startar")
    end
elseif BevattningPa == "4" then
	if fibaro:getValue(139, "value") == "1" then
        fibaro:debug("Stänger bevattning 4")
		fibaro:call(145, "turnOff")
    	fibaro:setGlobal("BevattningPa", "1")
    	fibaro:debug("Bevattning 1 startar")
	elseif fibaro:getValue(141, "value") == "1" then
    	fibaro:debug("Stänger bevattning 4")
		fibaro:call(145, "turnOff")
    	fibaro:setGlobal("BevattningPa", "2")
    	fibaro:debug("Bevattning 2 startar")
	elseif fibaro:getValue(143, "value") == "1" then
    	fibaro:debug("Stänger bevattning 4")
		fibaro:call(145, "turnOff")
    	fibaro:setGlobal("BevattningPa", "3")
    	fibaro:debug("Bevattning 3 startar")
    end
end
    
local zoneid = fibaro:getGlobal("BevattningPa")

if fibaro:getGlobal("BevattningPa") ~= "0" then
  fibaro:call(84, "setProperty", "ui.lblBevattningStatus.value", "På")
  fibaro:call(84, "setProperty", "ui.lblZone.value", zoneid)
end
Scene två är att hålla reda på om ett schema är aktivt

Denna behöver en global variabel som heter BevattningSchema som sätts i den virtuella enheter om ett schema är igång som triggar denna scenen. Ändra här vilka tider som schemat ska gälla för schema 1 och 2.

När man aktiverat ett schema så körs det dagligen enligt tiden nedan tills man stänger av det i den virtuella enheten.

Code: Select all

--[[
%% autostart
%% properties

%% globals
BevattningSchema
--]]

fibaro:debug("New instance, totalt = " .. fibaro:countScenes())

local currentDate = os.date("*t")
local currentTime = string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min)
local schema = fibaro:getGlobal("BevattningSchema")
local timer = 0

if schema == "Schema1" then
	fibaro:debug("Schema 1 är aktiverat")
    fibaro:debug("Aktiverat klockan: " .. os.date("%H") .. ":" .. os.date("%M"))
  	fibaro:debug("Väntar till kl 01:00 att köra standard bevattning")
    
  	while (timer == 0) do 
        if tonumber(os.date("%H")) == 01 and tonumber(os.date("%M")) == 00 then
        		timer = 1
        		fibaro:call(84, "pressButton", "btnProgram1")
        end
    	fibaro:sleep(600000)
    end
elseif schema == "Schema2" then
	fibaro:debug("Schema 2 är aktiverat")
    fibaro:debug("Aktiverat klocka: " .. os.date("%H") .. ":" .. os.date("%M"))
  	fibaro:debug("Väntar till kl 20:00 att köra snabb bevattning")
    
  	while (timer == 0) do 
        if tonumber(os.date("%H")) == 20 and tonumber(os.date("%M")) == 00 then
        		timer = 1
        		fibaro:call(84, "pressButton", "btnProgram2")
        end
    	fibaro:sleep(600000)
    end
else
	fibaro:debug("Inget bevattningsschema aktivt")
end
Är även en hel del deviceid som behöver ändras, har inte haft min HC så länge så vet inte om det finns något bättre sätt att göra det på, funderar på att lägga enheterna som variabler i koden eller globala variabler så det är lätt att ändra. Har någon något bra tips så dela gärna med er för att lättare kunna dela virtuella enheter och kod mm.

//Mathias
Attachments
Bevattning.zip
(1.6 KiB) Downloaded 480 times
Post Reply