add relay on / relay off — control all relays at once

This commit is contained in:
UA1ZBE
2026-07-27 10:20:38 +03:00
parent b349dd38ec
commit 231db4c652

View File

@@ -173,7 +173,7 @@ public:
while (*cmd == ' ') cmd++; while (*cmd == ' ') cmd++;
if (strcmp(cmd, "help") == 0) { if (strcmp(cmd, "help") == 0) {
defer_response("help:ohrana on,ohrana off,relay1 on,relay1 off,relay2 on,relay2 off,relay3 on,relay3 off,relay4 on,relay4 off,relay,status,ver,scan,snr,uptime,kontrol,time,reboot"); defer_response("help:ohrana on,ohrana off,relay on,relay off,relay1 on,relay1 off,relay2 on,relay2 off,relay3 on,relay3 off,relay4 on,relay4 off,relay,status,ver,scan,snr,uptime,kontrol,time,reboot");
} else if (strcmp(cmd, "ohrana on") == 0) { } else if (strcmp(cmd, "ohrana on") == 0) {
g_armed = true; saveSecurityConfig(); defer_response("ohrana on ok"); g_armed = true; saveSecurityConfig(); defer_response("ohrana on ok");
} else if (strcmp(cmd, "ohrana off") == 0) { } else if (strcmp(cmd, "ohrana off") == 0) {
@@ -194,6 +194,18 @@ public:
g_relay4_state = true; digitalWrite(PIN_RELAY_4, LOW); saveSecurityConfig(); defer_response("relay4 on ok"); g_relay4_state = true; digitalWrite(PIN_RELAY_4, LOW); saveSecurityConfig(); defer_response("relay4 on ok");
} else if (strcmp(cmd, "relay4 off") == 0) { } else if (strcmp(cmd, "relay4 off") == 0) {
g_relay4_state = false; digitalWrite(PIN_RELAY_4, HIGH); saveSecurityConfig(); defer_response("relay4 off ok"); g_relay4_state = false; digitalWrite(PIN_RELAY_4, HIGH); saveSecurityConfig(); defer_response("relay4 off ok");
} else if (strcmp(cmd, "relay on") == 0) {
g_relay1_state = true; digitalWrite(PIN_RELAY_1, LOW);
g_relay2_state = true; digitalWrite(PIN_RELAY_2, LOW);
g_relay3_state = true; digitalWrite(PIN_RELAY_3, LOW);
g_relay4_state = true; digitalWrite(PIN_RELAY_4, LOW);
saveSecurityConfig(); defer_response("relay all on ok");
} else if (strcmp(cmd, "relay off") == 0) {
g_relay1_state = false; digitalWrite(PIN_RELAY_1, HIGH);
g_relay2_state = false; digitalWrite(PIN_RELAY_2, HIGH);
g_relay3_state = false; digitalWrite(PIN_RELAY_3, HIGH);
g_relay4_state = false; digitalWrite(PIN_RELAY_4, HIGH);
saveSecurityConfig(); defer_response("relay all off ok");
} else if (strcmp(cmd, "relay") == 0) { } else if (strcmp(cmd, "relay") == 0) {
char r[48]; snprintf(r, sizeof(r), "relay:1%s 2%s 3%s 4%s", char r[48]; snprintf(r, sizeof(r), "relay:1%s 2%s 3%s 4%s",
g_relay1_state ? "on" : "off", g_relay1_state ? "on" : "off",