Stap 4: (bonus) met behulp van meerdere Echos & omgaan met echo 's
Als u hebt verliefd met uw pas ontdekte bevoegdheden van Echo, dat u misschien wel interesse in het gebruik van meerdere Echo. U zult tegenkomen twee problemen doen dus - en hier zijn de oplossingen voor zowel:
Weten waar de Echo is. U niet wilt dat de slaapkamer Echo inschakelen van de verlichting van de keuken, maar deze dingen niet precies hebben GPS ingebouwd. In plaats daarvan kunt u het IP-adres van elke Echo te bieden een andere set van commando's en besturingselementen.
Bekijk fauxmo_mqtt_example.py voor één oplossing hiervoor. Ik nam het IP-adres zien wanneer ik liep fauxmo_minimal.py en hield het als een constante. Wanneer ik wil verschillende echos hebben verschillende reacties op dezelfde opdracht, vergelijk ik de IP tegen client_address in de act() van de handlerfunctie.
Echo's van andere Echos. De microfoons op de Echo zijn zo gevoelig dat ze vaak u uit een kamer weg - zelfs met het afspelen van de muziek halen zullen! Terwijl ongelooflijk handig, wordt het ook een probleem wanneer u meerdere Echos rond het huis hebben.
Om op te lossen dit, ik heb een "ontdendering" functie toegevoegd aan de code (Zie debounce_handler.py) die voorkomt dat dezelfde opdracht meerdere keren snel achter elkaar wordt aangeroepen. Dus, als de slaapkamer en keuken Echos u hoort, alleen de eerste een tot het indienen van de opdracht zal uitvoeren. Welke Echo hoort u luidste & is het dichtst bij u het bericht sneller verwerkt, indient de netwerkaanvraag sneller en heeft haar verzoek verwerkt - terwijl alle de Echos die stiller echo's horen proces langer duren en krijgen debounced. Voila! De functie ontdendering is gebouwd, dus er is eigenlijk niets extra ubehoefte te doen hier - het werkt uit de doos.