Denne vejledning viser, hvordan man forlænger
I det foregående eksempel APNT-77 - Styring af sprinkleranlæg vi introducerede
Udvidelse af sprinklerpanelets styring
Sprinklerpanelet giver dig mulighed for manuelt at tilføje en 'Regnforsinkelse' og øge/reducere vandcyklustiden indefra Sprinklerpanelet (se APNT-77 for detaljer), men du kan ikke gøre dette fra den nuværende smartphone-app, og du kan ikke ændre dem direkte fra en standard Home Center-scene.
Ved at oprette en virtuel enhed, sammen med lidt LUA-kode, kan du få kontrol over disse funktioner, og du kan bruge en standardscene til at justere dem baseret på vejret.
Denne vejledning viser dig, hvordan du:
- Opret en virtuel enhed i
Fibaro Hjemmecenter - Programmér knapperne til at styre sprinklerpanelets funktioner 'Regnforsinkelse' og 'Juster vand'
- Opret en scene til automatisk at forsinke sprinklercyklussen, hvis det regner eller stormer
NoteDette kan kun bruges i
Sprinkler Virtuel Enhed
En virtuel enhed er præcis, hvad det lyder som, en enhed, der ikke er en fysisk enhed, men en, der er oprettet i Home Center til at styre andre enheder. Dette eksempel viser en virtuel enhed, der kan ændre sprinklerpanelets værdier for 'Regnforsinkelse' (0, 24 timer, 48 timer) og 'Juster vand' (0, 10 %, 20 %).
Figur 1Virtuel enhed til at styre 'Regnforsinkelse' og 'Juster vand'
Opret den virtuelle enhed
- I hjemmecenteret skal du gå til Enheder > Tilføj Fjern enheder
- I sektionen Virtuel enhed skal du klikke på 'Tilføje'
- Giv enheden en Navn
- Vælg en Værelse fra rullelisten
- IP-adresse - Indtast hjemmecenterets IP-adresse
- TCP-port - Indtast 80 (dette er den port, der bruges af Home Center)
- Klik på 'Spare'-ikonet i højre sidebjælke
Figur 2Oprettelse af en virtuel enhed til sprinklerpanelet
Opret knapperne
Den virtuelle enhed skal bruge to rækker med tre knapper - den første række styrer 'Regnforsinkelse', og den anden styrer værdien 'Juster vand'.
- Gå til den virtuelle enheds 'Fremskreden' fanen
- Rul ned til sektionen 'Vælg et sæt knapper'
- Vælg 'Tre knapper pr. linje' - dette vil give os tre knapper
- Klik på 'Tilføj sæt'-knap
- Tilføj en anden række med tre knapper (til Juster vand-kontrollen)
- Klik på 'Spare'-ikonet i højre sidebjælke
Figur 3Oprettelse af en knap i den virtuelle enhed
Tilføj LUA-koden
Hver knap styres af et simpelt LUA-script, der tager værdien 'Regnforsinkelse' eller 'Juster vand' fra sprinklerpanelet, ændrer værdien og derefter opdaterer panelet.
- Rul ned til den første knap og navngiv den - '0 timer'i dette tilfælde (for nul timers forsinkelse)
- Vælg 'LUA' (nederst i den nederste editor)
- Indsæt LUA-koden (nedenfor) og foretag ændringer for dit system (HC2 IP-adresse, brugernavn og adgangskode)
- Klik på det blå 'Spare'-ikonet i højre sidebjælke
- Test knappen i vinduet 'Fejlfinding', hvis du ønsker det, og kontroller, at regnforsinkelsen er blevet ændret i panelet Sprinklere.
LUA-kode
-- Indstil godkendelse
HC2 = Net.FHttp("192.168.1.162",80)
HC2:sætBasicAuthentication("administrator", "administrator")
-- hent datatabel fra sprinklerpanelet
svar, status, fejlkode = HC2:GET("/api/paneler/drenchere")
jsonTable = json.decode(svar)
-- ændr data i LUA med 0 timers forsinkelse
jsonTable.rainDelay = 0
-- send opdateret tabel til panelet
json = json.encode(jsonTable);
HC2:PUT("/api/paneler/drenchere", json)
LUA-forklaring
LUA-koden er opdelt i sektioner af kommentarlinjer (som du kan fjerne), og den indeholder også adskillige fejlfindingslinjer, der hjælper dig med at teste den i den virtuelle enheds fejlfindingsprogram.
- Det første afsnit angiver din HC2's IP-adresse - du skal tilføje den korrekte IP-adresse.
- Indtast din korrekte brugernavn og adgangskode i anden linje (administrator &forstærker; administrator i dette eksempel)
- Den anden sektion henter sprinklerpanelets datatabel fra HC2
- Den 'regnForsinkelse'værdien ændres i tredje afsnit - til Nul i dette tilfælde
- Den sidste sektion sender datatabellen tilbage til sprinklerpanelet med den nye værdi for 'regnForsinkelse'
FejlfindingslinjerDe blå linjer (startende '
Figur 4LUA-kode i den virtuelle enheds knap
Konfigurer de andre knapper
Nu skal du konfigurere de to resterende 'Regnforsinkelse'-knapper og de tre 'Juster vand'-knapper ved at gentage ovenstående proces.
- 24 timer - skift rainDelay-linjen til jsonTable.rainDelay = 24
- 48 timer - skift rainDelay-linjen til jsonTable.rainDelay = 48
- 0% (Juster vand) - skift regnforsinkelseslinjen til jsonTable.adjustWater = 0
- 10% - skift rainDelay-linjen til jsonTable.adjustWater = 10
- 20% - skift rainDelay-linjen til jsonTable.adjustWater = 20
- Klik på det blå 'Spare'-ikonet i højre sidebjælke
Den endelige virtuelle enhed er vist i figur 5. Denne har sprinklerikonet i stedet for standardikonet for den virtuelle enhed - se APNT-72 - Ændring
Figur 5Sprinkler Virtuel Enhed med opdateret ikon
Automatiseret vejrscene
Vi kan nu bruge sprinklerens virtuelle enhed som en del af en scene til at forsinke sprinklercyklussen med 24 timer, hvis det har regnet.
Home Center har en indbygget vejrrapport, som den downloader regelmæssigt fra Yahoo Weather. Vi bruger denne til at afgøre, om det har regnet.
Figur 6Sprinklerforsinkelsesscene baseret på vejret
- Skab en scene - se nærmere på APNT-61 - Oprettelse af scener i
Fibaro Hjemmecenter - Vælg 'Vejr > Vejrforhold fra rullemenuen for udløser
- Tilføj en vejrtilstand for Regn OG og anden betingelse for Storm
- Tilføj en række for virtuel enhed med knappen '24 timers forsinkelse' valgt - Knap 12 i dette eksempel
- Eksempelscenen indeholder også en push-notifikation, der advarer dig om, at HC har forsinket den næste sprinklercyklus - Se APNT-76 - Notifikationer fra hjemmecenteret
Sidste ord om LUA
Denne vejledning er én måde at oprette en automatiseret scene til at forsinke vandcyklussen. Alternativt kan du bruge en enkelt LUA-scene til at hente værdierne og ændre dem baseret på vejrforholdene, eller du kan have en separat LUA-scene til at styre dem baseret på vejret - og dermed erstatte den standard 'blok'-scene, vi har brugt i dette eksempel. Du har mange muligheder for at forfine kontrollen i Home Center.Reference
Denne applikationsnotat er baseret på test af
Relaterede oplysninger
- APNT-77: Styring af sprinklere med
Fibaro Hjemmecenter - APNT-76: Brug af notifikationer i
Fibaro Hjemmecenter - APNT-72: Ændring
Fibaro Hjemmecenter-ikoner - APNT-61: Oprettelse af en scene i
Fibaro Hjemmecenter