Étape 7: La magie derrière...
Lorsque le processus de backend est appelé d’un changement d’état de réseau, la première chose qu’il fait est d’obtenir l’actuel nom de la connexion Wifi. C’est ensuite utilisée pour comparer le nom d’accueil Wifi stockée.
Une fois qu’il détecte le réseau, que j’ai mis un 5 secondes de retard que j’ai trouvé parfois que mon appel d’API à nid ne serait pas toujours connecter. (Je suis sûr qu’il y a de meilleures façons de le faire, mais elle semble fonctionner pour moi).
Maintenant, nous communiquons avec nid et voir ce qui est actuellement l’état du Thermostat afin de savoir si nous devons changer son statut.
Maintenant je suis sûr que tout ce que vous les programmeurs là-bas va être terrés dès maintenant car je n’utilise pas des composants JSON pour lire les résultats de l’appel d’API de nid... Croyez-moi, j’ai essayé, mais la façon dont le retour est mise en forme, j’ai eu un diable d’un temps et depuis j’ai seulement besoin de 2 valeurs de la réponse : la Structure Id & The Away état actuel j’ai prit la route facile et juste utilisé l’analyse... de chaîne vieille école:-)
Oh, un autre raccourci j’ai pris ce qui est mauvais... mais j’avais voulu dire de le changer et puis j’ai oublié... Le « Auth Code » pour nid est codé en dur dans l’app (première ligne ci-dessous). Cela signifie que l’application ne peut être partagée comme il est. Ce que je vais faire ensuite (quand j’ai le temps) est de créer une variable pour Auth Code et l’ai entrable sur configuration initiale de l’application tout comme le nom de Wifi Home. Sauf qu’il aurait besoin d’être entré dans une zone de texte et puis enregistré dans le stockage local. C’est un code très LONG et c’est pourquoi j’ai pris initialement le raccourci, mais vous pourriez toujours l’envoyer à votre téléphone et puis il suffit de couper et coller dans l’écran de réglage.
L’étape suivante consiste à déterminer si vous devez mettre à jour le nid. Je vérifie le nom Accueil Wifi contre le nom actuel de la Wifi et si elles sont égales, et l’état actuel est « Away » alors j’ai appel à l’API de nid pour définir le statut de « Home », si l’État est déjà la maison je ne rien faire. Même car si les noms de Wifi ne correspondent pas, si la situation actuelle est la maison que j’ai le mettre à jour loin d’autre ne font rien...
Enfin, le fond App envoie un Toast au téléphone. Ceci affichera une alerte de statut sur le téléphone à identifier s’il y avait un changement et si elle s’est déroulée selon la logique ci-dessus.
C’est ma logique.