/*
#ifdef ESP32
#include <WiFi.h>
#else
#include <ESP8266WiFi.h>
#endif
#include "ArduinoJson.h"
byte mac[6];
char mac_addr[17] = "";
char mac_string[13] = "";
char device_definition[768] = "";
char mqtt_state_topic[32] = "";
char mqtt_command_topic[36] = "";
char mqtt_config_topic[48] = "";
char app_id[21] = "";
void setup_device() {
WiFi.macAddress(mac);
sprintf(mac_string, "%02X%02X%02X%02X%02X%02X", mac[5], mac[4], mac[3], mac[2], mac[1], mac[0]);
sprintf(mac_addr, "%02X:%02X:%02X:%02X:%02X:%02X", mac[5], mac[4], mac[3], mac[2], mac[1], mac[0]);
sprintf(app_id, "ESP8266_%s", mac_string);
sprintf(mqtt_state_topic, "%s_switch_mqtt/switch", mac_string);
sprintf(mqtt_config_topic, "homeassistant/switch/%s/switch/config", mac_string);
DynamicJsonDocument doc(1024);
JsonObject dev = doc.createNestedObject("device");
dev["name"] = (String) "ESP8266 [" + mac_addr + "]";
dev["model"] = "WeMos mini D1";
dev["sw_version"] = "1.0.0";
dev["manufacturer"] = "razuvalov.com";
JsonArray idents = dev.createNestedArray("identifiers");
idents[0] = app_id;
doc["unique_id"] = (String) mac_string + "_switch_mqtt";
doc["name"] = "Occupancy Indicator";
doc["state_topic"] = mqtt_state_topic;
doc["json_attributes_topic"] = mqtt_state_topic;
sprintf(mqtt_command_topic, "%s/set", mqtt_state_topic);
doc["command_topic"] = mqtt_command_topic;
doc["payload_on"] = "1";
doc["payload_off"] = "0";
doc["value_template"] = "{{ value_json.state }}";
serializeJson(doc, device_definition);
}
void setup() {
Serial.begin(115200);
Serial.println("Hello, ESP32!");
setup_device();
Serial.println(device_definition);
Serial.println(mqtt_config_topic);
Serial.println(mqtt_state_topic);
Serial.println(mqtt_command_topic);
}
void loop() {
// put your main code here, to run repeatedly:
delay(10); // this speeds up the simulation
}
*/
#include "ManualRelaySwitch.h"
#include "Arduino.h"
int switch_pin = 2;
int relay_pin = 4;
ManualRelaySwitch button(relay_pin, switch_pin);
ManualRelaySwitch button2(5, 18);
void onButtonChange() {
Serial.println("onChange fired");
}
void setup() {
Serial.begin(115200);
Serial.println("Hello, ESP32!");
button.setOnChange(&onButtonChange);
}
void loop() {
delay(10);
button.loop();
button2.loop();
}