Étape 4: (bonus) à l’aide de multiples échos & traitant fait écho
Si vous avez tombé en amour avec vos nouveaux pouvoirs de Echo, vous pourriez être intéressé par l’utilisation de plus d’un écho. Vous rencontrerez deux questions faisant alors - et ici sont les solutions pour les deux :
Savoir où le Echo est Vous ne voulez pas la chambre Echo pour allumer les lumières de la cuisine, mais ces choses n’ont exactement GPS construit en. Au lieu de cela, vous pouvez utiliser l’adresse IP de chaque écho pour offrir un ensemble différent de commandes et de contrôles.
Consultez fauxmo_mqtt_example.py pour une solution à cela. J’ai enregistré l’adresse IP vu quand j’ai couru fauxmo_minimal.py et gardé comme une constante. Puis, quand je veux différents echos d’avoir des réponses différentes à la même commande, je compare la période d’enquête contre client_address en fonction de act() du gestionnaire.
Échos d’autres Echos. Les microphones sur l’écho sont tellement sensibles qu’ils vont souvent vous chercher dans une chambre loin - même avec musique de fond ! Bien qu’incroyablement pratique, il devient également un problème lorsque vous avez plusieurs échos autour de la maison.
Pour résoudre ce problème, j’ai ajouté une fonction de « debounce » au code (voir debounce_handler.py) qui empêche la même commande plusieurs fois en succession rapide. Ainsi, si la chambre à coucher et cuisine Echos vous entend, seul le premier à soumettre la commande s’exécute. Selon Echo vous entend plus fort & plus proche de vous traite le message plus vite, envoie la demande de réseau plus rapidement et a sa demande traitée - tandis que tous les échos qui entendent des échos plus silencieux prennent plus de temps au processus et obtenir debounced. Tour est joué ! La fonction debounce est construite en, donc il n’y a en réalité rien de supplémentaire que vous devez faire ici - cela fonctionne out of the box.