update to json6

This commit is contained in:
lady ada 2020-05-16 23:29:22 -04:00
parent f0de90d0e9
commit 6a5b142d06
2 changed files with 22 additions and 17 deletions

View file

@ -44,7 +44,7 @@ Adafruit_MQTT_Publish photocell_feed(&mqtt, AIO_USER "/feeds/hue-controller.hue-
Adafruit_MQTT_Publish motion_feed(&mqtt, AIO_USER "/feeds/hue-controller.hue-motion");
Adafruit_MQTT_Publish control_feed(&mqtt, AIO_USER "/feeds/hue-controller.hue-control");
DynamicJsonBuffer jsonBuffer(8500);
DynamicJsonDocument jsonBuffer(8500);
const char *hue_ip = NULL;
uint8_t *light_numbers = NULL;
@ -129,16 +129,16 @@ const char *fetch_hue_ip() {
return NULL;
}
JsonArray& root = jsonBuffer.parseArray(client);
auto error = deserializeJson(jsonBuffer, client);
client.stop();
if (!root.success()) {
if (error) {
logln("JSON PARSE ERROR");
display.println("JSON PARSE ERROR");
return NULL;
}
return strdup(root[0][F("internalipaddress")]);
return strdup(jsonBuffer["internalipaddress"]);
}
@ -183,19 +183,18 @@ boolean fetch_sunrise_sunset(long *sunrise, long *sunset)
return false;
}
JsonObject& root = jsonBuffer.parseObject(client);
auto error = deserializeJson(jsonBuffer, client);
client.stop();
if (!root.success()) {
if (error) {
logln("JSON PARSE ERROR");
display.println("JSON PARSE ERROR");
return false;
return NULL;
}
JsonObject& data = root["daily"]["data"][0];
long start_of_day = data["time"];
long raw_sunrise_time = data["sunriseTime"];
long raw_sunset_time = data["sunsetTime"];
long start_of_day = jsonBuffer["daily"]["data"][0]["time"];
long raw_sunrise_time = jsonBuffer["daily"]["data"][0]["sunriseTime"];
long raw_sunset_time = jsonBuffer["daily"]["data"][0]["sunsetTime"];
*sunrise = raw_sunrise_time - start_of_day;
*sunset = raw_sunset_time - start_of_day;
@ -263,18 +262,20 @@ uint8_t *lights_for_group(const char *group_number)
return NULL;
}
JsonObject& group = jsonBuffer.parseObject(client);
auto error = deserializeJson(jsonBuffer, client);
client.stop();
if (!group.success()) {
if (error) {
logln("JSON PARSE ERROR");
display.println("JSON PARSE ERROR");
return NULL;
}
JsonArray& lights = group["lights"];
JsonArray lights = jsonBuffer["lights"];
uint8_t *light_numbers = (uint8_t*)malloc(lights.size() + 1);
light_numbers[0] = (uint8_t)lights.size();
for (uint i = 0; i < lights.size(); i++) {
for (uint16_t i = 0; i < lights.size(); i++) {
light_numbers[i+1] = (uint8_t)atoi((const char *)lights[i]);
}
return light_numbers;

View file

@ -1,2 +1,6 @@
#define SECRET_SSID "ssid"
#define SECRET_PASS "password"
#define WIFI_SSID "ssid"
#define WIFI_PASS "password"
#define HUE_USER "foobar"
#define AIO_USER "blinka"
#define AIO_KEY "12345678900aasdfqwerzxvb"
#define DARKSKY_KEY "12345678900aasdfqwerzxvb"