#ifndef HASS_HPP #define HASS_HPP #include #include #include #define HASS_TOKEN "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI0MzUxMTZiY2VjNTg0MTI3OGI4YmU0NTY4ZGQ5MzIyYiIsImlhdCI6MTc1NzQzMDI0MCwiZXhwIjoyMDcyNzkwMjQwfQ.6wKTlxEA0FLWfv-qW35vewUSvTxdVrZWqFwHT5Khu6E" class HomeAssistant { private: std::string address; std::string entity; uint16_t id = 2; std::string tx; struct lws_context* context = nullptr; lws* websock = nullptr; void event_handler(struct lws* wsi, enum lws_callback_reasons reason, char* in); static int callback(struct lws* wsi, enum lws_callback_reasons reason, void* user, void* in, size_t len); public: HomeAssistant(const std::string& addr, const std::string& ent); ~HomeAssistant(); float state = 0.0f; int connect(); void disconnect() const; void service(int timeout_ms = 0) const; }; #endif