Na chwilę obecną pojawiła się tam klasa Supla::Control::Button z obsługą dwóch zdarzeń "ON_PRESS" i "ON_RELEASE".
Przycisk może na razie pracować z klasą Supla::Control::Relay i wywoływać akcje TURN_ON, TURN_OFF i TOGGLE.
Code: Select all
#include <SuplaDevice.h>
#include <supla/control/relay.h>
#include <supla/network/esp_wifi.h>
#include <supla/control/button.h>
Supla::ESPWifi wifi("ssid", "password");
const char* srv_addr = "svr1.supla.org";
const char* srv_email = "email@email.com";
Supla::Control::Relay relay(D9);
Supla::Control::Button button(D13, true);
void setup() {
Serial.begin(115200);
uint8_t mac[6];
WiFi.macAddress(mac);
char GUID[SUPLA_GUID_SIZE] = { ... };
char AUTHKEY[SUPLA_AUTHKEY_SIZE] = {...};
button.willTrigger(relay, Supla::ON_PRESS, Supla::TOGGLE);
// button.willTrigger(relay, Supla::ON_RELEASE, Supla::TURN_OFF);
SuplaDevice.begin(GUID,srv_addr,srv_email,AUTHKEY);
}
void loop() {
SuplaDevice.iterate();
}
Logika przycisku też działa na odwrót na chwilę obecną
Do przycisku będzie można przypisać dodolne akcje i dowolną ilość triggerowanych obiektów.
Nawet termostat da się na tym zrobić ;P - ale o tym później.