Merge branch 'development' into development

This commit is contained in:
Theo Arends 2018-10-21 16:55:41 +02:00 committed by GitHub
commit eb01ce786a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 287 additions and 23 deletions

View File

@ -32,9 +32,9 @@ FUNC_RULES_PROCESS | x | 6.0.0 | x | | | Process spe
FUNC_SERIAL | x | | x | | x | Process serial data FUNC_SERIAL | x | | x | | x | Process serial data
FUNC_FREE_MEM | | | x | | | Show free memory for debugging FUNC_FREE_MEM | | | x | | | Show free memory for debugging
FUNC_BUTTON_PRESSED | x | 6.2.1.18 | x | | | When a button is pressed FUNC_BUTTON_PRESSED | x | 6.2.1.18 | x | | | When a button is pressed
FUNC_WEB_ADD_BUTTON | | 6.2.1.14 | x | | | Add a Configuration Button to GUI FUNC_WEB_ADD_BUTTON | | 6.2.1.14 | x | x | | Add a Configuration Button to GUI
FUNC_WEB_ADD_MAIN_BUTTON | | 6.2.1.14 | x | | | Add a main button to GUI FUNC_WEB_ADD_MAIN_BUTTON | | 6.2.1.14 | x | x | | Add a main button to GUI
FUNC_WEB_ADD_HANDLER | | 6.2.1.14 | x | | | Add a webserver handler FUNC_WEB_ADD_HANDLER | | 6.2.1.14 | x | x | | Add a webserver handler
## Display Call back Ids ## Display Call back Ids
The following table lists all Callback Ids for a Display service. The following table lists all Callback Ids for a Display service.

View File

@ -79,9 +79,11 @@ See [Tasmota ESP/Arduino library version related issues](https://github.com/aren
| USE_LM75AD | - | - | x | x | x | | USE_LM75AD | - | - | x | x | x |
| USE_APDS9960 | - | - | - | - | - | | USE_APDS9960 | - | - | - | - | - |
| USE_MCP230xx | - | - | - | - | - | | USE_MCP230xx | - | - | - | - | - |
| USE_PCA9685 | - | - | - | - | - |
| USE_MPR121 | - | - | - | - | - | | USE_MPR121 | - | - | - | - | - |
| USE_CCS811 | - | - | - | - | - | | USE_CCS811 | - | - | - | - | - |
| USE_MPU6050 | - | - | - | - | - | | USE_MPU6050 | - | - | - | - | - |
| USE_DS3231 | - | - | - | - | - |
| | | | | | | | | | | | | |
| Feature or Sensor | minimal | classic | sonoff | knx | sensors | | Feature or Sensor | minimal | classic | sonoff | knx | sensors |
| USE_SPI | - | - | - | - | - | | USE_SPI | - | - | - | - | - |
@ -90,9 +92,13 @@ See [Tasmota ESP/Arduino library version related issues](https://github.com/aren
| USE_PMS5003 | - | - | x | x | x | | USE_PMS5003 | - | - | x | x | x |
| USE_NOVA_SDS | - | - | x | x | x | | USE_NOVA_SDS | - | - | x | x | x |
| USE_PZEM004T | - | - | x | x | x | | USE_PZEM004T | - | - | x | x | x |
| USE_PZEM_AC | - | - | x | x | x |
| USE_PZEM_DC | - | - | x | x | x |
| USE_MCP39F501 | - | - | x | x | x |
| USE_SERIAL_BRIDGE | - | - | x | x | x | | USE_SERIAL_BRIDGE | - | - | x | x | x |
| USE_SDM120 | - | - | - | - | x | | USE_SDM120 | - | - | - | - | x |
| USE_SDM630 | - | - | - | - | x | | USE_SDM630 | - | - | - | - | x |
| USE_MP3_PLAYER | - | - | - | - | - |
| USE_IR_REMOTE | - | - | x | x | x | | USE_IR_REMOTE | - | - | x | x | x |
| USE_IR_HVAC | - | - | - | - | x | | USE_IR_HVAC | - | - | - | - | x |
| USE_IR_RECEIVE | - | - | x | x | x | | USE_IR_RECEIVE | - | - | x | x | x |
@ -101,7 +107,11 @@ See [Tasmota ESP/Arduino library version related issues](https://github.com/aren
| USE_ARILUX_RF | - | - | x | x | x | | USE_ARILUX_RF | - | - | x | x | x |
| USE_SR04 | - | - | x | x | x | | USE_SR04 | - | - | x | x | x |
| USE_TM1638 | - | - | - | - | - | | USE_TM1638 | - | - | - | - | - |
| USE_HX711 | - | - | x | x | x |
| USE_RF_FLASH | - | - | x | x | x | | USE_RF_FLASH | - | - | x | x | x |
| USE_TUYA_DIMMER | - | - | x | x | x |
| USE_TX20_WIND_SENSOR | - | - | x | x | x |
| USE_DISPLAY | - | - | - | - | - |
## Changelog ## Changelog
Version 6.2.1 20180905 Version 6.2.1 20180905

View File

@ -1,6 +1,7 @@
/* 6.2.1.18 20181019 /* 6.2.1.18 20181019
* Add more API callbacks and document API.md * Add more API callbacks and document API.md
* Add support for La Crosse TX20 Anemometer (#2654, #3146) * Add support for La Crosse TX20 Anemometer (#2654, #3146)
* Add optional HX711 scale interface to web GUI demonstrating easy GUI plug-in
* *
* 6.2.1.17 20181017 * 6.2.1.17 20181017
* Enable updated non-blocking PubSubClient as default MQTT client * Enable updated non-blocking PubSubClient as default MQTT client

View File

@ -461,6 +461,13 @@
#define D_HX_CAL_REFERENCE "Load reference weigth" #define D_HX_CAL_REFERENCE "Load reference weigth"
#define D_HX_CAL_DONE "Calibrated" #define D_HX_CAL_DONE "Calibrated"
#define D_HX_CAL_FAIL "Calibration failed" #define D_HX_CAL_FAIL "Calibration failed"
#define D_RESET_HX711 "Reset Scale"
#define D_CONFIGURE_HX711 "Configure Scale"
#define D_HX711_PARAMETERS "Scale parameters"
#define D_ITEM_WEIGHT "Item weight"
#define D_REFERENCE_WEIGHT "Reference weigth"
#define D_CALIBRATE "Calibrate"
#define D_CALIBRATION "Calibration"
//xsns_35_tx20.ino //xsns_35_tx20.ino
#define D_TX20_WIND_DIRECTION "Wind Direction" #define D_TX20_WIND_DIRECTION "Wind Direction"

View File

@ -461,6 +461,13 @@
#define D_HX_CAL_REFERENCE "Referenzgewicht auflegen" #define D_HX_CAL_REFERENCE "Referenzgewicht auflegen"
#define D_HX_CAL_DONE "kalibriert" #define D_HX_CAL_DONE "kalibriert"
#define D_HX_CAL_FAIL "Kalibrierung fehlgeschlagen" #define D_HX_CAL_FAIL "Kalibrierung fehlgeschlagen"
#define D_RESET_HX711 "Reset Scale"
#define D_CONFIGURE_HX711 "Configure Scale"
#define D_HX711_PARAMETERS "Scale parameters"
#define D_ITEM_WEIGHT "Item weight"
#define D_REFERENCE_WEIGHT "Reference weigth"
#define D_CALIBRATE "Calibrate"
#define D_CALIBRATION "Calibration"
//xsns_35_tx20.ino //xsns_35_tx20.ino
#define D_TX20_WIND_DIRECTION "Wind Direction" #define D_TX20_WIND_DIRECTION "Wind Direction"

View File

@ -461,6 +461,13 @@
#define D_HX_CAL_REFERENCE "Load reference weigth" #define D_HX_CAL_REFERENCE "Load reference weigth"
#define D_HX_CAL_DONE "Calibrated" #define D_HX_CAL_DONE "Calibrated"
#define D_HX_CAL_FAIL "Calibration failed" #define D_HX_CAL_FAIL "Calibration failed"
#define D_RESET_HX711 "Reset Scale"
#define D_CONFIGURE_HX711 "Configure Scale"
#define D_HX711_PARAMETERS "Scale parameters"
#define D_ITEM_WEIGHT "Item weight"
#define D_REFERENCE_WEIGHT "Reference weigth"
#define D_CALIBRATE "Calibrate"
#define D_CALIBRATION "Calibration"
//xsns_35_tx20.ino //xsns_35_tx20.ino
#define D_TX20_WIND_DIRECTION "Wind Direction" #define D_TX20_WIND_DIRECTION "Wind Direction"

View File

@ -461,6 +461,13 @@
#define D_HX_CAL_REFERENCE "Load reference weigth" #define D_HX_CAL_REFERENCE "Load reference weigth"
#define D_HX_CAL_DONE "Calibrated" #define D_HX_CAL_DONE "Calibrated"
#define D_HX_CAL_FAIL "Calibration failed" #define D_HX_CAL_FAIL "Calibration failed"
#define D_RESET_HX711 "Reset Scale"
#define D_CONFIGURE_HX711 "Configure Scale"
#define D_HX711_PARAMETERS "Scale parameters"
#define D_ITEM_WEIGHT "Item weight"
#define D_REFERENCE_WEIGHT "Reference weigth"
#define D_CALIBRATE "Calibrate"
#define D_CALIBRATION "Calibration"
//xsns_35_tx20.ino //xsns_35_tx20.ino
#define D_TX20_WIND_DIRECTION "Wind Direction" #define D_TX20_WIND_DIRECTION "Wind Direction"

View File

@ -461,6 +461,13 @@
#define D_HX_CAL_REFERENCE "Poner Peso de Referencia" #define D_HX_CAL_REFERENCE "Poner Peso de Referencia"
#define D_HX_CAL_DONE "Calibrado" #define D_HX_CAL_DONE "Calibrado"
#define D_HX_CAL_FAIL "Falló Calibración" #define D_HX_CAL_FAIL "Falló Calibración"
#define D_RESET_HX711 "Reset Scale"
#define D_CONFIGURE_HX711 "Configure Scale"
#define D_HX711_PARAMETERS "Scale parameters"
#define D_ITEM_WEIGHT "Item weight"
#define D_REFERENCE_WEIGHT "Reference weigth"
#define D_CALIBRATE "Calibrate"
#define D_CALIBRATION "Calibration"
//xsns_35_tx20.ino //xsns_35_tx20.ino
#define D_TX20_WIND_DIRECTION "Wind Direction" #define D_TX20_WIND_DIRECTION "Wind Direction"

View File

@ -461,6 +461,13 @@
#define D_HX_CAL_REFERENCE "Load reference weigth" #define D_HX_CAL_REFERENCE "Load reference weigth"
#define D_HX_CAL_DONE "Calibrated" #define D_HX_CAL_DONE "Calibrated"
#define D_HX_CAL_FAIL "Calibration failed" #define D_HX_CAL_FAIL "Calibration failed"
#define D_RESET_HX711 "Reset Scale"
#define D_CONFIGURE_HX711 "Configure Scale"
#define D_HX711_PARAMETERS "Scale parameters"
#define D_ITEM_WEIGHT "Item weight"
#define D_REFERENCE_WEIGHT "Reference weigth"
#define D_CALIBRATE "Calibrate"
#define D_CALIBRATION "Calibration"
//xsns_35_tx20.ino //xsns_35_tx20.ino
#define D_TX20_WIND_DIRECTION "Wind Direction" #define D_TX20_WIND_DIRECTION "Wind Direction"

View File

@ -461,6 +461,13 @@
#define D_HX_CAL_REFERENCE "Load reference weigth" #define D_HX_CAL_REFERENCE "Load reference weigth"
#define D_HX_CAL_DONE "Calibrated" #define D_HX_CAL_DONE "Calibrated"
#define D_HX_CAL_FAIL "Calibration failed" #define D_HX_CAL_FAIL "Calibration failed"
#define D_RESET_HX711 "Reset Scale"
#define D_CONFIGURE_HX711 "Configure Scale"
#define D_HX711_PARAMETERS "Scale parameters"
#define D_ITEM_WEIGHT "Item weight"
#define D_REFERENCE_WEIGHT "Reference weigth"
#define D_CALIBRATE "Calibrate"
#define D_CALIBRATION "Calibration"
//xsns_35_tx20.ino //xsns_35_tx20.ino
#define D_TX20_WIND_DIRECTION "Wind Direction" #define D_TX20_WIND_DIRECTION "Wind Direction"

View File

@ -461,6 +461,13 @@
#define D_HX_CAL_REFERENCE "Load reference weigth" #define D_HX_CAL_REFERENCE "Load reference weigth"
#define D_HX_CAL_DONE "Calibrated" #define D_HX_CAL_DONE "Calibrated"
#define D_HX_CAL_FAIL "Calibration failed" #define D_HX_CAL_FAIL "Calibration failed"
#define D_RESET_HX711 "Reset Scale"
#define D_CONFIGURE_HX711 "Configure Scale"
#define D_HX711_PARAMETERS "Scale parameters"
#define D_ITEM_WEIGHT "Item weight"
#define D_REFERENCE_WEIGHT "Reference weigth"
#define D_CALIBRATE "Calibrate"
#define D_CALIBRATION "Calibration"
//xsns_35_tx20.ino //xsns_35_tx20.ino
#define D_TX20_WIND_DIRECTION "Wind Direction" #define D_TX20_WIND_DIRECTION "Wind Direction"

View File

@ -461,6 +461,13 @@
#define D_HX_CAL_REFERENCE "Load reference weigth" #define D_HX_CAL_REFERENCE "Load reference weigth"
#define D_HX_CAL_DONE "Calibrated" #define D_HX_CAL_DONE "Calibrated"
#define D_HX_CAL_FAIL "Calibration failed" #define D_HX_CAL_FAIL "Calibration failed"
#define D_RESET_HX711 "Reset Scale"
#define D_CONFIGURE_HX711 "Configure Scale"
#define D_HX711_PARAMETERS "Scale parameters"
#define D_ITEM_WEIGHT "Item weight"
#define D_REFERENCE_WEIGHT "Reference weigth"
#define D_CALIBRATE "Calibrate"
#define D_CALIBRATION "Calibration"
//xsns_35_tx20.ino //xsns_35_tx20.ino
#define D_TX20_WIND_DIRECTION "Wind Direction" #define D_TX20_WIND_DIRECTION "Wind Direction"

View File

@ -461,6 +461,13 @@
#define D_HX_CAL_REFERENCE "Plaats ijkgewicht" #define D_HX_CAL_REFERENCE "Plaats ijkgewicht"
#define D_HX_CAL_DONE "Ge-ijkt" #define D_HX_CAL_DONE "Ge-ijkt"
#define D_HX_CAL_FAIL "Ijken is mislukt" #define D_HX_CAL_FAIL "Ijken is mislukt"
#define D_RESET_HX711 "Nulstelling weegschaal"
#define D_CONFIGURE_HX711 "Configureer Weegschaal"
#define D_HX711_PARAMETERS "Weegschaal parameters"
#define D_ITEM_WEIGHT "Gewicht van onderdeel"
#define D_REFERENCE_WEIGHT "Ijkgewicht"
#define D_CALIBRATE "Ijken"
#define D_CALIBRATION "Ijken"
//xsns_35_tx20.ino //xsns_35_tx20.ino
#define D_TX20_WIND_DIRECTION "Windrichting" #define D_TX20_WIND_DIRECTION "Windrichting"

View File

@ -461,6 +461,13 @@
#define D_HX_CAL_REFERENCE "Load reference weigth" #define D_HX_CAL_REFERENCE "Load reference weigth"
#define D_HX_CAL_DONE "Calibrated" #define D_HX_CAL_DONE "Calibrated"
#define D_HX_CAL_FAIL "Calibration failed" #define D_HX_CAL_FAIL "Calibration failed"
#define D_RESET_HX711 "Reset Scale"
#define D_CONFIGURE_HX711 "Configure Scale"
#define D_HX711_PARAMETERS "Scale parameters"
#define D_ITEM_WEIGHT "Item weight"
#define D_REFERENCE_WEIGHT "Reference weigth"
#define D_CALIBRATE "Calibrate"
#define D_CALIBRATION "Calibration"
//xsns_35_tx20.ino //xsns_35_tx20.ino
#define D_TX20_WIND_DIRECTION "Wind Direction" #define D_TX20_WIND_DIRECTION "Wind Direction"

View File

@ -461,6 +461,13 @@
#define D_HX_CAL_REFERENCE "Load reference weigth" #define D_HX_CAL_REFERENCE "Load reference weigth"
#define D_HX_CAL_DONE "Calibrated" #define D_HX_CAL_DONE "Calibrated"
#define D_HX_CAL_FAIL "Calibration failed" #define D_HX_CAL_FAIL "Calibration failed"
#define D_RESET_HX711 "Reset Scale"
#define D_CONFIGURE_HX711 "Configure Scale"
#define D_HX711_PARAMETERS "Scale parameters"
#define D_ITEM_WEIGHT "Item weight"
#define D_REFERENCE_WEIGHT "Reference weigth"
#define D_CALIBRATE "Calibrate"
#define D_CALIBRATION "Calibration"
//xsns_35_tx20.ino //xsns_35_tx20.ino
#define D_TX20_WIND_DIRECTION "Wind Direction" #define D_TX20_WIND_DIRECTION "Wind Direction"

View File

@ -461,6 +461,13 @@
#define D_HX_CAL_REFERENCE "Load reference weigth" #define D_HX_CAL_REFERENCE "Load reference weigth"
#define D_HX_CAL_DONE "Calibrated" #define D_HX_CAL_DONE "Calibrated"
#define D_HX_CAL_FAIL "Calibration failed" #define D_HX_CAL_FAIL "Calibration failed"
#define D_RESET_HX711 "Reset Scale"
#define D_CONFIGURE_HX711 "Configure Scale"
#define D_HX711_PARAMETERS "Scale parameters"
#define D_ITEM_WEIGHT "Item weight"
#define D_REFERENCE_WEIGHT "Reference weigth"
#define D_CALIBRATE "Calibrate"
#define D_CALIBRATION "Calibration"
//xsns_35_tx20.ino //xsns_35_tx20.ino
#define D_TX20_WIND_DIRECTION "Wind Direction" #define D_TX20_WIND_DIRECTION "Wind Direction"

View File

@ -461,6 +461,13 @@
#define D_HX_CAL_REFERENCE "Load reference weigth" #define D_HX_CAL_REFERENCE "Load reference weigth"
#define D_HX_CAL_DONE "Calibrated" #define D_HX_CAL_DONE "Calibrated"
#define D_HX_CAL_FAIL "Calibration failed" #define D_HX_CAL_FAIL "Calibration failed"
#define D_RESET_HX711 "Reset Scale"
#define D_CONFIGURE_HX711 "Configure Scale"
#define D_HX711_PARAMETERS "Scale parameters"
#define D_ITEM_WEIGHT "Item weight"
#define D_REFERENCE_WEIGHT "Reference weigth"
#define D_CALIBRATE "Calibrate"
#define D_CALIBRATION "Calibration"
//xsns_35_tx20.ino //xsns_35_tx20.ino
#define D_TX20_WIND_DIRECTION "Wind Direction" #define D_TX20_WIND_DIRECTION "Wind Direction"

View File

@ -461,6 +461,13 @@
#define D_HX_CAL_REFERENCE "Load reference weigth" #define D_HX_CAL_REFERENCE "Load reference weigth"
#define D_HX_CAL_DONE "Calibrated" #define D_HX_CAL_DONE "Calibrated"
#define D_HX_CAL_FAIL "Calibration failed" #define D_HX_CAL_FAIL "Calibration failed"
#define D_RESET_HX711 "Reset Scale"
#define D_CONFIGURE_HX711 "Configure Scale"
#define D_HX711_PARAMETERS "Scale parameters"
#define D_ITEM_WEIGHT "Item weight"
#define D_REFERENCE_WEIGHT "Reference weigth"
#define D_CALIBRATE "Calibrate"
#define D_CALIBRATION "Calibration"
//xsns_35_tx20.ino //xsns_35_tx20.ino
#define D_TX20_WIND_DIRECTION "Wind Direction" #define D_TX20_WIND_DIRECTION "Wind Direction"

View File

@ -461,6 +461,13 @@
#define D_HX_CAL_REFERENCE "Load reference weigth" #define D_HX_CAL_REFERENCE "Load reference weigth"
#define D_HX_CAL_DONE "Calibrated" #define D_HX_CAL_DONE "Calibrated"
#define D_HX_CAL_FAIL "Calibration failed" #define D_HX_CAL_FAIL "Calibration failed"
#define D_RESET_HX711 "Reset Scale"
#define D_CONFIGURE_HX711 "Configure Scale"
#define D_HX711_PARAMETERS "Scale parameters"
#define D_ITEM_WEIGHT "Item weight"
#define D_REFERENCE_WEIGHT "Reference weigth"
#define D_CALIBRATE "Calibrate"
#define D_CALIBRATION "Calibration"
//xsns_35_tx20.ino //xsns_35_tx20.ino
#define D_TX20_WIND_DIRECTION "Wind Direction" #define D_TX20_WIND_DIRECTION "Wind Direction"

View File

@ -461,6 +461,13 @@
#define D_HX_CAL_REFERENCE "Load reference weigth" #define D_HX_CAL_REFERENCE "Load reference weigth"
#define D_HX_CAL_DONE "Calibrated" #define D_HX_CAL_DONE "Calibrated"
#define D_HX_CAL_FAIL "Calibration failed" #define D_HX_CAL_FAIL "Calibration failed"
#define D_RESET_HX711 "Reset Scale"
#define D_CONFIGURE_HX711 "Configure Scale"
#define D_HX711_PARAMETERS "Scale parameters"
#define D_ITEM_WEIGHT "Item weight"
#define D_REFERENCE_WEIGHT "Reference weigth"
#define D_CALIBRATE "Calibrate"
#define D_CALIBRATION "Calibration"
//xsns_35_tx20.ino //xsns_35_tx20.ino
#define D_TX20_WIND_DIRECTION "Wind Direction" #define D_TX20_WIND_DIRECTION "Wind Direction"

View File

@ -461,6 +461,13 @@
#define D_HX_CAL_REFERENCE "Load reference weigth" #define D_HX_CAL_REFERENCE "Load reference weigth"
#define D_HX_CAL_DONE "Calibrated" #define D_HX_CAL_DONE "Calibrated"
#define D_HX_CAL_FAIL "Calibration failed" #define D_HX_CAL_FAIL "Calibration failed"
#define D_RESET_HX711 "Reset Scale"
#define D_CONFIGURE_HX711 "Configure Scale"
#define D_HX711_PARAMETERS "Scale parameters"
#define D_ITEM_WEIGHT "Item weight"
#define D_REFERENCE_WEIGHT "Reference weigth"
#define D_CALIBRATE "Calibrate"
#define D_CALIBRATION "Calibration"
//xsns_35_tx20.ino //xsns_35_tx20.ino
#define D_TX20_WIND_DIRECTION "Wind Direction" #define D_TX20_WIND_DIRECTION "Wind Direction"

View File

@ -148,6 +148,8 @@ void KNX_CB_Action(message_t const &msg, void *arg);
#undef USE_TM1638 // Disable support for TM1638 switches copying Switch1 .. Switch8 #undef USE_TM1638 // Disable support for TM1638 switches copying Switch1 .. Switch8
#undef USE_HX711 // Disable support for HX711 load cell #undef USE_HX711 // Disable support for HX711 load cell
#undef USE_RF_FLASH // Disable support for flashing the EFM8BB1 chip on the Sonoff RF Bridge. C2CK must be connected to GPIO4, C2D to GPIO5 on the PCB #undef USE_RF_FLASH // Disable support for flashing the EFM8BB1 chip on the Sonoff RF Bridge. C2CK must be connected to GPIO4, C2D to GPIO5 on the PCB
#undef USE_TUYA_DIMMER // Disable support for Tuya Serial Dimmer
#undef USE_TX20_WIND_SENSOR // Disable support for La Crosse TX20 anemometer
#undef DEBUG_THEO // Disable debug code #undef DEBUG_THEO // Disable debug code
#undef USE_DEBUG_DRIVER // Disable debug code #undef USE_DEBUG_DRIVER // Disable debug code
#endif // USE_CLASSIC #endif // USE_CLASSIC
@ -243,6 +245,8 @@ void KNX_CB_Action(message_t const &msg, void *arg);
#undef USE_TM1638 // Disable support for TM1638 switches copying Switch1 .. Switch8 #undef USE_TM1638 // Disable support for TM1638 switches copying Switch1 .. Switch8
#undef USE_HX711 // Disable support for HX711 load cell #undef USE_HX711 // Disable support for HX711 load cell
#undef USE_RF_FLASH // Disable support for flashing the EFM8BB1 chip on the Sonoff RF Bridge. C2CK must be connected to GPIO4, C2D to GPIO5 on the PCB #undef USE_RF_FLASH // Disable support for flashing the EFM8BB1 chip on the Sonoff RF Bridge. C2CK must be connected to GPIO4, C2D to GPIO5 on the PCB
#undef USE_TUYA_DIMMER // Disable support for Tuya Serial Dimmer
#undef USE_TX20_WIND_SENSOR // Disable support for La Crosse TX20 anemometer
#undef DEBUG_THEO // Disable debug code #undef DEBUG_THEO // Disable debug code
#undef USE_DEBUG_DRIVER // Disable debug code #undef USE_DEBUG_DRIVER // Disable debug code
#endif // BE_MINIMAL #endif // BE_MINIMAL

View File

@ -375,6 +375,7 @@
//#define USE_TM1638 // Add support for TM1638 switches copying Switch1 .. Switch8 (+1k code) //#define USE_TM1638 // Add support for TM1638 switches copying Switch1 .. Switch8 (+1k code)
#define USE_HX711 // Add support for HX711 load cell (+1k5 code) #define USE_HX711 // Add support for HX711 load cell (+1k5 code)
// #define USE_HX711_GUI // Add optional web GUI to HX711 as scale (+1k8 code)
#define USE_RF_FLASH // Add support for flashing the EFM8BB1 chip on the Sonoff RF Bridge. C2CK must be connected to GPIO4, C2D to GPIO5 on the PCB (+3k code) #define USE_RF_FLASH // Add support for flashing the EFM8BB1 chip on the Sonoff RF Bridge. C2CK must be connected to GPIO4, C2D to GPIO5 on the PCB (+3k code)

View File

@ -77,7 +77,7 @@ const char HTTP_HEAD[] PROGMEM =
"lt=setTimeout(la,{a});" // Settings.web_refresh "lt=setTimeout(la,{a});" // Settings.web_refresh
"}" "}"
"function lb(p){" "function lb(p){"
"la('?d='+p);" "la('?d='+p);" // ?d related to WebGetArg("d", tmp, sizeof(tmp));
"}" "}"
"function lc(p){" "function lc(p){"
"la('?t='+p);" // ?t related to WebGetArg("t", tmp, sizeof(tmp)); "la('?t='+p);" // ?t related to WebGetArg("t", tmp, sizeof(tmp));
@ -293,7 +293,7 @@ const char HTTP_END[] PROGMEM =
"</body>" "</body>"
"</html>"; "</html>";
const char HTTP_DEVICE_CONTROL[] PROGMEM = "<td style='width:%d%%'><button onclick='la(\"?o=%d\");'>%s%s</button></td>"; const char HTTP_DEVICE_CONTROL[] PROGMEM = "<td style='width:%d%%'><button onclick='la(\"?o=%d\");'>%s%s</button></td>"; // ?o is related to WebGetArg("o", tmp, sizeof(tmp));
const char HTTP_DEVICE_STATE[] PROGMEM = "%s<td style='width:%d{c}%s;font-size:%dpx'>%s</div></td>"; // {c} = %'><div style='text-align:center;font-weight: const char HTTP_DEVICE_STATE[] PROGMEM = "%s<td style='width:%d{c}%s;font-size:%dpx'>%s</div></td>"; // {c} = %'><div style='text-align:center;font-weight:
const char HDR_CTYPE_PLAIN[] PROGMEM = "text/plain"; const char HDR_CTYPE_PLAIN[] PROGMEM = "text/plain";
@ -371,6 +371,7 @@ void StartWebserver(int type, IPAddress ipweb)
HueWemoAddHandlers(); HueWemoAddHandlers();
#endif // USE_EMULATION #endif // USE_EMULATION
XdrvCall(FUNC_WEB_ADD_HANDLER); XdrvCall(FUNC_WEB_ADD_HANDLER);
XsnsCall(FUNC_WEB_ADD_HANDLER);
#endif // Not BE_MINIMAL #endif // Not BE_MINIMAL
} }
reset_web_log_flag = 0; reset_web_log_flag = 0;
@ -596,7 +597,7 @@ void HandleRoot()
if (idx > 0) { page += F("</tr><tr>"); } if (idx > 0) { page += F("</tr><tr>"); }
for (byte j = 0; j < 4; j++) { for (byte j = 0; j < 4; j++) {
idx++; idx++;
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("<td style='width:25%'><button onclick='la(\"?k=%d\");'>%d</button></td>"), idx, idx); snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("<td style='width:25%'><button onclick='la(\"?k=%d\");'>%d</button></td>"), idx, idx); // ?k is related to WebGetArg("k", tmp, sizeof(tmp));
page += mqtt_data; page += mqtt_data;
} }
} }
@ -606,6 +607,7 @@ void HandleRoot()
#ifndef BE_MINIMAL #ifndef BE_MINIMAL
mqtt_data[0] = '\0'; mqtt_data[0] = '\0';
XdrvCall(FUNC_WEB_ADD_MAIN_BUTTON); XdrvCall(FUNC_WEB_ADD_MAIN_BUTTON);
XsnsCall(FUNC_WEB_ADD_MAIN_BUTTON);
page += String(mqtt_data); page += String(mqtt_data);
#endif // Not BE_MINIMAL #endif // Not BE_MINIMAL
@ -711,6 +713,7 @@ void HandleConfiguration()
mqtt_data[0] = '\0'; mqtt_data[0] = '\0';
XdrvCall(FUNC_WEB_ADD_BUTTON); XdrvCall(FUNC_WEB_ADD_BUTTON);
XsnsCall(FUNC_WEB_ADD_BUTTON);
page += String(mqtt_data); page += String(mqtt_data);
page += FPSTR(HTTP_BTN_MENU4); page += FPSTR(HTTP_BTN_MENU4);

View File

@ -52,6 +52,11 @@
#define HX_GAIN_32 2 // Channel B, gain factor 32 #define HX_GAIN_32 2 // Channel B, gain factor 32
#define HX_GAIN_64 3 // Channel A, gain factor 64 #define HX_GAIN_64 3 // Channel A, gain factor 64
#define D_JSON_WEIGHT_REF "WeightRef"
#define D_JSON_WEIGHT_CAL "WeightCal"
#define D_JSON_WEIGHT_MAX "WeightMax"
#define D_JSON_WEIGHT_ITEM "WeightItem"
enum HxCalibrationSteps { HX_CAL_END, HX_CAL_LIMBO, HX_CAL_FINISH, HX_CAL_FAIL, HX_CAL_DONE, HX_CAL_FIRST, HX_CAL_RESET, HX_CAL_START }; enum HxCalibrationSteps { HX_CAL_END, HX_CAL_LIMBO, HX_CAL_FINISH, HX_CAL_FAIL, HX_CAL_DONE, HX_CAL_FIRST, HX_CAL_RESET, HX_CAL_START };
const char kHxCalibrationStates[] PROGMEM = D_HX_CAL_FAIL "|" D_HX_CAL_DONE "|" D_HX_CAL_REFERENCE "|" D_HX_CAL_REMOVE; const char kHxCalibrationStates[] PROGMEM = D_HX_CAL_FAIL "|" D_HX_CAL_DONE "|" D_HX_CAL_REFERENCE "|" D_HX_CAL_REMOVE;
@ -169,7 +174,7 @@ bool HxCommand()
hx_calibrate_timer = 1; hx_calibrate_timer = 1;
HxCalibrationStateTextJson(3); HxCalibrationStateTextJson(3);
break; break;
case 3: // WeightSet to user reference case 3: // WeightRef to user reference
if (strstr(XdrvMailbox.data, ",")) { if (strstr(XdrvMailbox.data, ",")) {
Settings.weight_reference = strtol(subStr(sub_string, XdrvMailbox.data, ",", 2), NULL, 10); Settings.weight_reference = strtol(subStr(sub_string, XdrvMailbox.data, ",", 2), NULL, 10);
} }
@ -201,7 +206,7 @@ bool HxCommand()
if (show_parms) { if (show_parms) {
char item[10]; char item[10];
dtostrfd((float)Settings.weight_item / 10, 1, item); dtostrfd((float)Settings.weight_item / 10, 1, item);
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"Sensor34\":{\"WeightSet\":%d,\"WeightCal\":%d,\"WeightMax\":%d,\"WeightItem\":%s}}"), snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"Sensor34\":{\"" D_JSON_WEIGHT_REF "\":%d,\"" D_JSON_WEIGHT_CAL "\":%d,\"" D_JSON_WEIGHT_MAX "\":%d,\"" D_JSON_WEIGHT_ITEM "\":%s}}"),
Settings.weight_reference, Settings.weight_calibration, Settings.weight_max * 1000, item); Settings.weight_reference, Settings.weight_calibration, Settings.weight_max * 1000, item);
} }
@ -353,6 +358,109 @@ void HxShow(boolean json)
} }
} }
#ifdef USE_WEBSERVER
#ifdef USE_HX711_GUI
/*********************************************************************************************\
* Optional GUI
\*********************************************************************************************/
#define WEB_HANDLE_HX711 "s34"
const char S_CONFIGURE_HX711[] PROGMEM = D_CONFIGURE_HX711;
const char HTTP_BTN_MENU_MAIN_HX711[] PROGMEM =
"<br/><form action='" WEB_HANDLE_HX711 "' method='get'><button name='reset'>" D_RESET_HX711 "</button></form>";
const char HTTP_BTN_MENU_HX711[] PROGMEM =
"<br/><form action='" WEB_HANDLE_HX711 "' method='get'><button>" D_CONFIGURE_HX711 "</button></form>";
const char HTTP_FORM_HX711[] PROGMEM =
"<fieldset><legend><b>&nbsp;" D_CALIBRATION "&nbsp;</b></legend>"
"<form method='post' action='" WEB_HANDLE_HX711 "'>"
"<br/><b>" D_REFERENCE_WEIGHT "</b> (" D_UNIT_KILOGRAM ")<br/><input type='number' step='0.001' id='p1' name='p1' placeholder='0' value='{1'><br/>"
"<br/><button name='calibrate' type='submit'>" D_CALIBRATE "</button><br/>"
"</form>"
"</fieldset><br/><br/>"
"<fieldset><legend><b>&nbsp;" D_HX711_PARAMETERS "&nbsp;</b></legend>"
"<form method='post' action='" WEB_HANDLE_HX711 "'>"
"<br/><b>" D_ITEM_WEIGHT "</b> (" D_UNIT_KILOGRAM ")<br/><input type='number' max='6.5535' step='0.0001' id='p2' name='p2' placeholder='0.0' value='{2'><br/>";
void HandleHxAction()
{
if (HttpUser()) { return; }
if (!WebAuthenticate()) { return WebServer->requestAuthentication(); }
AddLog_P(LOG_LEVEL_DEBUG, S_LOG_HTTP, S_CONFIGURE_HX711);
if (WebServer->hasArg("save")) {
HxSaveSettings();
HandleConfiguration();
return;
}
char tmp[100];
if (WebServer->hasArg("reset")) {
snprintf_P(tmp, sizeof(tmp), PSTR("Sensor34 1")); // Reset
ExecuteWebCommand(tmp, SRC_WEBGUI);
HandleRoot(); // Return to main screen
return;
}
if (WebServer->hasArg("calibrate")) {
WebGetArg("p1", tmp, sizeof(tmp));
Settings.weight_reference = (!strlen(tmp)) ? 0 : (unsigned long)(CharToDouble(tmp) * 1000);
HxLogUpdates();
snprintf_P(tmp, sizeof(tmp), PSTR("Sensor34 2")); // Start calibration
ExecuteWebCommand(tmp, SRC_WEBGUI);
HandleRoot(); // Return to main screen
return;
}
String page = FPSTR(HTTP_HEAD);
page.replace(F("{v}"), FPSTR(D_CONFIGURE_HX711));
page += FPSTR(HTTP_HEAD_STYLE);
page += FPSTR(HTTP_FORM_HX711);
dtostrfd((float)Settings.weight_reference / 1000, 3, tmp);
page.replace("{1", String(tmp));
dtostrfd((float)Settings.weight_item / 10000, 4, tmp);
page.replace("{2", String(tmp));
page += FPSTR(HTTP_FORM_END);
page += FPSTR(HTTP_BTN_CONF);
ShowPage(page);
}
void HxSaveSettings()
{
char tmp[100];
WebGetArg("p2", tmp, sizeof(tmp));
Settings.weight_item = (!strlen(tmp)) ? 0 : (uint16_t)(CharToDouble(tmp) * 10000);
HxLogUpdates();
}
void HxLogUpdates()
{
char weigth_ref_chr[10];
char weigth_item_chr[10];
dtostrfd((float)Settings.weight_reference / 1000, Settings.flag2.weight_resolution, weigth_ref_chr);
dtostrfd((float)Settings.weight_item / 10000, 4, weigth_item_chr);
snprintf_P(log_data, sizeof(log_data), PSTR(D_LOG_WIFI D_JSON_WEIGHT_REF " %s, " D_JSON_WEIGHT_ITEM " %s"),
weigth_ref_chr, weigth_item_chr);
AddLog(LOG_LEVEL_INFO);
}
#endif // USE_HX711_GUI
#endif // USE_WEBSERVER
/*********************************************************************************************\ /*********************************************************************************************\
* Interface * Interface
\*********************************************************************************************/ \*********************************************************************************************/
@ -381,6 +489,17 @@ boolean Xsns34(byte function)
case FUNC_WEB_APPEND: case FUNC_WEB_APPEND:
HxShow(0); HxShow(0);
break; break;
#ifdef USE_HX711_GUI
case FUNC_WEB_ADD_MAIN_BUTTON:
strncat_P(mqtt_data, HTTP_BTN_MENU_MAIN_HX711, sizeof(mqtt_data));
break;
case FUNC_WEB_ADD_BUTTON:
strncat_P(mqtt_data, HTTP_BTN_MENU_HX711, sizeof(mqtt_data));
break;
case FUNC_WEB_ADD_HANDLER:
WebServer->on("/" WEB_HANDLE_HX711, HandleHxAction);
break;
#endif // USE_HX711_GUI
#endif // USE_WEBSERVER #endif // USE_WEBSERVER
} }
} }

View File

@ -38,10 +38,10 @@ extern "C" {
#ifdef USE_WEBSERVER #ifdef USE_WEBSERVER
const char HTTP_SNS_TX20[] PROGMEM = "%s" const char HTTP_SNS_TX20[] PROGMEM = "%s"
"{s} " D_TX20_WIND_SPEED "{m}%s " D_UNIT_KILOMETER_PER_HOUR "{e}" "{s}TX20 " D_TX20_WIND_SPEED "{m}%s " D_UNIT_KILOMETER_PER_HOUR "{e}"
"{s} " D_TX20_WIND_SPEED_AVG "{m}%s " D_UNIT_KILOMETER_PER_HOUR "{e}" "{s}TX20 " D_TX20_WIND_SPEED_AVG "{m}%s " D_UNIT_KILOMETER_PER_HOUR "{e}"
"{s} " D_TX20_WIND_SPEED_MAX "{m}%s " D_UNIT_KILOMETER_PER_HOUR "{e}" "{s}TX20 " D_TX20_WIND_SPEED_MAX "{m}%s " D_UNIT_KILOMETER_PER_HOUR "{e}"
"{s} " D_TX20_WIND_DIRECTION "{m}%s {e}"; "{s}TX20 " D_TX20_WIND_DIRECTION "{m}%s{e}";
#endif // USE_WEBSERVER #endif // USE_WEBSERVER