Vai al contenuto
News Ticker
  • Zwave-Community.it diventa DOMOTICA Easy!!
  • Il portale dedicato alla DOMOTICA WIRELESS
  • Forum - Guide - Recensioni

REGISTRATI PER VISUALIZZARE TUTTI I CONTENUTI DEL NOSTRO PORTALE!

ATTENZIONE: Alcuni contenuti del sito sono visualizzabili sono dagli utenti registrati. 

REGISTRATI ADESSO alla nostra comunità e dai anche il tuo supporto per ottenere di più!

kead

Aggiustare il ritardo per l'irrigazione... non va piu

Recommended Posts

Gestisco l'irrigazione con Fibaro e per regolare un ritardo nell'irrigazione in funzione delle piogge, avevo trovato il seguente codice che lanciato da un VD imposta un ritardo del programma di 24 ore.

Da un mese però non funziona piu e mi da "attempt to call field 'decode' (a nil value)"

 

Please login or register to see this code.

 

E' cambiato qualcosa nelle chiamate API?

Share this post


Link to post
Share on other sites

prova ad eseguire il comando direttamente sulla barra degli indirizzi del tuo browser pre vedere cosa ottieni...

 

Please login or register to see this code.

 

dovrebbe risponderti qualcosa del genere...

 

Please login or register to see this code.

 

verifica poi che la struttura JSON sia rispondente alla tua decodifica e ricodifica dopo la variazione del valore

Share this post


Link to post
Share on other sites

Non conosco il sistema fibaro, ma mi verrebbe da dire che devi scrivere json.decode(HC2.response)

 

Dall'errore intuisco che il sistema trova un valore null per response.. Quindi non punta a quello che tu immagini

 

Lo strano è che prima funzionava..

 

 

 

Sent by Oneplus One - Power is nothing without control

Share this post


Link to post
Share on other sites

Il codice e' corretto

non ti torna la chiamata http... dovresti verificare:

a) se funziona da browser

b) cosa contiene status ed errorCode prima di usare response.

Share this post


Link to post
Share on other sites

Allora la chiamata via brownser funziona e mi restituisce la seguente tabella:

Please login or register to see this code.

 

Per me è arabo quindi se mi aiutate a decifrare vi ringrazio...

Il codice ha sempre funzionato ed è riportato su diversi siti come l'unico modo per gestire i ritardi di irrigazione nel caso di pioggia.

Ha smesso di funzionare con il passaggio alla 4.080 credo... come non funzionano piu altri comandi via API (vedi cambio variabili).

Non va nemmeno il suo "collega" che serve per regolare le percentuali di irrigazione nel caso di estrema siccità.

 

Please login or register to see this code.

 

@Baran come posso vedere cosa contengono i valori da te menzionati?

Share this post


Link to post
Share on other sites

Ho capito com fare il Debug di quanto chiesto da Baran.

HC2 mi restituisce i seguenti valori:

 

Debug Status: mi da 200

Debug errorCode: mi da 0

Debug response mi da il seguente codice:

Please login or register to see this code.

 

Alla riga del comando "jsonTable.rainDelay = 24" ricevo:

 

Please login or register to see this code.

Share this post


Link to post
Share on other sites

@Baran ma cosa è cambiato? Dici rimuovendo solo la prima riga "HC2 = Net.FHttp("10.0.0.50",80)" ?

Ho provato ma cosi facendo mi da errore già alla prima riga alla creazione della variabile HC2 (a nil value)

Share this post


Link to post
Share on other sites

no... scusa... quello lascialo... e' sparito nel copia e incolla...

 

cambia la parte finale:

 

Please login or register to see this code.

 

 

ho rinominato la variabile a cui assegni il json da inviare una volta modificato

ora si chiama jsonBack.

 

prova... voglio capire se e' il precompilatore che si arrabbia.

Share this post


Link to post
Share on other sites

Grande! Il problema del "nil value" si è risolto!!

Ora non mi restituisce errori ma c'è qualcosa che non va nell'assegnazione del valore.

Difatti ho aggiunto una riga di Debug del tipo:

Please login or register to see this code.

 

Quando lancio il "jsonTable.rainDelay = 0" il rainDelay va correttamente a 0.

Se lancio altri valori (esempio 12 o 24 ore) il rainDelay va a valori altissimi e completamente sballati (tipo 8639). 

Allego lo screen per capire.

 

Please login or register to see this image.

Share this post


Link to post
Share on other sites

fai ancora un debug aggiungendo la stampa di:

- response

- jsonBack

 

cosi vediamo cosa ricevi.. e cosa reinvii dopo come modifica...

serve una prova:

- con rain a 0... e tu lo esegui per impostare a 24

- con rain a 86389 e tu esegui per impostare a 0

Share this post


Link to post
Share on other sites

Allora provato e questi sono i valori:

 

Da Rain a 0 ed impostando 24:

Please login or register to see this code.

 

Dopo questo mi trovo il rain a 86199

Quindi premo per impostare da 86199 a 0 ed ho questo debug:

Please login or register to see this code.

 

La cosa che noto io da ignorante in materia è che nel jsonBack non ci sono "rainDelay":86298,"cycles":1

Share this post


Link to post
Share on other sites

potrebbe banalmente essere giusto

86298 sono quasi 24 ore in secondi.

potrebbe essere che fibaro prende l'impostazione in ore e lo converte in secondi e comincia col countdown.

  • Like 1

Share this post


Link to post
Share on other sites

HAI FATTO CENTRO!

Ho fatto varie prove impostando 1, 2 o 10 ore ed il risultato in effetti è sempre in secondi.

Grande Baran! 

Vi ringrazio tutti per il supporto

Problema risolto

Please login or register to see this image.

/emoticons/wink.png" alt=";)" data-emoticon="" srcset="http://www.zwave-community.it/uploads/emoticons/wink@2x.png 2x" width="20" height="20" />

Share this post


Link to post
Share on other sites

ottimo.

 

Please login or register to see this image.

/emoticons/wink.png" alt=";)" data-emoticon="" srcset="http://www.zwave-community.it/uploads/emoticons/wink@2x.png 2x" width="20" height="20" />

Share this post


Link to post
Share on other sites

Crea un account o accedi per lasciare un commento

Devi essere un utente registrato per poter lasciare un commento

Crea un account

Iscriviti per un nuovo account nella nostra comunità. È facile!

Registra un nuovo account

Accedi Subito

Sei già registrato? Accedi da qui.

Accedi Adesso

×