logging lib

This commit is contained in:
Drath
2025-10-03 16:57:38 +02:00
parent 31f2c8bf7c
commit 7e7d8d2aa1
12 changed files with 80 additions and 48 deletions

View File

@@ -13,14 +13,13 @@ void HomeAssistant::event_handler(struct lws *wsi, enum lws_callback_reasons rea
ArduinoJson::JsonDocument json;
switch (reason) {
case LWS_CALLBACK_CLIENT_CONNECTION_ERROR: {
std::println("[HomeAssistant] websocket conn error: {}", in ? in : "(null)");
log(LOG::ERR, "HomeAssistant::event_handler", "websocket conn error: {}", in ? in : "(null)");
return;
}
case LWS_CALLBACK_CLIENT_RECEIVE: {
ArduinoJson::deserializeJson(json, in);
std::string ha_type = json["type"].as<std::string>();
// std::println("[HomeAssistant] got event type: {} ", ha_type);
if (ha_type == "auth_required") {
json.clear();
@@ -31,7 +30,7 @@ void HomeAssistant::event_handler(struct lws *wsi, enum lws_callback_reasons rea
}
if (ha_type == "auth_ok") {
std::println("[HomeAssistant] subscribing to entity \"{}\"", entity);
log(LOG::INF, "HomeAssistant::event_handler", "subscribing to entity \"{}\"", entity);
json.clear();
json["id"] = id++;
json["type"] = "subscribe_entities";
@@ -42,7 +41,7 @@ void HomeAssistant::event_handler(struct lws *wsi, enum lws_callback_reasons rea
if (ha_type == "result") {
if (json["success"].as<std::string>() == "false")
std::println("[HomeAssistant] api said success was \"false\" on message id {}", id - 1);
log(LOG::ERR, "HomeAssistant::event_handler", "api said success was \"false\" on message id {}", id - 1);
break;
}
@@ -51,24 +50,23 @@ void HomeAssistant::event_handler(struct lws *wsi, enum lws_callback_reasons rea
break;
}
std::println("[HomeAssistant] unhandled event: {}", (char *)in);
log(LOG::WRN, "HomeAssistant::event_handler", "unhandled event: {}", (char *)in);
break;
}
case LWS_CALLBACK_CLIENT_ESTABLISHED: {
std::println("[HomeAssistant] Websocket connected");
log(LOG::INF, "HomeAssistant::event_handler", "Websocket connected");
break;
}
case LWS_CALLBACK_CLIENT_CLOSED: {
std::println("[HomeAssistant] Websocket closed");
log(LOG::INF, "HomeAssistant::event_handler", "Websocket closed");
return;
}
case LWS_CALLBACK_CLIENT_WRITEABLE: {
/* skip whole callback if there's no tx to send */
if (tx.size() > 0) {
// std::println("[HomeAssistant] sending {}", tx);
size_t msgLen = LWS_PRE + tx.size();
unsigned char *buf = (unsigned char *)malloc(msgLen);
if (buf) {
@@ -122,7 +120,7 @@ int HomeAssistant::connect() {
context = lws_create_context(&info);
if (!context) {
std::println("[HomeAssistant] error creating context");
log(LOG::ERR, "HomeAssistant::connect", "error creating context");
return -1;
}
@@ -139,7 +137,7 @@ int HomeAssistant::connect() {
websock = lws_client_connect_via_info(&i);
if (!websock) {
std::println("[HomeAssistant] error creating lws client");
log(LOG::ERR, "HomeAssistant::connect", "error creating lws client");
return -1;
}
return 0;