Skip to content

Commit

Permalink
Improve schema + fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
Tofandel committed Feb 16, 2020
1 parent 3694b16 commit 7c16335
Show file tree
Hide file tree
Showing 23 changed files with 2,202 additions and 325 deletions.
1 change: 0 additions & 1 deletion code/espurna/ntp.ino
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,6 @@ bool _ntpWebSocketOnKeyCheck(const char * key, JsonVariant& value) {
void _ntpWebSocketOnVisible(JsonObject& root) {
JsonObject& modules = root["_modules"];
modules["ntp"] = 1;
modules["ntplwip"] = 1;
}

void _ntpWebSocketOnData(JsonObject& root) {
Expand Down
29 changes: 16 additions & 13 deletions code/espurna/relay.ino
Original file line number Diff line number Diff line change
Expand Up @@ -862,7 +862,7 @@ void _relayWebSocketUpdate(JsonObject& root) {
schema.add("status");
schema.add("lock");

state["size"] = relayCount();
//state["_size"] = relayCount();

JsonArray& status = state.createNestedArray("status");
JsonArray& lock = state.createNestedArray("lock");
Expand Down Expand Up @@ -905,16 +905,17 @@ String _relayFriendlyName(unsigned char i) {


void _relayWebSocketSendRelays(JsonObject& root) {
JsonObject& module = root.createNestedObject("relays");
JsonObject& module = root.createNestedObject("relay");
JsonObject& config = module.createNestedObject("config");

JsonArray& schema = config.createNestedArray("_schema");
schema.add("gpio");
schema.add("GPIO");
schema.add("type");
schema.add("reset");
//schema.add("resetGPIO"); //This is not needed
schema.add("name");
schema.add("boot");
schema.add("pulse");
schema.add("pulse_time");
schema.add("time");

schema.add("dblDl");
schema.add("lngDl");
Expand All @@ -927,23 +928,24 @@ void _relayWebSocketSendRelays(JsonObject& root) {

#if MQTT_SUPPORT
schema.add("group");
schema.add("group_sync");
schema.add("on_disc");
schema.add("groupSync");
schema.add("onDisc");
schema.add("sndAllEvts");
#endif

config["start"] = 0;
//config["_start"] = 0;

JsonArray& relays = config.createNestedArray("list");

for (unsigned char i=0; i<relayCount(); i++) {
JsonArray& relay = relays.createNestedArray();
relay.add(_relayFriendlyName(i)); //gpio
relay.add(_relays[i].type); //type
relay.add(_relays[i].reset_pin); //reset
//relay.add(_relays[i].reset_pin); //reset
relay.add(getSetting({"relayName", i}); //name
relay.add(getSetting({"relayBoot", i}, RELAY_BOOT_MODE)); //boot
relay.add(_relays[i].pulse); //pulse
relay.add(_relays[i].pulse_ms / 1000.0); //pulse_time
relay.add(_relays[i].pulse_ms / 1000.0); //time
relay.add(getSetting({"relayDblDl", i}, BUTTON_DBLCLICK_DELAY)); //dblDl
relay.add(getSetting({"relayLngDl", i}, BUTTON_LNGCLICK_DELAY)); //lngDl
relay.add(getSetting({"relayLngLngDl", i}, BUTTON_LNGLNGCLICK_DELAY)); //lngLngDl
Expand All @@ -953,10 +955,11 @@ void _relayWebSocketSendRelays(JsonObject& root) {
#endif

#if MQTT_SUPPORT
relay.add(getSetting({"mqttGroup", i})); //group
relay.add(getSetting({"mqttGroupSync", i}, 0)); //group_sync
// TODO setting needs migration
relay.add(getSetting({"relayGroup", i})); //group
relay.add(getSetting({"relayGroupSync", i}, 0)); //group_sync
relay.add(getSetting({"relayOnDisc", i}, 0)); //on_disc
relay.add(getSetting({"sndAllEvts", i}, 0)); //sendAllEvts
relay.add(getSetting({"relaySndAllEvts", i}, 0)); //sendAllEvts
#endif
}
}
Expand Down
4 changes: 2 additions & 2 deletions code/espurna/rfbridge.ino
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ static bool _rfbToChar(byte * in, char * out, int n = RF_MESSAGE_SIZE) {

void _rfbWebSocketSendCodeArray(JsonObject& root, unsigned char start, unsigned char size) {
JsonObject& rfb = root.createNestedObject("rfb");
rfb["size"] = size;
rfb["start"] = start;
rfb["_size"] = size;
rfb["_start"] = start;

JsonArray& on = rfb.createNestedArray("on");
JsonArray& off = rfb.createNestedArray("off");
Expand Down
4 changes: 2 additions & 2 deletions code/espurna/sensor.ino
Original file line number Diff line number Diff line change
Expand Up @@ -443,7 +443,7 @@ void _sensorWebSocketMagnitudesConfig(JsonObject& root) {
JsonArray& schema = magnitudes.createNestedArray("_schema");
JsonArray& list = magnitudes.createNestedArray("list");

//root["size"] = magnitudeCount();
//root["_size"] = magnitudeCount();

schema.add("index");
schema.add("type");
Expand Down Expand Up @@ -494,7 +494,7 @@ void _sensorWebSocketSendData(JsonObject& root) {
error.add(magnitude.sensor->error());
}

magnitudes["size"] = size;
//magnitudes["_size"] = size;

}

Expand Down
6 changes: 4 additions & 2 deletions code/espurna/ws.ino
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ void ws_debug_t::send(const bool connected) {
DynamicJsonBuffer jsonBuffer(2*JSON_ARRAY_SIZE(messages.size()) + JSON_OBJECT_SIZE(1) + JSON_OBJECT_SIZE(2));

JsonObject& root = jsonBuffer.createObject();
JsonArray& weblog = root.createNestedArray("weblog");
JsonArray& weblog = root.createNestedArray("_weblog");

for (auto& message : messages) {
weblog.add(message.second.c_str());
Expand Down Expand Up @@ -464,16 +464,18 @@ void _wsConnected(uint32_t client_id) {
? getAdminPass().equals(ADMIN_PASS)
: false;

JsonObject& root = jsonBuffer.createObject();
if (changePassword) {
StaticJsonBuffer<JSON_OBJECT_SIZE(1)> jsonBuffer;
JsonObject& root = jsonBuffer.createObject();
root["webMode"] = WEB_MODE_PASSWORD;
wsSend(client_id, root);
return;
}
root["_loaded"] = 1;

wsPostAll(client_id, _ws_callbacks.on_visible);
wsPostSequence(client_id, _ws_callbacks.on_connected);
wsSend(client_id, root);
wsPostSequence(client_id, _ws_callbacks.on_data);

}
Expand Down
6 changes: 6 additions & 0 deletions code/ui/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions code/ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
"eslint-plugin-prettier": "^3.1.2",
"eslint-plugin-vue": "^5.2.3",
"favicons-webpack-plugin": "^2.1.0",
"file-saver": "^2.0.2",
"glob-all": "^3.1.0",
"jest-websocket-mock": "^1.5.1",
"less": "^3.10.3",
Expand Down
Loading

0 comments on commit 7c16335

Please sign in to comment.