Questa guida mostra come estendere il
Nell'esempio precedente APNT-77 - Controllo degli irrigatori abbiamo introdotto il
Estensione del controllo del pannello di irrigazione
Il pannello Irrigatori consente di aggiungere manualmente un "Ritardo pioggia" e di aumentare/diminuire il tempo del ciclo dell'acqua dall'interno del pannello Irrigatori (vedere APNT-77 per i dettagli), tuttavia non è possibile farlo dall'attuale app per smartphone e non è possibile modificarli direttamente da una scena Home Center standard.
Creando un dispositivo virtuale, insieme a un po' di codice LUA, puoi avere il controllo di queste funzioni e puoi usare una scena standard per regolarle in base alle condizioni meteorologiche.
Questa guida ti mostra come:
- Crea un dispositivo virtuale in
Fibaro Centro Casa - Programmare i pulsanti per controllare le funzioni "Ritardo pioggia" e "Regolazione acqua" del pannello di irrigazione
- Crea una scena per ritardare automaticamente il ciclo di irrigazione in caso di pioggia o temporale
Nota: Questo può essere utilizzato solo in
Dispositivo virtuale di irrigazione
Un Dispositivo Virtuale è esattamente ciò che sembra: un dispositivo che non è un dispositivo fisico, ma uno creato in Home Center per controllare altri dispositivi. Questo esempio mostra un Dispositivo Virtuale in grado di modificare i valori di "Ritardo Pioggia" (0, 24 ore, 48 ore) e "Regolazione Acqua" (0, 10%, 20%) del Pannello Irrigazione.
Figura 1: Dispositivo virtuale per controllare 'Ritardo pioggia' e 'Regolazione acqua'
Crea il dispositivo virtuale
- Nel Centro Home vai a Dispositivi &gran parte; Aggiungi Rimuovi Dispositivi
- Nella sezione Dispositivo virtuale fare clic su 'Aggiungere'
- Dai al dispositivo un Nome
- Scegli un Camera dall'elenco a discesa
- Indirizzo IP - Inserisci l'indirizzo IP dell'Home Center
- Porta TCP - Entra 80 (questa è la porta utilizzata da Home Center)
- Clicca su 'Salva' icona sulla barra laterale destra
Figura 2: Creazione di un dispositivo virtuale per il pannello di irrigazione
Crea i pulsanti
Il dispositivo virtuale necessita di due file di tre pulsanti: la prima riga controlla il "Ritardo pioggia" e la seconda controlla il valore "Regola acqua".
- Vai al dispositivo virtuale 'Avanzatoscheda '
- Scorri verso il basso fino alla sezione "Scegli set di pulsanti"
- Seleziona 'Tre pulsanti per riga'- questo ci darà tre pulsanti
- Clicca su 'Aggiungi set' pulsante
- Aggiungere una seconda riga di tre pulsanti (per il controllo Regola acqua)
- Clicca su 'Salva' icona sulla barra laterale destra
Figura 3: Creazione di un pulsante nel dispositivo virtuale
Aggiungi il codice LUA
Ogni pulsante sarà controllato da un semplice script LUA che prende il valore "Ritardo pioggia" o "Regola acqua" dal pannello Irrigatori, modifica il valore e quindi aggiorna il pannello.
- Scorri verso il basso fino al primo pulsante e assegnagli il nome: '0 ore' in questo caso (per zero ore di ritardo)
- Seleziona 'LUA' (in fondo all'editor in basso)
- Incolla il codice LUA (sotto) e apporta le modifiche per il tuo sistema (Indirizzo IP HC2, nome utente E password)
- Clicca sul pulsante blu 'Salva' icona sulla barra laterale destra
- Se lo desideri, prova il pulsante nella finestra "Debug" e controlla che il ritardo pioggia sia stato modificato nel pannello Irrigatori
Codice LUA
-- Imposta autenticazione
HC2 = Net.FHttp("192.168.1.162",80)
HC2:setBasicAuthentication("amministratore","amministratore")
-- ottenere la tabella dati dal pannello Sprinklers
risposta, stato, codice di errore = HC2:GET("/api/panels/drenchers")
jsonTable = json.decode(risposta)
-- modifica i dati in LUA per 0 ore di ritardo
jsonTable.rainDelay = 0
-- invia la tabella aggiornata al pannello
json = json.encode(tabella json);
HC2:PUT("/api/pannelli/drenchers", json)
Spiegazione LUA
Il codice LUA è suddiviso in sezioni tramite righe di commento (che è possibile rimuovere); include inoltre diverse righe di debug per aiutarti a testarlo nel debugger del dispositivo virtuale.
- La prima sezione specifica l'indirizzo IP del tuo HC2: devi aggiungere l'indirizzo IP corretto
- Inserisci il tuo corretto nome utente E password nella seconda riga (amministratore &lificatore; amministratore in questo esempio)
- La seconda sezione ottiene la tabella dati del pannello Sprinkler da HC2
- IL 'rainDelay' il valore viene modificato nella terza sezione - in Zero in questo caso
- La sezione finale invia la tabella dati al pannello Sprinkler con il nuovo valore per 'rainDelay'
Linee di debug: Le linee blu (a partire da '
Figura 4: Codice LUA nel pulsante del dispositivo virtuale
Configura gli altri pulsanti
Ora è necessario configurare i due pulsanti rimanenti "Ritardo pioggia" e i tre pulsanti "Regola acqua", ripetendo la procedura descritta sopra.
- 24 ore - cambia la riga rainDelay in jsonTable.rainDelay = 24
- 48 ore - cambia la riga rainDelay in jsonTable.rainDelay = 48
- 0% (Regola acqua) - cambia la linea rainDelay in jsonTable.adjustWater = 0
- 10% - cambia la riga rainDelay in jsonTable.adjustWater = 10
- 20% - cambia la riga rainDelay in jsonTable.adjustWater = 20
- Clicca sul pulsante blu 'Salva' icona sulla barra laterale destra
Il dispositivo virtuale finale è mostrato nella Figura 5, questo ha l'icona Sprinkler anziché l'icona standard del dispositivo virtuale - vedere APNT-72 - Cambiamento
Figura 5: Dispositivo virtuale Sprinkler con icona aggiornata
Scena meteorologica automatizzata
Ora possiamo utilizzare il dispositivo virtuale dell'irrigatore come parte di una scena per ritardare il ciclo dell'irrigatore di 24 ore se ha piovuto.
Home Center ha un bollettino meteo integrato che scarica regolarmente da Yahoo Weather; lo utilizziamo per sapere se ha piovuto.
Figura 6: Scena di ritardo dell'irrigatore basata sulle condizioni meteorologiche
- Crea una scena - dai un'occhiata a APNT-61 - Creazione di scene in
Fibaro Centro Casa - Scegliere 'Tempo atmosferico &gran parte; Condizioni meteorologiche dal menu a discesa del trigger
- Aggiungi una condizione meteo per Piovere E e seconda condizione per Tempesta
- Aggiungi una riga Dispositivo virtuale con il pulsante 'Ritardo 24 ore' selezionato - Pulsante 12 in questo esempio
- La scena di esempio include anche una notifica push per avvisarti che HC ha ritardato il prossimo ciclo di irrigazione - Vedi APNT-76 - Notifiche Home Center
Parola finale su LUA
Questa guida illustra come creare una scena automatizzata per ritardare il ciclo dell'acqua. In alternativa, è possibile utilizzare una singola scena LUA per ottenere i valori e modificarli in base alle condizioni meteorologiche, oppure è possibile creare una scena LUA separata per controllarli in base alle condizioni meteorologiche, sostituendo la scena "a blocchi" standard utilizzata in questo esempio. Sono disponibili numerose opzioni per perfezionare il controllo all'interno di Home Center.Riferimento
Questa nota applicativa si basa sui test effettuati da
Informazioni correlate
- APNT-77: Controllo degli irrigatori con
Fibaro Centro Casa - APNT-76: Utilizzo delle notifiche in
Fibaro Centro Casa - APNT-72: Cambiamento
Fibaro Icone del centro domestico - APNT-61: Creazione di una scena in
Fibaro Centro Casa