// -----------------------------------------------------------------------------
|
|
// Configuration HELP
|
|
// -----------------------------------------------------------------------------
|
|
//
|
|
// MANUFACTURER: Name of the manufacturer of the board ("string")
|
|
// DEVICE: Name of the device ("string")
|
|
// BUTTON#_PIN: GPIO for the n-th button (1-based, up to 4 buttons)
|
|
// BUTTON#_RELAY: Relay number that will be bind to the n-th button (1-based)
|
|
// BUTTON#_MODE: A mask of options (BUTTON_PUSHBUTTON and BUTTON_SWITCH cannot be together)
|
|
// - BUTTON_PUSHBUTTON: button event is fired when released
|
|
// - BUTTON_SWITCH: button event is fired when pressed or released
|
|
// - BUTTON_DEFAULT_HIGH: there is a pull up in place
|
|
// - BUTTON_SET_PULLUP: set pullup by software
|
|
// RELAY#_PIN: GPIO for the n-th relay (1-based, up to 8 relays)
|
|
// RELAY#_TYPE: Relay can be RELAY_TYPE_NORMAL, RELAY_TYPE_INVERSE, RELAY_TYPE_LATCHED or RELAY_TYPE_LATCHED_INVERSE
|
|
// LED#_PIN: GPIO for the n-th LED (1-based, up to 8 LEDs)
|
|
// LED#_PIN_INVERSE: LED has inversed logic (lit when pulled down)
|
|
// LED#_MODE: Check types.h for LED_MODE_%
|
|
// LED#_RELAY: Linked relay (1-based)
|
|
//
|
|
// Besides, other hardware specific information should be stated here
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// ESPurna Core
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#if defined(ESPURNA_CORE)
|
|
|
|
// This is a special device targeted to generate a light-weight binary image
|
|
// meant to be able to do two-step-updates:
|
|
// https://github.com/xoseperez/espurna/wiki/TwoStepUpdates
|
|
|
|
// Info
|
|
#define MANUFACTURER "ESPRESSIF"
|
|
#define DEVICE "ESPURNA_CORE"
|
|
|
|
// Disable non-core modules
|
|
#define ALEXA_SUPPORT 0
|
|
#define BROKER_SUPPORT 0
|
|
#define BUTTON_SUPPORT 0
|
|
#define DOMOTICZ_SUPPORT 0
|
|
#define HOMEASSISTANT_SUPPORT 0
|
|
#define I2C_SUPPORT 0
|
|
#define MDNS_SERVER_SUPPORT 0
|
|
#define MQTT_SUPPORT 0
|
|
#define NTP_SUPPORT 0
|
|
#define SCHEDULER_SUPPORT 0
|
|
#define SENSOR_SUPPORT 0
|
|
#define THINGSPEAK_SUPPORT 0
|
|
#define WEB_SUPPORT 0
|
|
|
|
// Extra light-weight image
|
|
//#define DEBUG_SERIAL_SUPPORT 0
|
|
//#define DEBUG_TELNET_SUPPORT 0
|
|
//#define DEBUG_WEB_SUPPORT 0
|
|
//#define LED_SUPPORT 0
|
|
//#define TELNET_SUPPORT 0
|
|
//#define TERMINAL_SUPPORT 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Development boards
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(NODEMCU_LOLIN)
|
|
|
|
// Info
|
|
#define MANUFACTURER "NODEMCU"
|
|
#define DEVICE "LOLIN"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Hidden button will enter AP mode if dblclick and reset the device when long-long-clicked
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// Light
|
|
#define LED1_PIN 2
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
#elif defined(NODEMCU_BASIC)
|
|
// Info
|
|
// Generic NodeMCU Board without any buttons or relays connected.
|
|
#define MANUFACTURER "NODEMCU"
|
|
#define DEVICE "BASIC"
|
|
|
|
#elif defined(WEMOS_D1_MINI)
|
|
|
|
// Info
|
|
#define MANUFACTURER "WEMOS"
|
|
#define DEVICE "D1_MINI"
|
|
|
|
// Buttons
|
|
// No buttons on the D1 MINI alone, but defining it without adding a button doen't create problems
|
|
#define BUTTON1_PIN 0 // Connect a pushbutton between D3 and GND,
|
|
// it's the same as using a Wemos one button shield
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// LEDs
|
|
#define LED1_PIN 2
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
#define I2C_SDA_PIN 4 // D2
|
|
#define I2C_SCL_PIN 5 // D1
|
|
|
|
#elif defined(WEMOS_D1_MINI_RELAYSHIELD)
|
|
|
|
// Info
|
|
#define MANUFACTURER "WEMOS"
|
|
#define DEVICE "D1_MINI_RELAYSHIELD"
|
|
|
|
// Buttons
|
|
// No buttons on the D1 MINI alone, but defining it without adding a button doen't create problems
|
|
#define BUTTON1_PIN 0 // Connect a pushbutton between D3 and GND,
|
|
// it's the same as using a Wemos one button shield
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 5
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 2
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// When Wemos relay shield is connected GPIO5 (D1) is used for relay,
|
|
// so I2C must be remapped to other pins
|
|
#define I2C_SDA_PIN 12 // D6
|
|
#define I2C_SCL_PIN 14 // D5
|
|
|
|
#elif defined(WEMOS_D1_TARPUNA_SHIELD)
|
|
|
|
// Info
|
|
#define MANUFACTURER "WEMOS"
|
|
#define DEVICE "D1_TARPUNA_SHIELD"
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// ESPurna
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(TINKERMAN_ESPURNA_H06)
|
|
|
|
// Info
|
|
#define MANUFACTURER "TINKERMAN"
|
|
#define DEVICE "ESPURNA_H06"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 4
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Normal pushbutton
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_INVERSE
|
|
|
|
// LEDs
|
|
#define LED1_PIN 2
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// HLW8012
|
|
#ifndef HLW8012_SUPPORT
|
|
#define HLW8012_SUPPORT 1
|
|
#endif
|
|
#define HLW8012_SEL_PIN 2
|
|
#define HLW8012_CF1_PIN 13
|
|
#define HLW8012_CF_PIN 14
|
|
|
|
#elif defined(TINKERMAN_ESPURNA_H08)
|
|
|
|
// Info
|
|
#define MANUFACTURER "TINKERMAN"
|
|
#define DEVICE "ESPURNA_H08"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 4
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Normal pushbutton
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 2
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
// HLW8012
|
|
#ifndef HLW8012_SUPPORT
|
|
#define HLW8012_SUPPORT 1
|
|
#endif
|
|
#define HLW8012_SEL_PIN 5
|
|
#define HLW8012_CF1_PIN 13
|
|
#define HLW8012_CF_PIN 14
|
|
|
|
#elif defined(TINKERMAN_ESPURNA_SWITCH)
|
|
|
|
// Info
|
|
#define MANUFACTURER "TINKERMAN"
|
|
#define DEVICE "ESPURNA_SWITCH"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 4
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Touch button
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON
|
|
#define BUTTON1_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON1_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGLNGCLICK BUTTON_MODE_NONE
|
|
|
|
// LEDs
|
|
#define LED1_PIN 2
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_INVERSE
|
|
|
|
|
|
// Check http://tinkerman.cat/rfm69-wifi-gateway/
|
|
#elif defined(TINKERMAN_RFM69GW)
|
|
|
|
// Info
|
|
#define MANUFACTURER "TINKERMAN"
|
|
#define DEVICE "RFM69GW"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
// RFM69GW
|
|
#define RFM69_SUPPORT 1
|
|
|
|
// Disable non-core modules
|
|
#define ALEXA_SUPPORT 0
|
|
#define DOMOTICZ_SUPPORT 0
|
|
#define HOMEASSISTANT_SUPPORT 0
|
|
#define I2C_SUPPORT 0
|
|
#define SCHEDULER_SUPPORT 0
|
|
#define SENSOR_SUPPORT 0
|
|
#define THINGSPEAK_SUPPORT 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Itead Studio boards
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(ITEAD_SONOFF_BASIC)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "SONOFF_BASIC"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON2_PIN 14
|
|
#define BUTTON2_MODE BUTTON_SWITCH | BUTTON_SET_PULLUP | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON2_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
#elif defined(ITEAD_SONOFF_RF)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "SONOFF_RF"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON2_PIN 14
|
|
#define BUTTON2_MODE BUTTON_SWITCH | BUTTON_SET_PULLUP | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON2_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
#elif defined(ITEAD_SONOFF_TH)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "SONOFF_TH"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// Jack is connected to GPIO14 (and with a small hack to GPIO4)
|
|
#ifndef DALLAS_SUPPORT
|
|
#define DALLAS_SUPPORT 1
|
|
#endif
|
|
#define DALLAS_PIN 14
|
|
|
|
#ifndef DHT_SUPPORT
|
|
#define DHT_SUPPORT 1
|
|
#endif
|
|
#define DHT_PIN 14
|
|
|
|
//#define I2C_SDA_PIN 4
|
|
//#define I2C_SCL_PIN 14
|
|
|
|
#elif defined(ITEAD_SONOFF_SV)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "SONOFF_SV"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
#elif defined(ITEAD_SLAMPHER)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "SLAMPHER"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
#elif defined(ITEAD_S20)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "S20"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
#elif defined(ITEAD_SONOFF_TOUCH)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "SONOFF_TOUCH"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON1_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGLNGCLICK BUTTON_MODE_RESET
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
#elif defined(ITEAD_SONOFF_POW)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "SONOFF_POW"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 15
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
// HLW8012
|
|
#ifndef HLW8012_SUPPORT
|
|
#define HLW8012_SUPPORT 1
|
|
#endif
|
|
#define HLW8012_SEL_PIN 5
|
|
#define HLW8012_CF1_PIN 13
|
|
#define HLW8012_CF_PIN 14
|
|
|
|
#elif defined(ITEAD_SONOFF_POW_R2)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "SONOFF_POW_R2"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// Disable UART noise
|
|
#define DEBUG_SERIAL_SUPPORT 0
|
|
|
|
// CSE7766
|
|
#ifndef CSE7766_SUPPORT
|
|
#define CSE7766_SUPPORT 1
|
|
#endif
|
|
#define CSE7766_PIN 1
|
|
|
|
#elif defined(ITEAD_SONOFF_DUAL)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "SONOFF_DUAL"
|
|
#define SERIAL_BAUDRATE 19230
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_DUAL
|
|
#define DUMMY_RELAY_COUNT 2
|
|
#define DEBUG_SERIAL_SUPPORT 0
|
|
|
|
// Buttons
|
|
#define BUTTON3_RELAY 1
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
#elif defined(ITEAD_SONOFF_DUAL_R2)
|
|
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "SONOFF_DUAL_R2"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0 // Button 0 on header
|
|
#define BUTTON2_PIN 9 // Button 1 on header
|
|
#define BUTTON3_PIN 10 // Physical button
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON2_RELAY 2
|
|
#define BUTTON3_RELAY 1
|
|
#define BUTTON1_MODE BUTTON_SWITCH | BUTTON_SET_PULLUP | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON2_MODE BUTTON_SWITCH | BUTTON_SET_PULLUP | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON3_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY2_PIN 5
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY2_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
#elif defined(ITEAD_SONOFF_4CH)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "SONOFF_4CH"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON2_PIN 9
|
|
#define BUTTON3_PIN 10
|
|
#define BUTTON4_PIN 14
|
|
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON2_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON3_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON4_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON2_RELAY 2
|
|
#define BUTTON3_RELAY 3
|
|
#define BUTTON4_RELAY 4
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY2_PIN 5
|
|
#define RELAY3_PIN 4
|
|
#define RELAY4_PIN 15
|
|
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY2_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY3_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY4_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
#elif defined(ITEAD_SONOFF_4CH_PRO)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "SONOFF_4CH_PRO"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON2_PIN 9
|
|
#define BUTTON3_PIN 10
|
|
#define BUTTON4_PIN 14
|
|
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON2_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON3_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON4_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON2_RELAY 2
|
|
#define BUTTON3_RELAY 3
|
|
#define BUTTON4_RELAY 4
|
|
|
|
// Sonoff 4CH Pro uses a secondary STM32 microcontroller to handle
|
|
// buttons and relays, but it also forwards button presses to the ESP8285.
|
|
// This allows ESPurna to handle button presses -almost- the same way
|
|
// as with other devices except:
|
|
// * Double click seems to break/disable the button on the STM32 side
|
|
// * With S6 switch to 1 (self-locking and inching modes) everything's OK
|
|
// * With S6 switch to 0 (interlock mode) if there is a relay ON
|
|
// and you click on another relay button, the STM32 sends a "press"
|
|
// event for the button of the first relay (to turn it OFF) but it
|
|
// does not send a "release" event. It's like it's holding the
|
|
// button down since you can see it is still LOW.
|
|
// Whatever reason the result is that it may actually perform a
|
|
// long click or long-long click.
|
|
// The configuration below make the button toggle the relay on press events
|
|
// and disables any possibly harmful combination with S6 set to 0.
|
|
// If you are sure you will only use S6 to 1 you can comment the
|
|
// BUTTON1_LNGCLICK and BUTTON1_LNGLNGCLICK options below to recover the
|
|
// reset mode and factory reset functionalities, or link other actions like
|
|
// AP mode in the commented line below.
|
|
|
|
#define BUTTON1_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON1_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGCLICK BUTTON_MODE_NONE
|
|
//#define BUTTON1_LNGCLICK BUTTON_MODE_AP
|
|
#define BUTTON1_LNGLNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON2_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON2_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON3_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON3_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON4_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON4_CLICK BUTTON_MODE_NONE
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY2_PIN 5
|
|
#define RELAY3_PIN 4
|
|
#define RELAY4_PIN 15
|
|
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY2_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY3_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY4_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
#elif defined(ITEAD_1CH_INCHING)
|
|
|
|
// The inching functionality is managed by a misterious IC in the board.
|
|
// You cannot control the inching button and functionality from the ESP8266
|
|
// Besides, enabling the inching functionality using the hardware button
|
|
// will result in the relay switching on and off continuously.
|
|
// Fortunately the unkown IC keeps memory of the hardware inching status
|
|
// so you can just disable it and forget. The inching LED must be lit.
|
|
// You can still use the pulse options from the web interface
|
|
// without problem.
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "1CH_INCHING"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
#elif defined(ITEAD_MOTOR)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "MOTOR"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
#elif defined(ITEAD_BNSZ01)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "BNSZ01"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER
|
|
#define DUMMY_RELAY_COUNT 1
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// Light
|
|
#define LIGHT_CHANNELS 1
|
|
#define LIGHT_CH1_PIN 12
|
|
#define LIGHT_CH1_INVERSE 0
|
|
|
|
#elif defined(ITEAD_SONOFF_RFBRIDGE)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "SONOFF_RFBRIDGE"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_RFBRIDGE
|
|
|
|
// Number of virtual switches
|
|
#ifndef DUMMY_RELAY_COUNT
|
|
#define DUMMY_RELAY_COUNT 8
|
|
#endif
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// RFB Direct hack thanks to @wildwiz
|
|
// https://github.com/xoseperez/espurna/wiki/Hardware-Itead-Sonoff-RF-Bridge---Direct-Hack
|
|
#ifndef RFB_DIRECT
|
|
#define RFB_DIRECT 0
|
|
#endif
|
|
|
|
#ifndef RFB_RX_PIN
|
|
#define RFB_RX_PIN 4 // GPIO for RX when RFB_DIRECT
|
|
#endif
|
|
|
|
#ifndef RFB_TX_PIN
|
|
#define RFB_TX_PIN 5 // GPIO for TX when RFB_DIRECT
|
|
#endif
|
|
|
|
// When using un-modified harware, ESPurna communicates with the secondary
|
|
// MCU EFM8BB1 via UART at 19200 bps so we need to change the speed of
|
|
// the port and remove UART noise on serial line
|
|
#if not RFB_DIRECT
|
|
#define SERIAL_BAUDRATE 19200
|
|
#define DEBUG_SERIAL_SUPPORT 0
|
|
#endif
|
|
|
|
#elif defined(ITEAD_SONOFF_B1)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "SONOFF_B1"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_MY92XX
|
|
#define DUMMY_RELAY_COUNT 1
|
|
|
|
// Light
|
|
#define LIGHT_CHANNELS 5
|
|
#define MY92XX_MODEL MY92XX_MODEL_MY9231
|
|
#define MY92XX_CHIPS 2
|
|
#define MY92XX_DI_PIN 12
|
|
#define MY92XX_DCKI_PIN 14
|
|
#define MY92XX_COMMAND MY92XX_COMMAND_DEFAULT
|
|
#define MY92XX_MAPPING 4, 3, 5, 0, 1
|
|
#define LIGHT_WHITE_FACTOR (0.1) // White LEDs are way more bright in the B1
|
|
|
|
#elif defined(ITEAD_SONOFF_LED)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "SONOFF_LED"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER
|
|
#define DUMMY_RELAY_COUNT 1
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// Light
|
|
#define LIGHT_CHANNELS 2
|
|
#define LIGHT_CH1_PIN 12 // Cold white
|
|
#define LIGHT_CH2_PIN 14 // Warm white
|
|
#define LIGHT_CH1_INVERSE 0
|
|
#define LIGHT_CH2_INVERSE 0
|
|
|
|
#elif defined(ITEAD_SONOFF_T1_1CH)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "SONOFF_T1_1CH"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON1_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGLNGCLICK BUTTON_MODE_RESET
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
#elif defined(ITEAD_SONOFF_T1_2CH)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "SONOFF_T1_2CH"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON2_PIN 9
|
|
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON1_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGLNGCLICK BUTTON_MODE_RESET
|
|
|
|
#define BUTTON2_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON2_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON2_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON2_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON2_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON2_LNGLNGCLICK BUTTON_MODE_RESET
|
|
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON2_RELAY 2
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY2_PIN 5
|
|
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY2_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
#elif defined(ITEAD_SONOFF_T1_3CH)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "SONOFF_T1_3CH"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON2_PIN 9
|
|
#define BUTTON3_PIN 10
|
|
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON1_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGLNGCLICK BUTTON_MODE_RESET
|
|
|
|
#define BUTTON2_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON2_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON2_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON2_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON2_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON2_LNGLNGCLICK BUTTON_MODE_RESET
|
|
|
|
#define BUTTON3_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON3_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON3_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON3_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON3_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON3_LNGLNGCLICK BUTTON_MODE_RESET
|
|
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON2_RELAY 2
|
|
#define BUTTON3_RELAY 3
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY2_PIN 5
|
|
#define RELAY3_PIN 4
|
|
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY2_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY3_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
#elif defined(ITEAD_SONOFF_S31)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "SONOFF_S31"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// Disable UART noise
|
|
#define DEBUG_SERIAL_SUPPORT 0
|
|
|
|
// CSE7766
|
|
#define CSE7766_SUPPORT 1
|
|
#define CSE7766_PIN 1
|
|
|
|
#elif defined(ITEAD_SONOFF_IFAN02)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ITEAD"
|
|
#define DEVICE "SONOFF_IFAN02"
|
|
|
|
// These are virtual buttons triggered by the remote
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON2_PIN 9
|
|
#define BUTTON3_PIN 10
|
|
#define BUTTON4_PIN 14
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON2_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON3_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON4_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY2_PIN 5
|
|
#define RELAY3_PIN 4
|
|
#define RELAY4_PIN 15
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY2_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY3_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY4_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// YJZK
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(YJZK_SWITCH_1CH)
|
|
|
|
// Info
|
|
#define MANUFACTURER "YJZK"
|
|
#define DEVICE "SWITCH_1CH"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON1_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGLNGCLICK BUTTON_MODE_RESET
|
|
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
#elif defined(YJZK_SWITCH_2CH)
|
|
|
|
// Info
|
|
#define MANUFACTURER "YJZK"
|
|
#define DEVICE "SWITCH_2CH"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON2_PIN 9
|
|
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON1_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGLNGCLICK BUTTON_MODE_RESET
|
|
|
|
#define BUTTON2_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON2_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON2_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON2_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON2_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON2_LNGLNGCLICK BUTTON_MODE_RESET
|
|
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON2_RELAY 2
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY2_PIN 5
|
|
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY2_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
// YJZK 3CH switch
|
|
// Also Lixin Touch Wifi 3M
|
|
|
|
#elif defined(YJZK_SWITCH_3CH)
|
|
|
|
// Info
|
|
#define MANUFACTURER "YJZK"
|
|
#define DEVICE "SWITCH_3CH"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON2_PIN 9
|
|
#define BUTTON3_PIN 10
|
|
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON1_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGLNGCLICK BUTTON_MODE_RESET
|
|
|
|
#define BUTTON2_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON2_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON2_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON2_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON2_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON2_LNGLNGCLICK BUTTON_MODE_RESET
|
|
|
|
#define BUTTON3_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON3_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON3_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON3_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON3_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON3_LNGLNGCLICK BUTTON_MODE_RESET
|
|
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON2_RELAY 2
|
|
#define BUTTON3_RELAY 3
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY2_PIN 5
|
|
#define RELAY3_PIN 4
|
|
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY2_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY3_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Electrodragon boards
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(ELECTRODRAGON_WIFI_IOT)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ELECTRODRAGON"
|
|
#define DEVICE "WIFI_IOT"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON2_PIN 2
|
|
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON2_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON2_RELAY 2
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY2_PIN 13
|
|
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY2_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 16
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// WorkChoice ecoPlug
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(WORKCHOICE_ECOPLUG)
|
|
|
|
// Info
|
|
#define MANUFACTURER "WORKCHOICE"
|
|
#define DEVICE "ECOPLUG"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 13
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 15
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 2
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// AI Thinker
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(AITHINKER_AI_LIGHT)
|
|
|
|
// Info
|
|
#define MANUFACTURER "AITHINKER"
|
|
#define DEVICE "AI_LIGHT"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_MY92XX
|
|
#define DUMMY_RELAY_COUNT 1
|
|
|
|
// Light
|
|
#define LIGHT_CHANNELS 4
|
|
#define MY92XX_MODEL MY92XX_MODEL_MY9291
|
|
#define MY92XX_CHIPS 1
|
|
#define MY92XX_DI_PIN 13
|
|
#define MY92XX_DCKI_PIN 15
|
|
#define MY92XX_COMMAND MY92XX_COMMAND_DEFAULT
|
|
#define MY92XX_MAPPING 0, 1, 2, 3
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// LED Controller
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(MAGICHOME_LED_CONTROLLER)
|
|
|
|
// Info
|
|
#define MANUFACTURER "MAGICHOME"
|
|
#define DEVICE "LED_CONTROLLER"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER
|
|
#define DUMMY_RELAY_COUNT 1
|
|
|
|
// LEDs
|
|
#define LED1_PIN 2
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// Light
|
|
#define LIGHT_CHANNELS 4
|
|
#define LIGHT_CH1_PIN 14 // RED
|
|
#define LIGHT_CH2_PIN 5 // GREEN
|
|
#define LIGHT_CH3_PIN 12 // BLUE
|
|
#define LIGHT_CH4_PIN 13 // WHITE
|
|
#define LIGHT_CH1_INVERSE 0
|
|
#define LIGHT_CH2_INVERSE 0
|
|
#define LIGHT_CH3_INVERSE 0
|
|
#define LIGHT_CH4_INVERSE 0
|
|
|
|
// IR
|
|
#define IR_SUPPORT 1
|
|
#define IR_RX_PIN 4
|
|
#define IR_BUTTON_SET 1
|
|
|
|
#elif defined(MAGICHOME_LED_CONTROLLER_20)
|
|
|
|
// Info
|
|
#define MANUFACTURER "MAGICHOME"
|
|
#define DEVICE "LED_CONTROLLER_20"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER
|
|
#define DUMMY_RELAY_COUNT 1
|
|
|
|
// LEDs
|
|
#define LED1_PIN 2
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// Light
|
|
#define LIGHT_CHANNELS 4
|
|
#define LIGHT_CH1_PIN 5 // RED
|
|
#define LIGHT_CH2_PIN 12 // GREEN
|
|
#define LIGHT_CH3_PIN 13 // BLUE
|
|
#define LIGHT_CH4_PIN 15 // WHITE
|
|
#define LIGHT_CH1_INVERSE 0
|
|
#define LIGHT_CH2_INVERSE 0
|
|
#define LIGHT_CH3_INVERSE 0
|
|
#define LIGHT_CH4_INVERSE 0
|
|
|
|
// IR
|
|
#define IR_SUPPORT 1
|
|
#define IR_RX_PIN 4
|
|
#define IR_BUTTON_SET 1
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// HUACANXING H801 & H802
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(HUACANXING_H801)
|
|
|
|
// Info
|
|
#define MANUFACTURER "HUACANXING"
|
|
#define DEVICE "H801"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER
|
|
#define DUMMY_RELAY_COUNT 1
|
|
#define DEBUG_PORT Serial1
|
|
#define SERIAL_RX_ENABLED 1
|
|
|
|
// LEDs
|
|
#define LED1_PIN 5
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// Light
|
|
#define LIGHT_CHANNELS 5
|
|
#define LIGHT_CH1_PIN 15 // RED
|
|
#define LIGHT_CH2_PIN 13 // GREEN
|
|
#define LIGHT_CH3_PIN 12 // BLUE
|
|
#define LIGHT_CH4_PIN 14 // WHITE1
|
|
#define LIGHT_CH5_PIN 4 // WHITE2
|
|
#define LIGHT_CH1_INVERSE 0
|
|
#define LIGHT_CH2_INVERSE 0
|
|
#define LIGHT_CH3_INVERSE 0
|
|
#define LIGHT_CH4_INVERSE 0
|
|
#define LIGHT_CH5_INVERSE 0
|
|
|
|
#elif defined(HUACANXING_H802)
|
|
|
|
// Info
|
|
#define MANUFACTURER "HUACANXING"
|
|
#define DEVICE "H802"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER
|
|
#define DUMMY_RELAY_COUNT 1
|
|
#define DEBUG_PORT Serial1
|
|
#define SERIAL_RX_ENABLED 1
|
|
|
|
// Light
|
|
#define LIGHT_CHANNELS 4
|
|
#define LIGHT_CH1_PIN 12 // RED
|
|
#define LIGHT_CH2_PIN 14 // GREEN
|
|
#define LIGHT_CH3_PIN 13 // BLUE
|
|
#define LIGHT_CH4_PIN 15 // WHITE
|
|
#define LIGHT_CH1_INVERSE 0
|
|
#define LIGHT_CH2_INVERSE 0
|
|
#define LIGHT_CH3_INVERSE 0
|
|
#define LIGHT_CH4_INVERSE 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Jan Goedeke Wifi Relay
|
|
// https://github.com/JanGoe/esp8266-wifi-relay
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(JANGOE_WIFI_RELAY_NC)
|
|
|
|
// Info
|
|
#define MANUFACTURER "JANGOE"
|
|
#define DEVICE "WIFI_RELAY_NC"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 12
|
|
#define BUTTON2_PIN 13
|
|
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON2_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON2_RELAY 2
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 2
|
|
#define RELAY2_PIN 14
|
|
|
|
#define RELAY1_TYPE RELAY_TYPE_INVERSE
|
|
#define RELAY2_TYPE RELAY_TYPE_INVERSE
|
|
|
|
#elif defined(JANGOE_WIFI_RELAY_NO)
|
|
|
|
// Info
|
|
#define MANUFACTURER "JANGOE"
|
|
#define DEVICE "WIFI_RELAY_NO"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 12
|
|
#define BUTTON2_PIN 13
|
|
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON2_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON2_RELAY 2
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 2
|
|
#define RELAY2_PIN 14
|
|
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY2_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Jorge García Wifi+Relays Board Kit
|
|
// https://www.tindie.com/products/jorgegarciadev/wifi--relays-board-kit
|
|
// https://github.com/jorgegarciadev/wifikit
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(JORGEGARCIA_WIFI_RELAYS)
|
|
|
|
// Info
|
|
#define MANUFACTURER "JORGEGARCIA"
|
|
#define DEVICE "WIFI_RELAYS"
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 0
|
|
#define RELAY2_PIN 2
|
|
|
|
#define RELAY1_TYPE RELAY_TYPE_INVERSE
|
|
#define RELAY2_TYPE RELAY_TYPE_INVERSE
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// WiFi MQTT Relay / Thermostat
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(OPENENERGYMONITOR_MQTT_RELAY)
|
|
|
|
// Info
|
|
#define MANUFACTURER "OPENENERGYMONITOR"
|
|
#define DEVICE "MQTT_RELAY"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 16
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// WiOn 50055 Indoor Wi-Fi Wall Outlet & Tap
|
|
// https://rover.ebay.com/rover/1/711-53200-19255-0/1?icep_id=114&ipn=icep&toolid=20004&campid=5338044841&mpre=http%3A%2F%2Fwww.ebay.com%2Fitm%2FWiOn-50050-Indoor-Wi-Fi-Outlet-Wireless-Switch-Programmable-Timer-%2F263112281551
|
|
// https://rover.ebay.com/rover/1/711-53200-19255-0/1?icep_id=114&ipn=icep&toolid=20004&campid=5338044841&mpre=http%3A%2F%2Fwww.ebay.com%2Fitm%2FWiOn-50055-Indoor-Wi-Fi-Wall-Tap-Monitor-Energy-Usage-Wireless-Smart-Switch-%2F263020837777
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(WION_50055)
|
|
|
|
// Currently untested, does not support energy monitoring
|
|
|
|
// Info
|
|
#define MANUFACTURER "WION"
|
|
#define DEVICE "50055"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 13
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 15
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 2
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// EX-Store Wifi Relay v3.1
|
|
// https://ex-store.de/ESP8266-WiFi-Relay-V31
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(EXS_WIFI_RELAY_V31)
|
|
|
|
// Untested
|
|
|
|
// Info
|
|
#define MANUFACTURER "EXS"
|
|
#define DEVICE "WIFI_RELAY_V31"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 13
|
|
#define RELAY1_TYPE RELAY_TYPE_LATCHED
|
|
#define RELAY1_RESET_PIN 12
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// EX-Store Wifi Relay v5.0
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(EXS_WIFI_RELAY_V50)
|
|
|
|
// Info
|
|
#define MANUFACTURER "EXS"
|
|
#define DEVICE "WIFI_RELAY_V50"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 5
|
|
#define BUTTON2_PIN 4
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON2_RELAY 2
|
|
#define BUTTON1_MODE BUTTON_SWITCH | BUTTON_DEFAULT_HIGH | BUTTON_SET_PULLUP
|
|
#define BUTTON2_MODE BUTTON_SWITCH | BUTTON_DEFAULT_HIGH | BUTTON_SET_PULLUP
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 14
|
|
#define RELAY1_TYPE RELAY_TYPE_LATCHED
|
|
#define RELAY1_RESET_PIN 16
|
|
#define RELAY2_PIN 13
|
|
#define RELAY2_TYPE RELAY_TYPE_LATCHED
|
|
#define RELAY2_RESET_PIN 12
|
|
|
|
// LEDs
|
|
#define LED1_PIN 15
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// V9261F
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(GENERIC_V9261F)
|
|
|
|
// Info
|
|
#define MANUFACTURER "GENERIC"
|
|
#define DEVICE "V9261F"
|
|
#define ALEXA_SUPPORT 0
|
|
|
|
// V9261F
|
|
#define V9261F_SUPPORT 1
|
|
#define V9261F_PIN 2
|
|
#define V9261F_PIN_INVERSE 1
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// ECH1560
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(GENERIC_ECH1560)
|
|
|
|
// Info
|
|
#define MANUFACTURER "GENERIC"
|
|
#define DEVICE "ECH1560"
|
|
#define ALEXA_SUPPORT 0
|
|
|
|
// ECH1560
|
|
#define ECH1560_SUPPORT 1
|
|
#define ECH1560_CLK_PIN 4
|
|
#define ECH1560_MISO_PIN 5
|
|
#define ECH1560_INVERTED 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// ESPLive
|
|
// https://github.com/ManCaveMade/ESP-Live
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(MANCAVEMADE_ESPLIVE)
|
|
|
|
// Info
|
|
#define MANUFACTURER "MANCAVEMADE"
|
|
#define DEVICE "ESPLIVE"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 4
|
|
#define BUTTON2_PIN 5
|
|
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON2_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON2_RELAY 2
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY2_PIN 13
|
|
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY2_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// DS18B20
|
|
#ifndef DALLAS_SUPPORT
|
|
#define DALLAS_SUPPORT 1
|
|
#endif
|
|
#define DALLAS_PIN 2
|
|
#define DALLAS_UPDATE_INTERVAL 5000
|
|
#define TEMPERATURE_MIN_CHANGE 1.0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// QuinLED
|
|
// http://blog.quindorian.org/2017/02/esp8266-led-lighting-quinled-v2-6-pcb.html
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(INTERMITTECH_QUINLED)
|
|
|
|
// Info
|
|
#define MANUFACTURER "INTERMITTECH"
|
|
#define DEVICE "QUINLED"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER
|
|
#define DUMMY_RELAY_COUNT 1
|
|
|
|
// LEDs
|
|
#define LED1_PIN 5
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// Light
|
|
#define LIGHT_CHANNELS 2
|
|
#define LIGHT_CH1_PIN 0
|
|
#define LIGHT_CH2_PIN 2
|
|
#define LIGHT_CH1_INVERSE 0
|
|
#define LIGHT_CH2_INVERSE 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Arilux AL-LC06
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(ARILUX_AL_LC01)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ARILUX"
|
|
#define DEVICE "AL_LC01"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER
|
|
#define DUMMY_RELAY_COUNT 1
|
|
|
|
// Light
|
|
#define LIGHT_CHANNELS 3
|
|
#define LIGHT_CH1_PIN 5 // RED
|
|
#define LIGHT_CH2_PIN 12 // GREEN
|
|
#define LIGHT_CH3_PIN 13 // BLUE
|
|
#define LIGHT_CH1_INVERSE 0
|
|
#define LIGHT_CH2_INVERSE 0
|
|
#define LIGHT_CH3_INVERSE 0
|
|
|
|
#elif defined(ARILUX_AL_LC02)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ARILUX"
|
|
#define DEVICE "AL_LC02"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER
|
|
#define DUMMY_RELAY_COUNT 1
|
|
|
|
// Light
|
|
#define LIGHT_CHANNELS 4
|
|
#define LIGHT_CH1_PIN 12 // RED
|
|
#define LIGHT_CH2_PIN 5 // GREEN
|
|
#define LIGHT_CH3_PIN 13 // BLUE
|
|
#define LIGHT_CH4_PIN 15 // WHITE1
|
|
#define LIGHT_CH1_INVERSE 0
|
|
#define LIGHT_CH2_INVERSE 0
|
|
#define LIGHT_CH3_INVERSE 0
|
|
#define LIGHT_CH4_INVERSE 0
|
|
|
|
#elif defined(ARILUX_AL_LC06)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ARILUX"
|
|
#define DEVICE "AL_LC06"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER
|
|
#define DUMMY_RELAY_COUNT 1
|
|
|
|
// Light
|
|
#define LIGHT_CHANNELS 5
|
|
#define LIGHT_CH1_PIN 14 // RED
|
|
#define LIGHT_CH2_PIN 12 // GREEN
|
|
#define LIGHT_CH3_PIN 13 // BLUE
|
|
#define LIGHT_CH4_PIN 15 // WHITE1
|
|
#define LIGHT_CH5_PIN 5 // WHITE2
|
|
#define LIGHT_CH1_INVERSE 0
|
|
#define LIGHT_CH2_INVERSE 0
|
|
#define LIGHT_CH3_INVERSE 0
|
|
#define LIGHT_CH4_INVERSE 0
|
|
#define LIGHT_CH5_INVERSE 0
|
|
|
|
#elif defined(ARILUX_AL_LC11)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ARILUX"
|
|
#define DEVICE "AL_LC11"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER
|
|
#define DUMMY_RELAY_COUNT 1
|
|
|
|
// Light
|
|
#define LIGHT_CHANNELS 5
|
|
#define LIGHT_CH1_PIN 5 // RED
|
|
#define LIGHT_CH2_PIN 4 // GREEN
|
|
#define LIGHT_CH3_PIN 14 // BLUE
|
|
#define LIGHT_CH4_PIN 13 // WHITE1
|
|
#define LIGHT_CH5_PIN 12 // WHITE1
|
|
#define LIGHT_CH1_INVERSE 0
|
|
#define LIGHT_CH2_INVERSE 0
|
|
#define LIGHT_CH3_INVERSE 0
|
|
#define LIGHT_CH4_INVERSE 0
|
|
#define LIGHT_CH5_INVERSE 0
|
|
|
|
#elif defined(ARILUX_E27)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ARILUX"
|
|
#define DEVICE "E27"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_MY92XX
|
|
#define DUMMY_RELAY_COUNT 1
|
|
|
|
// Light
|
|
#define LIGHT_CHANNELS 4
|
|
#define MY92XX_MODEL MY92XX_MODEL_MY9291
|
|
#define MY92XX_CHIPS 1
|
|
#define MY92XX_DI_PIN 13
|
|
#define MY92XX_DCKI_PIN 15
|
|
#define MY92XX_COMMAND MY92XX_COMMAND_DEFAULT
|
|
#define MY92XX_MAPPING 0, 1, 2, 3
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// XENON SM-PW701U
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(XENON_SM_PW702U)
|
|
|
|
// Info
|
|
#define MANUFACTURER "XENON"
|
|
#define DEVICE "SM_PW702U"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 13
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 4
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// AUTHOMETION LYT8266
|
|
// https://authometion.com/shop/en/home/13-lyt8266.html
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(AUTHOMETION_LYT8266)
|
|
|
|
// Info
|
|
#define MANUFACTURER "AUTHOMETION"
|
|
#define DEVICE "LYT8266"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER
|
|
#define DUMMY_RELAY_COUNT 1
|
|
|
|
// Light
|
|
#define LIGHT_CHANNELS 4
|
|
#define LIGHT_CH1_PIN 13 // RED
|
|
#define LIGHT_CH2_PIN 12 // GREEN
|
|
#define LIGHT_CH3_PIN 14 // BLUE
|
|
#define LIGHT_CH4_PIN 2 // WHITE
|
|
#define LIGHT_CH1_INVERSE 0
|
|
#define LIGHT_CH2_INVERSE 0
|
|
#define LIGHT_CH3_INVERSE 0
|
|
#define LIGHT_CH4_INVERSE 0
|
|
|
|
#define LIGHT_ENABLE_PIN 15
|
|
|
|
#elif defined(GIZWITS_WITTY_CLOUD)
|
|
|
|
// Info
|
|
#define MANUFACTURER "GIZWITS"
|
|
#define DEVICE "WITTY_CLOUD"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER
|
|
#define DUMMY_RELAY_COUNT 1
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 4
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON1_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGLNGCLICK BUTTON_MODE_RESET
|
|
|
|
#define ANALOG_SUPPORT 1
|
|
|
|
// LEDs
|
|
#define LED1_PIN 2 // BLUE build-in
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// Light
|
|
#define LIGHT_CHANNELS 3
|
|
#define LIGHT_CH1_PIN 15 // RED
|
|
#define LIGHT_CH2_PIN 12 // GREEN
|
|
#define LIGHT_CH3_PIN 13 // BLUE
|
|
#define LIGHT_CH1_INVERSE 0
|
|
#define LIGHT_CH2_INVERSE 0
|
|
#define LIGHT_CH3_INVERSE 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// KMC 70011
|
|
// https://www.amazon.com/KMC-Monitoring-Required-Control-Compatible/dp/B07313TH7B
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(KMC_70011)
|
|
|
|
// Info
|
|
#define MANUFACTURER "KMC"
|
|
#define DEVICE "70011"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 14
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// HLW8012
|
|
#ifndef HLW8012_SUPPORT
|
|
#define HLW8012_SUPPORT 1
|
|
#endif
|
|
#define HLW8012_SEL_PIN 12
|
|
#define HLW8012_CF1_PIN 5
|
|
#define HLW8012_CF_PIN 4
|
|
|
|
#define HLW8012_VOLTAGE_R_UP ( 2 * 1000000 ) // Upstream voltage resistor
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Euromate (?) Wifi Stecker Shuko
|
|
// https://www.obi.de/hausfunksteuerung/wifi-stecker-schuko/p/2291706
|
|
// Thanks to @Geitde
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(EUROMATE_WIFI_STECKER_SCHUKO)
|
|
|
|
// Info
|
|
#define MANUFACTURER "EUROMATE"
|
|
#define DEVICE "WIFI_STECKER_SCHUKO"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 14
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_SET_PULLUP | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// The relay in the device is not a bistable (latched) relay.
|
|
// The device is reported to have a flip-flop circuit to drive the relay
|
|
// So @Geitde hack is still the only possible
|
|
|
|
// Hack: drive GPIO12 low and use GPIO5 as normal relay pin:
|
|
#define RELAY1_PIN 5
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
#define LED2_PIN 12 /* DUMMY: exploit default off state for GPIO12=low */
|
|
#define LED2_PIN_INVERSE 0
|
|
|
|
// LEDs
|
|
#define LED1_PIN 4
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Generic 8CH
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(GENERIC_8CH)
|
|
|
|
// Info
|
|
#define MANUFACTURER "GENERIC"
|
|
#define DEVICE "8CH"
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 0
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY2_PIN 2
|
|
#define RELAY2_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY3_PIN 4
|
|
#define RELAY3_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY4_PIN 5
|
|
#define RELAY4_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY5_PIN 12
|
|
#define RELAY5_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY6_PIN 13
|
|
#define RELAY6_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY7_PIN 14
|
|
#define RELAY7_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY8_PIN 15
|
|
#define RELAY8_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// STM RELAY
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(STM_RELAY)
|
|
|
|
// Info
|
|
#define MANUFACTURER "STM_RELAY"
|
|
#define DEVICE "2CH"
|
|
|
|
// Relays
|
|
#define DUMMY_RELAY_COUNT 2
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_STM
|
|
|
|
// Remove UART noise on serial line
|
|
#define DEBUG_SERIAL_SUPPORT 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Tonbux Powerstrip02
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(TONBUX_POWERSTRIP02)
|
|
|
|
// Info
|
|
#define MANUFACTURER "TONBUX"
|
|
#define DEVICE "POWERSTRIP02"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 5
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 0
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 4
|
|
#define RELAY1_TYPE RELAY_TYPE_INVERSE
|
|
#define RELAY2_PIN 13
|
|
#define RELAY2_TYPE RELAY_TYPE_INVERSE
|
|
#define RELAY3_PIN 12
|
|
#define RELAY3_TYPE RELAY_TYPE_INVERSE
|
|
#define RELAY4_PIN 14
|
|
#define RELAY4_TYPE RELAY_TYPE_INVERSE
|
|
// Not a relay. USB ports on/off
|
|
#define RELAY5_PIN 16
|
|
#define RELAY5_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 0 // 1 blue led
|
|
#define LED1_PIN_INVERSE 1
|
|
#define LED2_PIN 3 // 3 red leds
|
|
#define LED2_PIN_INVERSE 1
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Lingan SWA1
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(LINGAN_SWA1)
|
|
|
|
// Info
|
|
#define MANUFACTURER "LINGAN"
|
|
#define DEVICE "SWA1"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 13
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_SET_PULLUP | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 5
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 4
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// HEYGO HY02
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(HEYGO_HY02)
|
|
|
|
// Info
|
|
#define MANUFACTURER "HEYGO"
|
|
#define DEVICE "HY02"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 13
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 4
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Maxcio W-US002S
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(MAXCIO_WUS002S)
|
|
|
|
// Info
|
|
#define MANUFACTURER "MAXCIO"
|
|
#define DEVICE "WUS002S"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 2
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 13
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 3
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
// HLW8012
|
|
#ifndef HLW8012_SUPPORT
|
|
#define HLW8012_SUPPORT 1
|
|
#endif
|
|
#define HLW8012_SEL_PIN 12
|
|
#define HLW8012_CF1_PIN 5
|
|
#define HLW8012_CF_PIN 4
|
|
|
|
#define HLW8012_CURRENT_R 0.002 // Current resistor
|
|
#define HLW8012_VOLTAGE_R_UP ( 2 * 1000000 ) // Upstream voltage resistor
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Maxcio W-DE004
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(MAXCIO_WDE004)
|
|
|
|
// Info
|
|
#define MANUFACTURER "MAXCIO"
|
|
#define DEVICE "WDE004"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 1
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 14
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// YiDian XS-SSA05
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(YIDIAN_XSSSA05)
|
|
|
|
// Info
|
|
#define MANUFACTURER "YIDIAN"
|
|
#define DEVICE "XSSSA05"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 13
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 0 // red
|
|
#define LED1_PIN_INVERSE 1
|
|
#define LED1_MODE LED_MODE_WIFI
|
|
|
|
#define LED2_PIN 15 // blue
|
|
#define LED2_PIN_INVERSE 1
|
|
#define LED2_MODE LED_MODE_RELAY
|
|
|
|
// HLW8012
|
|
#ifndef HLW8012_SUPPORT
|
|
#define HLW8012_SUPPORT 1
|
|
#endif
|
|
#define HLW8012_SEL_PIN 3
|
|
#define HLW8012_CF1_PIN 14
|
|
#define HLW8012_CF_PIN 5
|
|
|
|
#define HLW8012_SEL_CURRENT LOW
|
|
#define HLW8012_CURRENT_RATIO 25740
|
|
#define HLW8012_VOLTAGE_RATIO 313400
|
|
#define HLW8012_POWER_RATIO 3414290
|
|
#define HLW8012_INTERRUPT_ON FALLING
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// TONBUX XS-SSA01
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(TONBUX_XSSSA01)
|
|
|
|
// Info
|
|
#define MANUFACTURER "TONBUX"
|
|
#define DEVICE "XSSSA01"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 4
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 14
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 13
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// TONBUX XS-SSA06
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(TONBUX_XSSSA06)
|
|
|
|
// Info
|
|
#define MANUFACTURER "TONBUX"
|
|
#define DEVICE "XSSSA06"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 13
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 15
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 0 // R - 8 rgb led ring
|
|
#define LED1_PIN_INVERSE 0
|
|
#define LED2_PIN 5 // G
|
|
#define LED2_PIN_INVERSE 0
|
|
#define LED3_PIN 2 // B
|
|
#define LED3_PIN_INVERSE 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// GREEN ESP8266 RELAY MODULE
|
|
// https://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20180323113846&SearchText=Green+ESP8266
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(GREEN_ESP8266RELAY)
|
|
|
|
// Info
|
|
#define MANUFACTURER "GREEN"
|
|
#define DEVICE "ESP8266RELAY"
|
|
|
|
// Buttons
|
|
// Not a button but input via Optocoupler
|
|
#define BUTTON1_PIN 5
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 4
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 2
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Henrique Gravina ESPIKE
|
|
// https://github.com/Henriquegravina/Espike
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(IKE_ESPIKE)
|
|
|
|
#define MANUFACTURER "IKE"
|
|
#define DEVICE "ESPIKE"
|
|
|
|
#define BUTTON1_LNGLNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_DBLCLICK BUTTON_MODE_NONE
|
|
|
|
#define BUTTON1_PIN 13
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
#define BUTTON2_PIN 12
|
|
#define BUTTON2_RELAY 2
|
|
#define BUTTON2_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
#define BUTTON3_PIN 14
|
|
#define BUTTON3_RELAY 3
|
|
#define BUTTON3_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
#define RELAY1_PIN 4
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
#define RELAY2_PIN 5
|
|
#define RELAY2_TYPE RELAY_TYPE_NORMAL
|
|
|
|
#define RELAY3_PIN 16
|
|
#define RELAY3_TYPE RELAY_TYPE_NORMAL
|
|
|
|
#define LED1_PIN 2
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// SWIFITCH
|
|
// https://github.com/ArnieX/swifitch
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(ARNIEX_SWIFITCH)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ARNIEX"
|
|
#define DEVICE "SWIFITCH"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 4 // D2
|
|
#define BUTTON1_MODE BUTTON_SWITCH | BUTTON_SET_PULLUP | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
#define BUTTON1_PRESS BUTTON_MODE_NONE
|
|
#define BUTTON1_CLICK BUTTON_MODE_TOGGLE
|
|
#define BUTTON1_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGLNGCLICK BUTTON_MODE_NONE
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 5 // D1
|
|
#define RELAY1_TYPE RELAY_TYPE_INVERSE
|
|
|
|
// LEDs
|
|
#define LED1_PIN 12 // D6
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// ESP-01S RELAY v4.0
|
|
// https://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20180404024035&SearchText=esp-01s+relay
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(GENERIC_ESP01S_RELAY_V40)
|
|
|
|
// Info
|
|
#define MANUFACTURER "GENERIC"
|
|
#define DEVICE "ESP01S_RELAY_40"
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 0
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 2
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// ESP-01S RGB LED v1.0 (some sold with ws2818)
|
|
// https://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20180404023816&SearchText=esp-01s+led+controller
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(GENERIC_ESP01S_RGBLED_V10)
|
|
|
|
// Info
|
|
#define MANUFACTURER "GENERIC"
|
|
#define DEVICE "ESP01S_RGBLED_10"
|
|
|
|
// This board is sold as RGB LED module BUT it has on board 3 pin ph2.0 connector (VCC, GPIO2, GND)
|
|
// so, if you wish, you may connect LED, BUTTON, RELAY, SENSOR etc.
|
|
|
|
// Buttons
|
|
//#define BUTTON1_PIN 2
|
|
|
|
// Relays
|
|
//#define RELAY1_PIN 2
|
|
|
|
// LEDs
|
|
#define LED1_PIN 2
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// ESP-01S DHT11 v1.0
|
|
// https://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20180410105907&SearchText=esp-01s+dht11
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(GENERIC_ESP01S_DHT11_V10)
|
|
|
|
// Info
|
|
#define MANUFACTURER "GENERIC"
|
|
#define DEVICE "ESP01S_DHT11_10"
|
|
|
|
// DHT11
|
|
#ifndef DHT_SUPPORT
|
|
#define DHT_SUPPORT 1
|
|
#endif
|
|
#define DHT_PIN 2
|
|
#define DHT_TYPE DHT_CHIP_DHT11
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// ESP-01S DS18B20 v1.0
|
|
// https://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20180410105933&SearchText=esp-01s+ds18b20
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(GENERIC_ESP01S_DS18B20_V10)
|
|
|
|
// Info
|
|
#define MANUFACTURER "GENERIC"
|
|
#define DEVICE "ESP01S_DS18B20_10"
|
|
|
|
// DB18B20
|
|
#ifndef DALLAS_SUPPORT
|
|
#define DALLAS_SUPPORT 1
|
|
#endif
|
|
#define DALLAS_PIN 2
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// ESP-DIN relay board V1
|
|
// https://github.com/pilotak/esp_din
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(PILOTAK_ESP_DIN_V1)
|
|
|
|
// Info
|
|
#define MANUFACTURER "PILOTAK"
|
|
#define DEVICE "ESP_DIN_V1"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 4
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
#define RELAY2_PIN 5
|
|
#define RELAY2_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 15
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
#define I2C_SDA_PIN 12
|
|
#define I2C_SCL_PIN 13
|
|
|
|
#ifndef DALLAS_SUPPORT
|
|
#define DALLAS_SUPPORT 1
|
|
#endif
|
|
#define DALLAS_PIN 2
|
|
|
|
#ifndef RF_SUPPORT
|
|
#define RF_SUPPORT 1
|
|
#endif
|
|
#define RF_PIN 14
|
|
|
|
#ifndef DIGITAL_SUPPORT
|
|
#define DIGITAL_SUPPORT 1
|
|
#endif
|
|
#define DIGITAL_PIN 16
|
|
#define DIGITAL_PIN_MODE INPUT
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Heltec Touch Relay
|
|
// https://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20180408043114&SearchText=esp8266+touch+relay
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(HELTEC_TOUCHRELAY)
|
|
|
|
// Info
|
|
#define MANUFACTURER "HELTEC"
|
|
#define DEVICE "TOUCH_RELAY"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 14
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Zhilde ZLD-EU44-W
|
|
// http://www.zhilde.com/product/60705150109-805652505/EU_WiFi_Surge_Protector_Extension_Socket_4_Outlets_works_with_Amazon_Echo_Smart_Power_Strip.html
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(ZHILDE_EU44_W)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ZHILDE"
|
|
#define DEVICE "EU44_W"
|
|
|
|
// Based on the reporter, this product uses GPIO1 and 3 for the button
|
|
// and onboard LED, so hardware serial should be disabled...
|
|
#define DEBUG_SERIAL_SUPPORT 0
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 3
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 5
|
|
#define RELAY2_PIN 4
|
|
#define RELAY3_PIN 12
|
|
#define RELAY4_PIN 13
|
|
#define RELAY5_PIN 14
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY2_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY3_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY4_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY5_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 1
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Allnet 4duino ESP8266-UP-Relais
|
|
// http://www.allnet.de/de/allnet-brand/produkte/neuheiten/p/allnet-4duino-iot-wlan-relais-unterputz-esp8266-up-relais/
|
|
// https://shop.allnet.de/fileadmin/transfer/products/148814.pdf
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(ALLNET_4DUINO_IOT_WLAN_RELAIS)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ALLNET"
|
|
#define DEVICE "4DUINO_IOT_WLAN_RELAIS"
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 14
|
|
#define RELAY1_RESET_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_LATCHED
|
|
|
|
// LEDs
|
|
#define LED1_PIN 0
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// Buttons
|
|
//#define BUTTON1_PIN 0
|
|
//#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
|
|
// Using pins labelled as SDA & SCL as buttons
|
|
#define BUTTON2_PIN 4
|
|
#define BUTTON2_MODE BUTTON_PUSHBUTTON
|
|
#define BUTTON2_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON2_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON2_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON2_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON2_LNGLNGCLICK BUTTON_MODE_NONE
|
|
|
|
#define BUTTON3_PIN 5
|
|
#define BUTTON3_MODE BUTTON_PUSHBUTTON
|
|
|
|
// Using pins labelled as SDA & SCL for I2C
|
|
//#define I2C_SDA_PIN 4
|
|
//#define I2C_SCL_PIN 5
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Luani HVIO
|
|
// https://luani.de/projekte/esp8266-hvio/
|
|
// https://luani.de/blog/esp8266-230v-io-modul/
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(LUANI_HVIO)
|
|
|
|
// Info
|
|
#define MANUFACTURER "LUANI"
|
|
#define DEVICE "HVIO"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 12
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON1_MODE BUTTON_SWITCH | BUTTON_DEFAULT_HIGH //Hardware Pullup
|
|
|
|
#define BUTTON1_PRESS BUTTON_MODE_NONE
|
|
#define BUTTON1_CLICK BUTTON_MODE_TOGGLE
|
|
#define BUTTON1_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGLNGCLICK BUTTON_MODE_NONE
|
|
|
|
#define BUTTON2_PIN 13
|
|
#define BUTTON2_RELAY 2
|
|
#define BUTTON2_MODE BUTTON_SWITCH | BUTTON_DEFAULT_HIGH //Hardware Pullup
|
|
|
|
#define BUTTON2_CLICK BUTTON_MODE_TOGGLE
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 4
|
|
#define RELAY2_PIN 5
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY2_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 15
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Tonbux 50-100M Smart Mosquito Killer USB
|
|
// https://www.aliexpress.com/item/Original-Tonbux-50-100M-Smart-Mosquito-Killer-USB-Plug-No-Noise-Repellent-App-Smart-Module/32859330820.html
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(TONBUX_MOSQUITO_KILLER)
|
|
|
|
// Info
|
|
#define MANUFACTURER "TONBUX"
|
|
#define DEVICE "MOSQUITO_KILLER"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 2
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 5 // not a relay, fan
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 15 // blue led
|
|
#define LED1_PIN_INVERSE 1
|
|
#define LED1_MODE LED_MODE_WIFI
|
|
#define LED2_PIN 14 // red led
|
|
#define LED2_PIN_INVERSE 1
|
|
#define LED2_MODE LED_MODE_RELAY
|
|
|
|
#define LED3_PIN 12 // UV leds (1-2-3-4-5-6-7-8)
|
|
#define LED3_PIN_INVERSE 0
|
|
#define LED3_RELAY 1
|
|
#define LED4_PIN 16 // UV leds (9-10-11)
|
|
#define LED4_PIN_INVERSE 0
|
|
#define LED4_RELAY 1
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// NEO Coolcam NAS-WR01W Wifi Smart Power Plug
|
|
// https://es.aliexpress.com/item/-/32854589733.html?spm=a219c.12010608.0.0.6d084e68xX0y5N
|
|
// https://www.fasttech.com/product/9649426-neo-coolcam-nas-wr01w-wifi-smart-power-plug-eu
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(NEO_COOLCAM_NAS_WR01W)
|
|
|
|
// Info
|
|
#define MANUFACTURER "NEO_COOLCAM"
|
|
#define DEVICE "NAS_WR01W"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 13
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 4
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
|
|
// ------------------------------------------------------------------------------
|
|
// Estink Wifi Power Strip
|
|
// https://www.amazon.de/Steckdosenleiste-Ladeger%C3%A4t-Sprachsteuerung-SmartphonesTablets-Android/dp/B0796W5FZY
|
|
// Fornorm Wi-Fi USB Extension Socket (ZLD-34EU)
|
|
// https://www.aliexpress.com/item/Fornorm-WiFi-Extension-Socket-with-Surge-Protector-Smart-Power-Strip-3-Outlets-and-4-USB-Charging/32849743948.html
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(ESTINK_WIFI_POWER_STRIP)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ESTINK"
|
|
#define DEVICE "WIFI_POWER_STRIP"
|
|
|
|
// Disable UART noise since this board uses GPIO3
|
|
#define DEBUG_SERIAL_SUPPORT 0
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 16
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 4
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 14 // USB power
|
|
#define RELAY2_PIN 13 // power plug 1
|
|
#define RELAY3_PIN 4 // power plug 2
|
|
#define RELAY4_PIN 15 // power plug 3
|
|
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY2_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY3_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY4_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 0 // power led
|
|
#define LED2_PIN 12 // power plug 1
|
|
#define LED3_PIN 3 // power plug 2
|
|
#define LED4_PIN 5 // power plug 3
|
|
|
|
#define LED1_PIN_INVERSE 1
|
|
#define LED2_PIN_INVERSE 1
|
|
#define LED3_PIN_INVERSE 1
|
|
#define LED4_PIN_INVERSE 1
|
|
|
|
#define LED1_MODE LED_MODE_FINDME
|
|
#define LED2_MODE LED_MODE_FOLLOW
|
|
#define LED3_MODE LED_MODE_FOLLOW
|
|
#define LED4_MODE LED_MODE_FOLLOW
|
|
|
|
#define LED2_RELAY 2
|
|
#define LED3_RELAY 3
|
|
#define LED4_RELAY 4
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Bruno Horta's OnOfre
|
|
// https://www.bhonofre.pt/
|
|
// https://github.com/brunohorta82/BH_OnOfre/
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(BH_ONOFRE)
|
|
|
|
// Info
|
|
#define MANUFACTURER "BH"
|
|
#define DEVICE "ONOFRE"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 12
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH | BUTTON_SET_PULLUP
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON2_PIN 13
|
|
#define BUTTON2_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH | BUTTON_SET_PULLUP
|
|
#define BUTTON2_RELAY 2
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 4
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY2_PIN 5
|
|
#define RELAY2_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Several boards under different names uing a power chip labelled BL0937 or HJL-01
|
|
// * Blitzwolf (https://www.amazon.es/Inteligente-Temporización-Dispositivos-Cualquier-BlitzWolf/dp/B07BMQP142)
|
|
// * HomeCube (https://www.amazon.de/Steckdose-Homecube-intelligente-Verbrauchsanzeige-funktioniert/dp/B076Q2LKHG)
|
|
// * Coosa (https://www.amazon.com/COOSA-Monitoring-Function-Campatible-Assiatant/dp/B0788W9TDR)
|
|
// * Goosund (http://www.gosund.com/?m=content&c=index&a=show&catid=6&id=5)
|
|
// * Ablue (https://www.amazon.de/Intelligente-Steckdose-Ablue-Funktioniert-Assistant/dp/B076DRFRZC)
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(BLITZWOLF_BWSHP2)
|
|
|
|
// Info
|
|
#define MANUFACTURER "BLITZWOLF"
|
|
#define DEVICE "BWSHP2"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 13
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 15
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 2
|
|
#define LED1_PIN_INVERSE 1
|
|
#define LED2_PIN 0
|
|
#define LED2_PIN_INVERSE 1
|
|
#define LED2_MODE LED_MODE_FINDME
|
|
#define LED2_RELAY 1
|
|
|
|
// HJL01 / BL0937
|
|
#ifndef HLW8012_SUPPORT
|
|
#define HLW8012_SUPPORT 1
|
|
#endif
|
|
#define HLW8012_SEL_PIN 12
|
|
#define HLW8012_CF1_PIN 14
|
|
#define HLW8012_CF_PIN 5
|
|
|
|
#define HLW8012_SEL_CURRENT LOW
|
|
#define HLW8012_CURRENT_RATIO 25740
|
|
#define HLW8012_VOLTAGE_RATIO 313400
|
|
#define HLW8012_POWER_RATIO 3414290
|
|
#define HLW8012_INTERRUPT_ON FALLING
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Same as the above but new board version marked V2.3
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(BLITZWOLF_BWSHP2_V23)
|
|
|
|
// Info
|
|
#define MANUFACTURER "BLITZWOLF"
|
|
#define DEVICE "BWSHP2V2.3"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 3
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 14
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 1
|
|
#define LED1_PIN_INVERSE 1
|
|
#define LED2_PIN 13
|
|
#define LED2_PIN_INVERSE 1
|
|
#define LED2_MODE LED_MODE_FINDME
|
|
#define LED2_RELAY 1
|
|
|
|
// HJL01 / BL0937
|
|
#ifndef HLW8012_SUPPORT
|
|
#define HLW8012_SUPPORT 1
|
|
#endif
|
|
#define HLW8012_SEL_PIN 12
|
|
#define HLW8012_CF1_PIN 5
|
|
#define HLW8012_CF_PIN 4
|
|
|
|
#define HLW8012_SEL_CURRENT LOW
|
|
#define HLW8012_CURRENT_RATIO 25740
|
|
#define HLW8012_VOLTAGE_RATIO 313400
|
|
#define HLW8012_POWER_RATIO 3414290
|
|
#define HLW8012_INTERRUPT_ON FALLING
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Teckin SP22 v1.4 - v1.6
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(TECKIN_SP22_V14)
|
|
|
|
// Info
|
|
#define MANUFACTURER "TECKIN"
|
|
#define DEVICE "SP22_V14"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 1
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 14
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 3
|
|
#define LED1_PIN_INVERSE 1
|
|
#define LED2_PIN 13
|
|
#define LED2_PIN_INVERSE 1
|
|
#define LED2_MODE LED_MODE_FINDME
|
|
#define LED2_RELAY 1
|
|
|
|
// HJL01 / BL0937
|
|
#ifndef HLW8012_SUPPORT
|
|
#define HLW8012_SUPPORT 1
|
|
#endif
|
|
#define HLW8012_SEL_PIN 12
|
|
#define HLW8012_CF1_PIN 5
|
|
#define HLW8012_CF_PIN 4
|
|
|
|
#define HLW8012_SEL_CURRENT LOW
|
|
#define HLW8012_CURRENT_RATIO 20730
|
|
#define HLW8012_VOLTAGE_RATIO 264935
|
|
#define HLW8012_POWER_RATIO 2533110
|
|
#define HLW8012_INTERRUPT_ON FALLING
|
|
|
|
//#define HLW8012_WAIT_FOR_WIFI 1
|
|
//#define ALEXA_SUPPORT 0
|
|
//#define DOMOTICZ_SUPPORT 0
|
|
//#define HOMEASSISTANT_SUPPORT 0
|
|
//#define THINGSPEAK_SUPPORT 0
|
|
|
|
// ----------------------------------------------------------------------------------------
|
|
// Homecube 16A is similar but some pins differ and it also has RGB LEDs
|
|
// https://www.amazon.de/gp/product/B07D7RVF56/ref=oh_aui_detailpage_o00_s01?ie=UTF8&psc=1
|
|
// ----------------------------------------------------------------------------------------
|
|
#elif defined(HOMECUBE_16A)
|
|
|
|
// Info
|
|
#define MANUFACTURER "HOMECUBE"
|
|
#define DEVICE "16A"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 13
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 15
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
//LED Pin 4 - ESP8266 onboard LED
|
|
//Red LED: 0
|
|
//Green LED: 12
|
|
//Blue LED: 2
|
|
|
|
// Blue
|
|
#define LED1_PIN 2
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
// Green
|
|
#define LED2_PIN 12
|
|
#define LED2_PIN_INVERSE 1
|
|
#define LED2_MODE LED_MODE_RELAY
|
|
|
|
// Red
|
|
#define LED3_PIN 0
|
|
#define LED3_PIN_INVERSE 0
|
|
#define LED3_MODE LED_MODE_OFF
|
|
|
|
// HJL01 / BL0937
|
|
#ifndef HLW8012_SUPPORT
|
|
#define HLW8012_SUPPORT 1
|
|
#endif
|
|
#define HLW8012_SEL_PIN 16
|
|
#define HLW8012_CF1_PIN 14
|
|
#define HLW8012_CF_PIN 5
|
|
|
|
#define HLW8012_SEL_CURRENT LOW
|
|
#define HLW8012_CURRENT_RATIO 25740
|
|
#define HLW8012_VOLTAGE_RATIO 313400
|
|
#define HLW8012_POWER_RATIO 3414290
|
|
#define HLW8012_INTERRUPT_ON FALLING
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// VANZAVANZU Smart Outlet Socket (based on BL0937 or HJL-01)
|
|
// https://www.amazon.com/Smart-Plug-Wifi-Mini-VANZAVANZU/dp/B078PHD6S5
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(VANZAVANZU_SMART_WIFI_PLUG_MINI)
|
|
|
|
// Info
|
|
#define MANUFACTURER "VANZAVANZU"
|
|
#define DEVICE "SMART_WIFI_PLUG_MINI"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 13
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 15
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LEDs
|
|
#define LED1_PIN 2
|
|
#define LED1_PIN_INVERSE 1
|
|
#define LED2_PIN 0
|
|
#define LED2_PIN_INVERSE 1
|
|
#define LED2_MODE LED_MODE_FINDME
|
|
#define LED2_RELAY 1
|
|
|
|
// Disable UART noise
|
|
#define DEBUG_SERIAL_SUPPORT 0
|
|
|
|
// HJL01 / BL0937
|
|
#ifndef HLW8012_SUPPORT
|
|
#define HLW8012_SUPPORT 1
|
|
#endif
|
|
#define HLW8012_SEL_PIN 3
|
|
#define HLW8012_CF1_PIN 14
|
|
#define HLW8012_CF_PIN 5
|
|
|
|
#define HLW8012_SEL_CURRENT LOW
|
|
#define HLW8012_CURRENT_RATIO 25740
|
|
#define HLW8012_VOLTAGE_RATIO 313400
|
|
#define HLW8012_POWER_RATIO 3414290
|
|
#define HLW8012_INTERRUPT_ON FALLING
|
|
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(GENERIC_AG_L4)
|
|
|
|
// Info
|
|
#define MANUFACTURER "GENERIC"
|
|
#define DEVICE "AG_L4"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER
|
|
#define DUMMY_RELAY_COUNT 1
|
|
|
|
// button 1: "power" button
|
|
#define BUTTON1_PIN 4
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_SET_PULLUP | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON1_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGLNGCLICK BUTTON_MODE_RESET
|
|
|
|
// button 2: "wifi" button
|
|
#define BUTTON2_PIN 2
|
|
#define BUTTON2_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON2_PRESS BUTTON_MODE_TOGGLE
|
|
#define BUTTON2_CLICK BUTTON_MODE_NONE
|
|
#define BUTTON2_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON2_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON2_LNGLNGCLICK BUTTON_MODE_NONE
|
|
|
|
// LEDs
|
|
#define LED1_PIN 5 // red status led
|
|
#define LED1_PIN_INVERSE 0
|
|
|
|
#define LED2_PIN 16 // master light power
|
|
#define LED2_PIN_INVERSE 1
|
|
#define LED2_MODE LED_MODE_RELAY
|
|
|
|
// Light
|
|
#define LIGHT_CHANNELS 3
|
|
#define LIGHT_CH1_PIN 14 // RED
|
|
#define LIGHT_CH2_PIN 13 // GREEN
|
|
#define LIGHT_CH3_PIN 12 // BLUE
|
|
#define LIGHT_CH1_INVERSE 0
|
|
#define LIGHT_CH2_INVERSE 0
|
|
#define LIGHT_CH3_INVERSE 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(ALLTERCO_SHELLY1)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ALLTERCO"
|
|
#define DEVICE "SHELLY1"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 5
|
|
#define BUTTON1_MODE BUTTON_SWITCH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 4
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
#elif defined(ALLTERCO_SHELLY2)
|
|
|
|
// Info
|
|
#define MANUFACTURER "ALLTERCO"
|
|
#define DEVICE "SHELLY2"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 12
|
|
#define BUTTON2_PIN 14
|
|
#define BUTTON1_MODE BUTTON_SWITCH
|
|
#define BUTTON2_MODE BUTTON_SWITCH
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON2_RELAY 2
|
|
|
|
// Relays
|
|
#define RELAY1_PIN 4
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY2_PIN 5
|
|
#define RELAY2_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(LOHAS_9W)
|
|
|
|
// Info
|
|
#define MANUFACTURER "LOHAS"
|
|
#define DEVICE "E27_9W"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_MY92XX
|
|
#define DUMMY_RELAY_COUNT 1
|
|
|
|
// Light
|
|
#define LIGHT_CHANNELS 5
|
|
#define MY92XX_MODEL MY92XX_MODEL_MY9231
|
|
#define MY92XX_CHIPS 2
|
|
#define MY92XX_DI_PIN 13
|
|
#define MY92XX_DCKI_PIN 15
|
|
#define MY92XX_COMMAND MY92XX_COMMAND_DEFAULT
|
|
#define MY92XX_MAPPING 0, 1, 2, 3, 4
|
|
#define LIGHT_WHITE_FACTOR (0.1) // White LEDs are way more bright in the B1
|
|
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(XIAOMI_SMART_DESK_LAMP)
|
|
|
|
// Info
|
|
#define MANUFACTURER "XIAOMI"
|
|
#define DEVICE "SMART_DESK_LAMP"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 2
|
|
#define BUTTON2_PIN 14
|
|
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH | BUTTON_SET_PULLUP
|
|
#define BUTTON2_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH | BUTTON_SET_PULLUP
|
|
|
|
// This button doubles as switch here and as encoder mode switch below
|
|
// Clicking it (for less than 500ms) will turn the light on and off
|
|
// Double and Long clicks will not work as these are used to modify the encoder action
|
|
#define BUTTON1_RELAY 1
|
|
#define BUTTON_LNGCLICK_DELAY 500
|
|
#define BUTTON1_DBLCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGCLICK BUTTON_MODE_NONE
|
|
#define BUTTON1_LNGLNGCLICK BUTTON_MODE_NONE
|
|
|
|
// Hidden button will enter AP mode if dblclick and reset the device when long-long-clicked
|
|
#define BUTTON2_DBLCLICK BUTTON_MODE_AP
|
|
#define BUTTON2_LNGLNGCLICK BUTTON_MODE_RESET
|
|
|
|
// Light
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER
|
|
#define DUMMY_RELAY_COUNT 1
|
|
#define LIGHT_STEP 8
|
|
#define LIGHT_CHANNELS 2
|
|
#define LIGHT_CH1_PIN 5 // warm white
|
|
#define LIGHT_CH1_INVERSE 0
|
|
#define LIGHT_CH2_PIN 4 // cold white
|
|
#define LIGHT_CH2_INVERSE 0
|
|
|
|
// Encoder
|
|
// If mode is ENCODER_MODE_RATIO, the value ratio between both channels is changed
|
|
// when the button is not pressed, and the overall brightness when pressed
|
|
// If mode is ENCODER_MODE_CHANNEL, the first channel value is changed
|
|
// when the button is not pressed, and the second channel when pressed
|
|
// If no ENCODERX_BUTTON_PIN defined it will only change the value of the first defined channel
|
|
#define ENCODER_SUPPORT 1
|
|
#define ENCODER1_PIN1 12
|
|
#define ENCODER1_PIN2 13
|
|
#define ENCODER1_BUTTON_PIN 2 // active low by default, with software pullup
|
|
#define ENCODER1_CHANNEL1 0 // please note this value is 0-based (LIGHT_CH1 above)
|
|
#define ENCODER1_CHANNEL2 1 // please note this value is 0-based (LIGHT_CH2 above)
|
|
#define ENCODER1_MODE ENCODER_MODE_RATIO
|
|
|
|
#elif defined(PHYX_ESP12_RGB)
|
|
|
|
// Info
|
|
#define MANUFACTURER "PHYX"
|
|
#define DEVICE "ESP12_RGB"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER
|
|
#define DUMMY_RELAY_COUNT 1
|
|
|
|
// Light
|
|
#define LIGHT_CHANNELS 3
|
|
#define LIGHT_CH1_PIN 4 // RED
|
|
#define LIGHT_CH2_PIN 14 // GREEN
|
|
#define LIGHT_CH3_PIN 12 // BLUE
|
|
#define LIGHT_CH1_INVERSE 0
|
|
#define LIGHT_CH2_INVERSE 0
|
|
#define LIGHT_CH3_INVERSE 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// iWoole LED Table Lamp
|
|
// http://iwoole.com/newst-led-smart-night-light-7w-smart-table-light-rgbw-wifi-app-remote-control-110v-220v-us-eu-plug-smart-lamp-google-home-decore-p00022p1.html
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(IWOOLE_LED_TABLE_LAMP)
|
|
|
|
// Info
|
|
#define MANUFACTURER "IWOOLE"
|
|
#define DEVICE "LED_TABLE_LAMP"
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER
|
|
#define DUMMY_RELAY_COUNT 1
|
|
|
|
// Light
|
|
#define LIGHT_CHANNELS 4
|
|
#define LIGHT_CH1_PIN 12 // RED
|
|
#define LIGHT_CH2_PIN 5 // GREEN
|
|
#define LIGHT_CH3_PIN 14 // BLUE
|
|
#define LIGHT_CH4_PIN 4 // WHITE
|
|
#define LIGHT_CH1_INVERSE 0
|
|
#define LIGHT_CH2_INVERSE 0
|
|
#define LIGHT_CH3_INVERSE 0
|
|
#define LIGHT_CH4_INVERSE 0
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Bestek Smart Plug with 2 USB ports
|
|
// https://www.bestekcorp.com/bestek-smart-plug-works-with-amazon-alexa-google-assistant-and-ifttt-with-2-usb
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(BESTEK_MRJ1011)
|
|
|
|
// Info
|
|
#define MANUFACTURER "BESTEK"
|
|
#define DEVICE "MRJ1011"
|
|
|
|
// Buttons
|
|
#define BUTTON1_PIN 13
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_SET_PULLUP | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Relay
|
|
#define RELAY1_PIN 12
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// LED
|
|
#define LED1_PIN 4
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// TEST boards (do not use!!)
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#elif defined(TRAVIS01)
|
|
|
|
// Info
|
|
#define MANUFACTURER "TravisCI"
|
|
#define DEVICE "Virtual board 01"
|
|
|
|
// Some buttons - pin 0
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// Some relays - pin 1
|
|
#define RELAY1_PIN 1
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// Some LEDs - pin 2
|
|
#define LED1_PIN 2
|
|
#define LED1_PIN_INVERSE 1
|
|
|
|
// A bit of I2C - pins 3,4
|
|
#define I2C_SDA_PIN 3
|
|
#define I2C_SCL_PIN 4
|
|
|
|
// And, as they say in "From Dusk till Dawn":
|
|
// This is a sensor blow out!
|
|
// Alright, we got white sensor, black sensor, spanish sensor, yellow sensor. We got hot sensor, cold sensor.
|
|
// We got wet sensor. We got smelly sensor. We got hairy sensor, bloody sensor. We got snapping sensor.
|
|
// We got silk sensor, velvet sensor, naugahyde sensor. We even got horse sensor, dog sensor, chicken sensor.
|
|
// C'mon, you want sensor, come on in sensor lovers!
|
|
// If we don’t got it, you don't want it!
|
|
#define AM2320_SUPPORT 1
|
|
#define BH1750_SUPPORT 1
|
|
#define BMX280_SUPPORT 1
|
|
#define SHT3X_I2C_SUPPORT 1
|
|
#define EMON_ADC121_SUPPORT 1
|
|
#define EMON_ADS1X15_SUPPORT 1
|
|
#define SHT3X_I2C_SUPPORT 1
|
|
#define SI7021_SUPPORT 1
|
|
#define PMSX003_SUPPORT 1
|
|
#define SENSEAIR_SUPPORT1
|
|
#define VL53L1X_SUPPORT 1
|
|
|
|
|
|
// A bit of lights - pin 5
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER
|
|
#define DUMMY_RELAY_COUNT 1
|
|
#define LIGHT_CHANNELS 1
|
|
#define LIGHT_CH1_PIN 5
|
|
#define LIGHT_CH1_INVERSE 0
|
|
|
|
// A bit of HLW8012 - pins 6,7,8
|
|
#ifndef HLW8012_SUPPORT
|
|
#define HLW8012_SUPPORT 1
|
|
#endif
|
|
#define HLW8012_SEL_PIN 6
|
|
#define HLW8012_CF1_PIN 7
|
|
#define HLW8012_CF_PIN 8
|
|
|
|
// A bit of Dallas - pin 9
|
|
#ifndef DALLAS_SUPPORT
|
|
#define DALLAS_SUPPORT 1
|
|
#endif
|
|
#define DALLAS_PIN 9
|
|
|
|
// A bit of ECH1560 - pins 10,11, 12
|
|
#ifndef ECH1560_SUPPORT
|
|
#define ECH1560_SUPPORT 1
|
|
#endif
|
|
#define ECH1560_CLK_PIN 10
|
|
#define ECH1560_MISO_PIN 11
|
|
#define ECH1560_INVERTED 12
|
|
|
|
// MICS-2710 & MICS-5525 test
|
|
#define MICS2710_SUPPORT 1
|
|
#define MICS5525_SUPPORT 1
|
|
|
|
#elif defined(TRAVIS02)
|
|
|
|
// Relay provider dual
|
|
#define MANUFACTURER "TravisCI"
|
|
#define DEVICE "Virtual board 02"
|
|
|
|
// Some buttons - pin 0
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// A bit of CSE7766 - pin 1
|
|
#ifndef CSE7766_SUPPORT
|
|
#define CSE7766_SUPPORT 1
|
|
#endif
|
|
#define CSE7766_PIN 1
|
|
|
|
// Relay type dual - pins 2,3
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_DUAL
|
|
#define RELAY1_PIN 2
|
|
#define RELAY2_PIN 3
|
|
#define RELAY1_TYPE RELAY_TYPE_NORMAL
|
|
#define RELAY2_TYPE RELAY_TYPE_NORMAL
|
|
|
|
// IR - pin 4
|
|
#define IR_SUPPORT 1
|
|
#define IR_RX_PIN 4
|
|
#define IR_BUTTON_SET 1
|
|
|
|
// A bit of DHT - pin 5
|
|
#ifndef DHT_SUPPORT
|
|
#define DHT_SUPPORT 1
|
|
#endif
|
|
#define DHT_PIN 5
|
|
|
|
// A bit of TMP3X (analog)
|
|
#define TMP3X_SUPPORT 1
|
|
|
|
// A bit of EVENTS - pin 10
|
|
#define EVENTS_SUPPORT 1
|
|
#define EVENTS_PIN 6
|
|
|
|
// Sonar
|
|
#define SONAR_SUPPORT 1
|
|
#define SONAR_TRIGGER 7
|
|
#define SONAR_ECHO 8
|
|
|
|
// MHZ19
|
|
#define MHZ19_SUPPORT 1
|
|
#define MHZ19_RX_PIN 9
|
|
#define MHZ19_TX_PIN 10
|
|
|
|
// PZEM004T
|
|
#define PZEM004T_SUPPORT 1
|
|
#define PZEM004T_RX_PIN 11
|
|
#define PZEM004T_TX_PIN 12
|
|
|
|
// V9261F
|
|
#define V9261F_SUPPORT 1
|
|
#define V9261F_PIN 13
|
|
|
|
// GUVAS12SD
|
|
#define GUVAS12SD_SUPPORT 1
|
|
#define GUVAS12SD_PIN 14
|
|
|
|
// Test non-default modules
|
|
#define MDNS_CLIENT_SUPPORT 1
|
|
#define NOFUSS_SUPPORT 1
|
|
#define UART_MQTT_SUPPORT 1
|
|
#define INFLUXDB_SUPPORT 1
|
|
#define IR_SUPPORT 1
|
|
|
|
#elif defined(TRAVIS03)
|
|
|
|
// Relay provider light/my92XX
|
|
#define MANUFACTURER "TravisCI"
|
|
#define DEVICE "Virtual board 03"
|
|
|
|
// Some buttons - pin 0
|
|
#define BUTTON1_PIN 0
|
|
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
|
|
#define BUTTON1_RELAY 1
|
|
|
|
// MY9231 Light - pins 1,2
|
|
#define RELAY_PROVIDER RELAY_PROVIDER_LIGHT
|
|
#define LIGHT_PROVIDER LIGHT_PROVIDER_MY92XX
|
|
#define DUMMY_RELAY_COUNT 1
|
|
#define LIGHT_CHANNELS 5
|
|
#define MY92XX_MODEL MY92XX_MODEL_MY9231
|
|
#define MY92XX_CHIPS 2
|
|
#define MY92XX_DI_PIN 1
|
|
#define MY92XX_DCKI_PIN 2
|
|
#define MY92XX_COMMAND MY92XX_COMMAND_DEFAULT
|
|
#define MY92XX_MAPPING 4, 3, 5, 0, 1
|
|
|
|
// A bit of Analog EMON (analog)
|
|
#ifndef EMON_ANALOG_SUPPORT
|
|
#define EMON_ANALOG_SUPPORT 1
|
|
#endif
|
|
|
|
// Test non-default modules
|
|
#define LLMNR_SUPPORT 1
|
|
#define NETBIOS_SUPPORT 1
|
|
#define SSDP_SUPPORT 1
|
|
|
|
#endif
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Check definitions
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#if not defined(MANUFACTURER) || not defined(DEVICE)
|
|
#error "UNSUPPORTED HARDWARE!!"
|
|
#endif
|