32 lines
894 B
C++
32 lines
894 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 = NULL;
|
|
lws* websock = NULL;
|
|
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(std::string addr, std::string ent);
|
|
~HomeAssistant();
|
|
|
|
float state = 0.0f;
|
|
int connect();
|
|
void service(int timeout_ms = 0);
|
|
void disconnect();
|
|
};
|
|
|
|
#endif |