Files
linuxSmartie/include/hass.hpp

32 lines
926 B
C++

#ifndef HASS_HPP
#define HASS_HPP
#include <libwebsockets.h>
#include <cstdint>
#include <string>
#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