Den här guiden visar hur man förlänger
I föregående exempel APNT-77 - Styrning av sprinkler vi introducerade
Utöka sprinklerpanelens styrning
I panelen Sprinklers kan du manuellt lägga till en "Regnfördröjning" och öka/minska vattencykeltiden inifrån panelen Sprinklers (se APNT-77 för mer information), men du kan inte göra detta från den aktuella smartphone-appen och du kan inte ändra dem direkt från en vanlig Home Center-scen.
Genom att skapa en virtuell enhet, tillsammans med lite LUA-kod, kan du ha kontroll över dessa funktioner och du kan använda en standardscen för att justera dem baserat på vädret.
Den här guiden visar hur du:
- Skapa en virtuell enhet i
Fibaro Hemcenter - Programmera knapparna för att styra sprinklerpanelens funktioner "Regnfördröjning" och "Justera vatten"
- Skapa en scen för att automatiskt fördröja sprinklercykeln om det regnar eller stormar
NoteraDetta kan endast användas i
Virtuell sprinklerenhet
En virtuell enhet är precis vad det låter som, en enhet som inte är en fysisk enhet, utan en som skapats i Home Center för att styra andra enheter. Det här exemplet visar en virtuell enhet som kan ändra sprinklerpanelens värden för "Regnfördröjning" (0, 24 timmar, 48 timmar) och "Justera vatten" (0, 10 %, 20 %).
Figur 1Virtuell enhet för att styra 'Regnfördröjning' och 'Justera vatten'
Skapa den virtuella enheten
- I Hemcentralen, gå till Enheter > Lägg till Ta bort enheter
- I avsnittet Virtuell enhet klickar du på 'Tillägga'
- Ge enheten en Namn
- Välj en Rum från rullgardinsmenyn
- IP-adress - Ange hemmacentralens IP-adress
- TCP-port - Ange 80 (detta är porten som används av Home Center)
- Klicka på 'Spara'-ikonen i högra sidofältet
Figur 2Skapa en virtuell enhet för sprinklerpanelen
Skapa knapparna
Den virtuella enheten behöver två rader med tre knappar – den första raden styr "Regnfördröjning" och den andra styr värdet "Justera vatten".
- Gå till den virtuella enhetens 'Avanceradfliken
- Scrolla ner till avsnittet "Välj uppsättning knappar".
- Välj 'Tre knappar per rad' - detta ger oss tre knappar
- Klicka på 'Lägg till uppsättning'-knappen
- Lägg till en andra rad med tre knappar (för kontrollen Justera vatten)
- Klicka på 'Spara'-ikonen i högra sidofältet
Figur 3Skapa en knapp i den virtuella enheten
Lägg till LUA-koden
Varje knapp styrs av ett enkelt LUA-skript som tar värdet för "Regnfördröjning" eller "Justera vatten" från sprinklerpanelen, ändrar värdet och uppdaterar sedan panelen.
- Scrolla ner till den första knappen och döp den till - '0 timmari det här fallet (för noll timmars försening)
- Välj 'LUA' (längst ner i den nedre redigeraren)
- 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å 'Spara'-ikonen i högra sidofältet
- Testa knappen i fönstret 'Felsökning' om du vill och kontrollera att regnfördröjningen har ändrats i panelen Sprinklers
LUA-kod
-- Ställ in autentisering
HC2 = Net.FHttp("192.168.1.162",80)
HC2:setBasicAuthentication("administration", "administration")
-- hämta datatabell från sprinklerpanelen
svar, status, felkod = HC2:GET("/api/paneler/drenchers")
jsonTabell = json.decode(svar)
-- ändra data i LUA med 0 timmars fördröjning
jsonTable.rainDelay = 0
-- skicka uppdaterad tabell till panelen
json = json.encode(jsonTabell);
HC2:PUT("/api/paneler/drenchers", json)
LUA-förklaring
LUA-koden är uppdelad i sektioner med kommentarrader (som du kan ta bort). Den innehåller också flera felsökningsrader som hjälper dig att testa den i den virtuella enhetens felsökare.
- Det första avsnittet anger din HC2:s IP-adress – du måste ange rätt IP-adress.
- Ange ditt korrekta användarnamn och lösenord i den andra raden (administration &förstärkare; administration i det här exemplet)
- Den andra sektionen hämtar sprinklerpanelens datatabell från HC2.
- Den 'regnfördröjning'värdet ändras i det tredje avsnittet - till Noll i det här fallet
- Den sista sektionen skickar datatabellen tillbaka till sprinklerpanelen med det nya värdet för 'regnfördröjning'
FelsökningsraderDe blå linjerna (med början '
Figur 4LUA-kod i den virtuella enhetens knapp
Konfigurera de andra knapparna
Nu behöver du konfigurera de två återstående knapparna för "Regnfördröjning" och de tre knapparna för "Justera vatten" genom att upprepa processen ovan.
- 24 timmar - ändra rainDelay-linjen till jsonTable.rainDelay = 24
- 48 timmar - ändra rainDelay-linjen till jsonTable.rainDelay = 48
- 0% (Justera vatten) - ändra regnfördröjningslinjen till jsonTable.adjustWater = 0
- 10 % - ändra rainDelay-linjen till jsonTable.adjustWater = 10
- 20 % - ändra rainDelay-linjen till jsonTable.adjustWater = 20
- Klicka på den blå 'Spara'-ikonen i högra sidofältet
Den sista virtuella enheten visas i figur 5, denna har sprinklerikonen istället för standardikonen för virtuell enhet - se APNT-72 - Ändra
Figur 5Sprinkler virtuell enhet med uppdaterad ikon
Automatiserad väderscen
Vi kan nu använda sprinklerns virtuella enhet som en del av en scen för att fördröja sprinklercykeln med 24 timmar om det har regnat.
Home Center har en inbyggd väderrapport som den laddar ner regelbundet från Yahoo Weather, vi använder den för att avgöra om det har regnat.
Figur 6Sprinklerfördröjningsscen baserat på väder
- Skapa en scen - ta en titt på APNT-61 - Skapa scener i
Fibaro Hemcenter - Välj 'Väder > Väderförhållanden från trigger-rullgardinsmenyn
- Lägg till ett väderförhållande för Regn OCH och andra villkoret för Storm
- Lägg till en rad för virtuell enhet med knappen '24 timmars fördröjning' vald - Knapp 12 i det här exemplet
- Exempelscenen innehåller också en push-notis som varnar dig om att HC har försenat nästa sprinklercykel - Se APNT-76 - Aviseringar från Home Center
Slutord om LUA
Den här guiden är ett sätt att skapa en automatiserad scen för att fördröja vattnets kretslopp. Alternativt kan du använda en enda LUA-scen för att hämta värdena och ändra dem baserat på väderförhållanden, eller så kan du ha en separat LUA-scen för att styra dem baserat på vädret – vilket ersätter den vanliga "block"-scenen som vi har använt i det här exemplet. Du har många alternativ för att förfina kontrollen i Home Center.Hänvisning
Denna applikationsnotering är baserad på tester av
Relaterad information
- APNT-77: Styrning av sprinklers med
Fibaro Hemcenter - APNT-76: Använda aviseringar i
Fibaro Hemcenter - APNT-72: Ändra
Fibaro Hemcenterikoner - APNT-61: Skapa en scen i
Fibaro Hemcenter