HomeAssistantDiscoveryClient.h 586 B

12345678910111213141516171819202122
  1. #pragma once
  2. #include <BulbId.h>
  3. #include <MqttClient.h>
  4. #include <map>
  5. class HomeAssistantDiscoveryClient {
  6. public:
  7. HomeAssistantDiscoveryClient(Settings& settings, MqttClient* mqttClient);
  8. void addConfig(const char* alias, const BulbId& bulbId);
  9. void removeConfig(const char* alias, const BulbId& bulbId);
  10. void sendDiscoverableDevices(const std::map<String, BulbId>& aliases);
  11. private:
  12. Settings& settings;
  13. MqttClient* mqttClient;
  14. String buildTopic(const BulbId& bulbId);
  15. String bindTopicVariables(const String& topic, const char* alias, const BulbId& bulbId);
  16. };