Fork of the espurna firmware for `mhsw` switches
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

145 lines
4.5 KiB

8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
  1. //------------------------------------------------------------------------------
  2. // SET BY PLATFORMIO
  3. //------------------------------------------------------------------------------
  4. //#define DEBUG_PORT Serial
  5. //#define ESPURNA
  6. //#define SONOFF
  7. //#define SLAMPHER
  8. //#define S20
  9. //#define NODEMCUV2
  10. //#define ENABLE_NOFUSS 1
  11. //#define ENABLE_EMON 1
  12. //#define ENABLE_DHT 1
  13. //#define ENABLE_RF 1
  14. //#define ENABLE_POW 1
  15. // -----------------------------------------------------------------------------
  16. // HARDWARE
  17. // -----------------------------------------------------------------------------
  18. #define SERIAL_BAUDRATE 115200
  19. #define BUTTON_PIN 0
  20. #define RELAY_PIN 12
  21. #ifdef ESPURNA
  22. #define MANUFACTURER "TINKERMAN"
  23. #define DEVICE "ESPURNA"
  24. #define LED_PIN 13
  25. #endif
  26. #ifdef SONOFF
  27. #define MANUFACTURER "ITEAD"
  28. #define DEVICE "SONOFF"
  29. #define LED_PIN 13
  30. #endif
  31. #ifdef SONOFF_POW
  32. #define ENABLE_POW 1
  33. #define MANUFACTURER "ITEAD"
  34. #define DEVICE "SONOFF_POW"
  35. #define LED_PIN 13
  36. #endif
  37. #ifdef SLAMPHER
  38. #define MANUFACTURER "ITEAD"
  39. #define DEVICE "SLAMPHER"
  40. #define LED_PIN 13
  41. #endif
  42. #ifdef S20
  43. #define MANUFACTURER "ITEAD"
  44. #define DEVICE "S20"
  45. #define LED_PIN 13
  46. #endif
  47. #ifdef NODEMCUV2
  48. #define MANUFACTURER "NODEMCU"
  49. #define DEVICE "LOLIN"
  50. #define LED_PIN 2
  51. #endif
  52. #define HOSTNAME DEVICE
  53. #define BUFFER_SIZE 1024
  54. #define HEARTBEAT_INTERVAL 300000
  55. #define FS_VERSION_FILE "/fsversion"
  56. // -----------------------------------------------------------------------------
  57. // WIFI
  58. // -----------------------------------------------------------------------------
  59. #define WIFI_RECONNECT_INTERVAL 300000
  60. #define WIFI_MAX_NETWORKS 3
  61. #define AP_PASS "fibonacci"
  62. #define OTA_PASS "fibonacci"
  63. #define OTA_PORT 8266
  64. #define NOFUSS_SERVER "http://192.168.1.100"
  65. #define NOFUSS_INTERVAL 3600000
  66. // -----------------------------------------------------------------------------
  67. // MQTT
  68. // -----------------------------------------------------------------------------
  69. #define MQTT_SERVER "192.168.1.100"
  70. #define MQTT_PORT 1883
  71. #define MQTT_TOPIC "/test/switch/{identifier}"
  72. #define MQTT_RETAIN true
  73. #define MQTT_RECONNECT_DELAY 10000
  74. #define MQTT_STATUS_TOPIC ""
  75. #define MQTT_IP_TOPIC "/ip"
  76. #define MQTT_VERSION_TOPIC "/version"
  77. #define MQTT_FSVERSION_TOPIC "/fsversion"
  78. #define MQTT_HEARTBEAT_TOPIC "/heartbeat"
  79. // -----------------------------------------------------------------------------
  80. // NTP
  81. // -----------------------------------------------------------------------------
  82. #define NTP_SERVER "pool.ntp.org"
  83. #define NTP_TIME_OFFSET 1
  84. #define NTP_DAY_LIGHT true
  85. #define NTP_UPDATE_INTERVAL 1800
  86. //--------------------------------------------------------------------------------
  87. // DRIVERS
  88. //--------------------------------------------------------------------------------
  89. // 0 means OFF, 1 ON and 2 whatever was before
  90. #define RELAY_MODE 1
  91. #define RF_PIN 14
  92. #define RF_CHANNEL 31
  93. #define RF_DEVICE 1
  94. #define DHT_PIN 14
  95. #define DHT_UPDATE_INTERVAL 300000
  96. #define DHT_TYPE DHT22
  97. #define DHT_TIMING 11
  98. #define DHT_TEMPERATURE_TOPIC "/temperature"
  99. #define DHT_HUMIDITY_TOPIC "/humidity"
  100. #define EMON_CURRENT_PIN 0
  101. #define EMON_SAMPLES 1000
  102. #define EMON_INTERVAL 10000
  103. #define EMON_MEASUREMENTS 6
  104. #define EMON_ADC_BITS 10
  105. #define EMON_REFERENCE_VOLTAGE 1.0
  106. #define EMON_CURRENT_PRECISION 1
  107. #define EMON_CURRENT_OFFSET 0.25
  108. #define EMON_MAINS_VOLTAGE 230
  109. #define EMON_CURRENT_RATIO 180
  110. #define EMON_POWER_TOPIC "/power"
  111. #define POW_SEL_PIN 5
  112. #define POW_CF1_PIN 13
  113. #define POW_CF_PIN 14
  114. #define POW_SEL_CURRENT HIGH
  115. #define POW_CURRENT_R 0.001
  116. #define POW_VOLTAGE_R_UP ( 5 * 470000 ) // Real: 2280k
  117. #define POW_VOLTAGE_R_DOWN ( 1000 ) // Real 1.009k
  118. #define POW_POWER_TOPIC "/power"
  119. #define POW_UPDATE_INTERVAL 10000
  120. #define POW_REPORT_EVERY 6