APNT-78 - Utöka Sprinkler Control i Fibaro Home Center

Denna guide visar hur till förlängde Fibaro Home Center 2: s Sprinkler Panel kapacitet så att du på distans kan justera bevattningsperioden och automatiskt fördröja nästa vattnets kretslopp om Fibaro väderrapporter visar det regnar.

I det tidigare exemplet APNT-77 - Styra Sprinkler Vi introducerade Fibaro Sprinkler Panel som är tillgänglig i Fibaro Home Center 2 (HC2) Z-Wave Controller.

Utöka Sprinkler kontrollpanelen

Den Sprinkler panelen kan du manuellt lägga till en 'Rain Delay' och öka / minska vattencykeltiden inifrån Sprinkler panelen (se APNT-77 för detaljer), men du kan inte göra detta från den aktuella smartphone app och du kan inte direkt ändra dem från en vanlig Home Center Scene.

Genom att skapa en virtuell enhet, tillsammans med en liten bit av LUA-kod, kan du ha kontroll över dessa funktioner och du kan använda en vanlig scen för att justera dem utifrån vädret.

Den här guiden visar hur du:

  • Skapa en virtuell enhet i Fibaro Home Center
  • Programmera knappar för att styra Sprinkler panelens 'Rain Delay' och 'Justera vatten' funktioner
  • Skapa en scen för att automatiskt fördröja sprinkler cykeln om det regnar eller stormigt

Notera: Detta kan endast användas i Fibaro Home Center 2 (HC2) eftersom det kräver LUA kodning - det kan inte användas i Fibaro Home Center Lite (HCL)


Sprinkler Virtual Device

En virtuell enhet är precis vad det låter som, en enhet som inte är en fysisk enhet, men en som skapats i Home Center för att styra andra enheter. Detta exempel visar en virtuell enhet som kan förändra Sprinkler panelens 'Rain Delay' (0, 24h, 48h) och 'Justera Vatten' (0, 10%, 20%) värden.

Virtuell enhet för kontroll 'Rain Delay' och 'Justera vatten'Figur 1: Virtual Device till kontroll 'Rain Delay' och 'Justera vatten'

Skapa Virtual Device

  • I Home Center gå till Anordningar > Lägg till Flytta Devices
  • I Virtual Device sektionen klicka på "Lägg till'
  • Ge enheten en namn
  • Välj en Rum Från rullgardinsmenyn
  • IP-adress - Ange Home Center IP-adress
  • TCP Port - Stiga på 80 (Detta är den port som används av Home Center)
  • Klicka på 'Spara'Ikon på höger sida Bar

Skapa en virtuell enhet för sprinkler Panelfigur 2: Skapa en virtuell enhet för sprinkler Panel

Skapa Knappar

Den virtuella enhet behöver två rader med tre knappar - Den första raden styr 'Rain Delay' och den andra styr Justera Water "värde.

  • Gå till den virtuella enhetens "Avancerad'flik
  • Rulla ner till "Välj uppsättning knappar avsnittet
  • Välj 'Tre knappar per rad"- detta kommer att ge oss en tre knappar
  • Klicka på 'Lägg set' knapp
  • Lägg till en andra rad med tre knappar (för Adjust Vattenkontroll)
  • Klicka på 'Spara'Ikon på höger sida Bar

Skapa en knapp i den virtuella DeviceFigur 3: Skapa en knapp i den virtuella Device

Tillsätt LUA Code

Varje knapp kommer att kontrolleras av ett enkelt LUA skript som tar 'Rain Delay' eller 'Justera Water' värde från sprinkler Panelen ändrar värdet och uppdaterar panelen.

  • Bläddra ner till den första knappen och namnge det - "0H"I det här fallet (för nolltidsfördröjning)
  • Välj 'Lua'(botten av bottenredigeraren)
  • Klistra in LUA-koden (nedan) och gör ändringar för ditt system (HC2 IP-adress, Användarnamn och Lösenord)
  • Klicka på den blåa "Spara'Ikon på höger sida Bar
  • Testa knappen i fönstret "Debug" om du vill och kontrollera att regnfördröjningen har ändrats till Sprinklers-panelen

LUA-kod

- Ange autentisering

Hc2 = net.fhttp ("192.168.1.162",80)

HC2: setbasicauthentication ("administration", "administration")

FIBARO: Debug ('Knapp Lua utlöst:')

- Få datababell från Sprinklers-panelen

Svar, status, errorcode = hc2: få ("/ api / paneler / drenchers")

jesontable = json.decode (svar)

FIBARO: Debug ("Regnfördröjningsvärde:" ..Jsontable.raindelay);

- Ändra data i LUA för 0 timmarsfördröjning

JSONTABLE.RAINDELAY = 0

FIBARO: Debug ("Regnfördröjning nytt värde:" ..Jsontable.raindelay);

- Skicka uppdaterad tabell till panelen

JSON = JSON.Encode (JSONTABLE);

HC2: Sätt ("/ api / paneler / drenchers", JSON)

FIBARO: LOG ("Ready")

FIBARO: Debug ('Knapp Lua Färdig:')

Lua Förklaring

LUA-koden är uppdelad i sektioner genom kommentarlinjer (som du kan ta bort), det innehåller också flera debug-linjer som hjälper dig att testa det inom den virtuella enhetens debugger.

  • Den första sektionen anger din HC2s IP-adress - du måste lägga till rätt IP-adress
  • Ange din korrekta Användarnamn och Lösenord i den andra raden (administration & administration i detta exempel)
  • Den andra sektionen får sprinklerspanelens datatabell från HC2
  • Den "raindelay"Värdet ändras i det tredje avsnittet - till Noll I detta fall
  • Slutsektionen skickar datatabellen tillbaka till sprinklerpanelen med det nya värdet för "raindelay'

Felsökningslinjer: De blå linjerna (start "FIBARO: Debug) är debug-linjer som visar värden i felsökningsfönstret - du kan använda dessa för att bekräfta att koden är korrekt. Du kan radera dessa efter att knappen fungerar.

Lägga till IR kommandosträngen ButtonFigur 4: LUA-kod i den virtuella enhetens knapp '

Konfigurera de andra knapparna

Nu måste du konfigurera de två återstående "regnfördröjningsknapparna och de tre" justera vattenknapparna, genom att upprepa ovanstående process.

  • 24 timmar - Ändra RainDelay Line till JSONTABLE.RAINDELAY = 24
  • 48h - Ändra RainDelay Line till JSONTABLE.RAINDELAY = 48
  • 0% (Justera vatten) - Ändra RainDelay Line till jsontable.adjustwater = 0
  • 10% - Ändra RainDelay Line till jesontable.adjustwater = 10
  • 20% - Ändra RainDelay Line till jsontable.adjustwater = 20
  • Klicka på den blåa "Spara'Ikon på höger sida Bar

Den slutliga virtuella enheten visas i figur 5, det här har sprinklerikonen snarare än den vanliga virtuella enhetens ikon - se APNT-72 - Byte av Fibero Home Center Ikoner. Du kan nu göra ändringar i sprinklerpanelens värden utan att behöva öppna den, och lika viktigt kan du nu ändra dessa värden automatiskt från en Fibero-scen.

Virtuell enhet för kontroll 'Rain Delay' och 'Justera vatten'Figur 5: Sprinkler virtuell enhet med uppdaterad ikon

Automatiserad väderplats

Vi kan nu använda sprinklers virtuella enhet som en del av en scen för att fördröja sprinklercykeln med 24 timmar om den har regnat.

Home Center har en inbyggd väderrapport som den hämtar regelbundet från Yahoo Weather, vi använder detta för att avgöra om det har regnat.

Virtuell enhet för kontroll 'Rain Delay' och 'Justera vatten'Figur 6: Sprinkler Delay Scene baserat på väder

  • Skapa en scen - ta en titt på APNT-61 - Skapa scener i Fibaro Home Center
  • Välja "Väder > Väderförhållanden Från rullgardinsmenyn Trigger
  • Lägg till ett väderförhållande för Regn Och och andra villkor för Storm
  • Lägg till en virtuell enhetsrad med "24h DELARY" -knappen vald - Knapp 12 I det här exemplet
  • Exempelcenen innehåller också en tryckmeddelande för att varna dig om att HC har försenat nästa sprinkelcykel - se APNT-76 - Home Center Notifications

Slutligt ord på LUA

Den här guiden är ett sätt att skapa en automatiserad scen för att fördröja vattencykeln. Alternativt kan du använda en enda Lua-scen för att få värdena och ändra dem baserat på väderförhållanden, eller du kan ha en separat LUA-scen för att styra dem baserat på vädret - ersätta standard "block" -scenen som vi har använt i detta exempel. Du har massor av alternativ för att förfina kontrollen inom hemmet.

Referens

Denna applikationsanvisning är baserad på testning av Vesternet liksom många användbara foruminlägg från användarna av FIBARO FORUM.

Relaterad information