mirror of https://github.com/arendst/Tasmota.git
6.5.0.12 Add support for link LED and four power LEDs
6.5.0.12 20190521 * Add AriLux RF control GPIO option "ALux IrSel" (159) replacing "Led4i" (59) for full LED control (#5709) * Add LED GPIO option "LedLink" (157) and "LedLinki" (158) to select dedicated link status LED (#5709) * Add support for up to four LEDs related to four power outputs. Enabled when "LedLink(i)" is configured too (#5709) * Add extended LED power control using command LedPowerX where X is 1 to 4. Enabled when "LedLink(i)" is configured too (#5709)
This commit is contained in:
parent
52e4444fd4
commit
763118b626
|
@ -1,4 +1,10 @@
|
|||
/* 6.5.0.11 20190517
|
||||
/* 6.5.0.12 20190521
|
||||
* Add AriLux RF control GPIO option "ALux IrSel" (159) replacing "Led4i" (59) for full LED control (#5709)
|
||||
* Add LED GPIO option "LedLink" (157) and "LedLinki" (158) to select dedicated link status LED (#5709)
|
||||
* Add support for up to four LEDs related to four power outputs. Enabled when "LedLink(i)" is configured too (#5709)
|
||||
* Add extended LED power control using command LedPowerX where X is 1 to 4. Enabled when "LedLink(i)" is configured too (#5709)
|
||||
*
|
||||
* 6.5.0.11 20190517
|
||||
* Add command SetOption64 0/1 to switch between "-" or "_" as sensor index separator impacting DS18X20, DHT, BMP and SHT3X sensor names (#5689)
|
||||
* Add initial support for Scripts as replacement for Rules. Default disabled but can be enabled in my_user_config.h (#5689)
|
||||
* Add rule System#Save executed just before a planned restart
|
||||
|
|
|
@ -513,6 +513,7 @@
|
|||
#define D_SENSOR_BUTTON "Бутон" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Реле" // Suffix "1i"
|
||||
#define D_SENSOR_LED "Led" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1"
|
||||
#define D_SENSOR_COUNTER "Брояч" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IRrecv"
|
||||
|
@ -578,6 +579,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "Tlačítko" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Relé" // Suffix "1i"
|
||||
#define D_SENSOR_LED "Led" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1",
|
||||
#define D_SENSOR_COUNTER "Počítadlo" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IRrecv"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "Button" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Relay" // Suffix "1i"
|
||||
#define D_SENSOR_LED "Led" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1"
|
||||
#define D_SENSOR_COUNTER "Counter" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IRrecv"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "Button" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Relay" // Suffix "1i"
|
||||
#define D_SENSOR_LED "Led" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1"
|
||||
#define D_SENSOR_COUNTER "Counter" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IRrecv"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "Button" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Relay" // Suffix "1i"
|
||||
#define D_SENSOR_LED "Led" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1"
|
||||
#define D_SENSOR_COUNTER "Counter" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IRrecv"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "Botón" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Relé" // Suffix "1i"
|
||||
#define D_SENSOR_LED "Led" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1"
|
||||
#define D_SENSOR_COUNTER "Contador" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IR Rx"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "Bouton" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Relais" // Suffix "1i"
|
||||
#define D_SENSOR_LED "LED" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1"
|
||||
#define D_SENSOR_COUNTER "Compteur" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "RécptIR"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "לחצן" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "ממסר" // Suffix "1i"
|
||||
#define D_SENSOR_LED "לד" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1"
|
||||
#define D_SENSOR_COUNTER "מונה" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IRrecv"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "Gomb" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Relé" // Suffix "1i"
|
||||
#define D_SENSOR_LED "LED" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1"
|
||||
#define D_SENSOR_COUNTER "Számláló" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IR vevő"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "Button" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Relay" // Suffix "1i"
|
||||
#define D_SENSOR_LED "Led" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1"
|
||||
#define D_SENSOR_COUNTER "Counter" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IRrecv"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "Button" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Relay" // Suffix "1i"
|
||||
#define D_SENSOR_LED "Led" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1"
|
||||
#define D_SENSOR_COUNTER "Counter" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IRrecv"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "Button" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Relais" // Suffix "1i"
|
||||
#define D_SENSOR_LED "Led" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1"
|
||||
#define D_SENSOR_COUNTER "Teller" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IRrecv"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "Przyci" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Przek" // Suffix "1i"
|
||||
#define D_SENSOR_LED "Led" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1"
|
||||
#define D_SENSOR_COUNTER "Liczni" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IRrecv"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "Botão" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Relé" // Suffix "1i"
|
||||
#define D_SENSOR_LED "Led" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1"
|
||||
#define D_SENSOR_COUNTER "Contador" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IRrecv"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "Botão" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Relé" // Suffix "1i"
|
||||
#define D_SENSOR_LED "Led" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1"
|
||||
#define D_SENSOR_COUNTER "Contador" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IRrecv"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "Кнопка" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Реле" // Suffix "1i"
|
||||
#define D_SENSOR_LED "Led" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1"
|
||||
#define D_SENSOR_COUNTER "Счетчик" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IRrecv"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "Tlačidlo" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Relé" // Suffix "1i"
|
||||
#define D_SENSOR_LED "Led" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1",
|
||||
#define D_SENSOR_COUNTER "Počítadlo" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IRrecv"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "Knapp" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Relä" // Suffix "1i"
|
||||
#define D_SENSOR_LED "Led" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1"
|
||||
#define D_SENSOR_COUNTER "Räknare" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IRrecv"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "Button" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Relay" // Suffix "1i"
|
||||
#define D_SENSOR_LED "Led" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1"
|
||||
#define D_SENSOR_COUNTER "Counter" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IRrecv"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "Кнопка" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Реле" // Suffix "1i"
|
||||
#define D_SENSOR_LED "Led" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1"
|
||||
#define D_SENSOR_COUNTER "Лічильник" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IRrecv"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "Button" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Relay" // Suffix "1i"
|
||||
#define D_SENSOR_LED "Led" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1"
|
||||
#define D_SENSOR_COUNTER "Counter" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IRrecv"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
#define D_SENSOR_BUTTON "Button" // Suffix "1"
|
||||
#define D_SENSOR_RELAY "Relay" // Suffix "1i"
|
||||
#define D_SENSOR_LED "Led" // Suffix "1i"
|
||||
#define D_SENSOR_LED_LINK "LedLink" // Suffix "i"
|
||||
#define D_SENSOR_PWM "PWM" // Suffix "1"
|
||||
#define D_SENSOR_COUNTER "Counter" // Suffix "1"
|
||||
#define D_SENSOR_IRRECV "IRrecv"
|
||||
|
@ -577,6 +578,7 @@
|
|||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
#define D_SENSOR_ARIRFSEL "ALux IrSel"
|
||||
#define D_SENSOR_TXD "Serial Tx"
|
||||
#define D_SENSOR_RXD "Serial Rx"
|
||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||
|
|
|
@ -142,7 +142,10 @@ uint8_t backlog_pointer = 0; // Command backlog pointer
|
|||
uint8_t sleep; // Current copy of Settings.sleep
|
||||
uint8_t blinkspeed = 1; // LED blink rate
|
||||
uint8_t pin[GPIO_MAX]; // Possible pin configurations
|
||||
uint8_t leds_present = 0; // Max number of LED supported
|
||||
uint8_t led_inverted = 0; // LED inverted flag (1 = (0 = On, 1 = Off))
|
||||
uint8_t led_power = 0; // LED power state
|
||||
uint8_t ledlnk_inverted = 0; // Link LED inverted flag (1 = (0 = On, 1 = Off))
|
||||
uint8_t pwm_inverted = 0; // PWM inverted flag (1 = inverted)
|
||||
uint8_t counter_no_pullup = 0; // Counter input pullup flag (1 = No pullup)
|
||||
uint8_t energy_flg = 0; // Energy monitor configured
|
||||
|
@ -369,19 +372,56 @@ void SetDevicePower(power_t rpower, int source)
|
|||
}
|
||||
}
|
||||
|
||||
void SetLedPowerIdx(uint8_t led, uint8_t state)
|
||||
{
|
||||
if ((99 == pin[GPIO_LEDLNK]) && (0 == led)) { // Legacy - LED1 is link led only if LED2 is present
|
||||
if (pin[GPIO_LED2] < 99) { led = 1; }
|
||||
}
|
||||
if (pin[GPIO_LED1 + led] < 99) {
|
||||
uint8_t mask = 1 << led;
|
||||
if (state) {
|
||||
state = 1;
|
||||
led_power |= mask;
|
||||
} else {
|
||||
led_power &= (0xFF ^ mask);
|
||||
}
|
||||
digitalWrite(pin[GPIO_LED1 + led], bitRead(led_inverted, led) ? !state : state);
|
||||
}
|
||||
}
|
||||
|
||||
void SetLedPower(uint8_t state)
|
||||
{
|
||||
if (state) { state = 1; }
|
||||
if (99 == pin[GPIO_LEDLNK]) { // Legacy - Only use LED1 and/or LED2
|
||||
SetLedPowerIdx(0, state);
|
||||
} else {
|
||||
power_t mask = 1;
|
||||
for (uint8_t i = 0; i < leds_present; i++) { // Map leds to power
|
||||
bool tstate = (power & mask);
|
||||
SetLedPowerIdx(i, tstate);
|
||||
mask <<= 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t led_pin = 0;
|
||||
if (pin[GPIO_LED2] < 99) { led_pin = 1; }
|
||||
digitalWrite(pin[GPIO_LED1 + led_pin], (bitRead(led_inverted, led_pin)) ? !state : state);
|
||||
void SetLedPowerAll(uint8_t state)
|
||||
{
|
||||
for (uint8_t i = 0; i < leds_present; i++) {
|
||||
SetLedPowerIdx(i, state);
|
||||
}
|
||||
}
|
||||
|
||||
void SetLedLink(uint8_t state)
|
||||
{
|
||||
if (state) { state = 1; }
|
||||
digitalWrite(pin[GPIO_LED1], (bitRead(led_inverted, 0)) ? !state : state);
|
||||
uint8_t led_pin = pin[GPIO_LEDLNK];
|
||||
uint8_t led_inv = ledlnk_inverted;
|
||||
if (99 == led_pin) { // Legacy - LED1 is status
|
||||
led_pin = pin[GPIO_LED1];
|
||||
led_inv = bitRead(led_inverted, 0);
|
||||
}
|
||||
if (led_pin < 99) {
|
||||
if (state) { state = 1; }
|
||||
digitalWrite(led_pin, (led_inv) ? !state : state);
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t GetFanspeed(void)
|
||||
|
@ -1421,7 +1461,8 @@ void MqttDataHandler(char* topic, uint8_t* data, unsigned int data_len)
|
|||
}
|
||||
Response_P(S_JSON_COMMAND_NVALUE, command, Settings.altitude);
|
||||
}
|
||||
else if (CMND_LEDPOWER == command_code) {
|
||||
else if ((CMND_LEDPOWER == command_code) && (index > 0) && (index <= MAX_LEDS)) {
|
||||
/*
|
||||
if ((payload >= 0) && (payload <= 2)) {
|
||||
Settings.ledstate &= 8;
|
||||
switch (payload) {
|
||||
|
@ -1434,15 +1475,83 @@ void MqttDataHandler(char* topic, uint8_t* data, unsigned int data_len)
|
|||
break;
|
||||
}
|
||||
blinks = 0;
|
||||
SetLedPower(Settings.ledstate &8);
|
||||
SetLedPowerIdx(index -1, Settings.ledstate &8);
|
||||
}
|
||||
Response_P(S_JSON_COMMAND_SVALUE, command, GetStateText(bitRead(Settings.ledstate, 3)));
|
||||
Response_P(S_JSON_COMMAND_INDEX_SVALUE, command, index, GetStateText(bitRead(Settings.ledstate, 3)));
|
||||
*/
|
||||
/*
|
||||
if (99 == pin[GPIO_LEDLNK]) {
|
||||
if ((payload >= 0) && (payload <= 2)) {
|
||||
Settings.ledstate &= 8;
|
||||
switch (payload) {
|
||||
case 0: // Off
|
||||
case 1: // On
|
||||
Settings.ledstate = payload << 3;
|
||||
break;
|
||||
case 2: // Toggle
|
||||
Settings.ledstate ^= 8;
|
||||
break;
|
||||
}
|
||||
blinks = 0;
|
||||
SetLedPower(Settings.ledstate &8);
|
||||
}
|
||||
Response_P(S_JSON_COMMAND_SVALUE, command, GetStateText(bitRead(Settings.ledstate, 3)));
|
||||
} else {
|
||||
if ((payload >= 0) && (payload <= 2)) {
|
||||
Settings.ledstate &= 8; // Disable power control
|
||||
uint8_t mask = 1 << (index -1); // Led to control
|
||||
switch (payload) {
|
||||
case 0: // Off
|
||||
led_power &= (0xFF ^ mask);
|
||||
case 1: // On
|
||||
led_power |= mask;
|
||||
break;
|
||||
case 2: // Toggle
|
||||
led_power ^= mask;
|
||||
break;
|
||||
}
|
||||
blinks = 0;
|
||||
SetLedPowerIdx(index -1, (led_power & mask));
|
||||
}
|
||||
Response_P(S_JSON_COMMAND_INDEX_SVALUE, command, index, GetStateText(bitRead(led_power, index -1)));
|
||||
}
|
||||
*/
|
||||
if (99 == pin[GPIO_LEDLNK]) { index = 1; }
|
||||
if ((payload >= 0) && (payload <= 2)) {
|
||||
Settings.ledstate &= 8; // Disable power control
|
||||
uint8_t mask = 1 << (index -1); // Led to control
|
||||
switch (payload) {
|
||||
case 0: // Off
|
||||
led_power &= (0xFF ^ mask);
|
||||
Settings.ledstate = 0;
|
||||
break;
|
||||
case 1: // On
|
||||
led_power |= mask;
|
||||
Settings.ledstate = 8;
|
||||
break;
|
||||
case 2: // Toggle
|
||||
led_power ^= mask;
|
||||
Settings.ledstate ^= 8;
|
||||
break;
|
||||
}
|
||||
blinks = 0;
|
||||
if (99 == pin[GPIO_LEDLNK]) {
|
||||
SetLedPower(Settings.ledstate &8);
|
||||
} else {
|
||||
SetLedPowerIdx(index -1, (led_power & mask));
|
||||
}
|
||||
}
|
||||
uint8_t state = bitRead(led_power, index -1);
|
||||
if (99 == pin[GPIO_LEDLNK]) {
|
||||
state = bitRead(Settings.ledstate, 3);
|
||||
}
|
||||
Response_P(S_JSON_COMMAND_INDEX_SVALUE, command, index, GetStateText(state));
|
||||
}
|
||||
else if (CMND_LEDSTATE == command_code) {
|
||||
if ((payload >= 0) && (payload < MAX_LED_OPTION)) {
|
||||
Settings.ledstate = payload;
|
||||
if (!Settings.ledstate) {
|
||||
SetLedPower(0);
|
||||
SetLedPowerAll(0);
|
||||
SetLedLink(0);
|
||||
}
|
||||
}
|
||||
|
@ -2030,8 +2139,6 @@ void Every250mSeconds(void)
|
|||
}
|
||||
}
|
||||
if ((!(Settings.ledstate &0x08)) && ((Settings.ledstate &0x06) || (blinks > 200) || (blinkstate))) {
|
||||
// if ( (!Settings.flag.global_state && global_state.data) || ((!(Settings.ledstate &0x08)) && ((Settings.ledstate &0x06) || (blinks > 200) || (blinkstate))) ) {
|
||||
// SetLedPower(blinkstate); // Set led on or off
|
||||
SetLedLink(blinkstate); // Set led on or off
|
||||
}
|
||||
if (!blinkstate) {
|
||||
|
@ -2456,6 +2563,10 @@ void GpioInit(void)
|
|||
bitSet(led_inverted, mpin - GPIO_LED1_INV);
|
||||
mpin -= (GPIO_LED1_INV - GPIO_LED1);
|
||||
}
|
||||
else if (mpin == GPIO_LEDLNK_INV) {
|
||||
ledlnk_inverted = 1;
|
||||
mpin -= (GPIO_LEDLNK_INV - GPIO_LEDLNK);
|
||||
}
|
||||
else if ((mpin >= GPIO_PWM1_INV) && (mpin < (GPIO_PWM1_INV + MAX_PWMS))) {
|
||||
bitSet(pwm_inverted, mpin - GPIO_PWM1_INV);
|
||||
mpin -= (GPIO_PWM1_INV - GPIO_PWM1);
|
||||
|
@ -2567,10 +2678,24 @@ void GpioInit(void)
|
|||
|
||||
for (uint8_t i = 0; i < MAX_LEDS; i++) {
|
||||
if (pin[GPIO_LED1 +i] < 99) {
|
||||
pinMode(pin[GPIO_LED1 +i], OUTPUT);
|
||||
digitalWrite(pin[GPIO_LED1 +i], bitRead(led_inverted, i));
|
||||
#ifdef USE_ARILUX_RF
|
||||
if ((3 == i) && (leds_present < 2) && (99 == pin[GPIO_ARIRFSEL])) {
|
||||
pin[GPIO_ARIRFSEL] = pin[GPIO_LED4]; // Legacy support where LED4 was Arilux RF enable
|
||||
pin[GPIO_LED4] = 99;
|
||||
} else {
|
||||
#endif
|
||||
pinMode(pin[GPIO_LED1 +i], OUTPUT);
|
||||
leds_present++;
|
||||
digitalWrite(pin[GPIO_LED1 +i], bitRead(led_inverted, i));
|
||||
#ifdef USE_ARILUX_RF
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
if (pin[GPIO_LEDLNK] < 99) {
|
||||
pinMode(pin[GPIO_LEDLNK], OUTPUT);
|
||||
digitalWrite(pin[GPIO_LEDLNK], ledlnk_inverted);
|
||||
}
|
||||
|
||||
ButtonInit();
|
||||
SwitchInit();
|
||||
|
|
|
@ -171,7 +171,7 @@ enum UserSelectablePins {
|
|||
GPIO_DCKI, // my92x1 CLK input
|
||||
GPIO_CSE7766_TX, // CSE7766 Serial interface (S31 and Pow R2)
|
||||
GPIO_CSE7766_RX, // CSE7766 Serial interface (S31 and Pow R2)
|
||||
GPIO_ARIRFRCV, // AliLux RF Receive input
|
||||
GPIO_ARIRFRCV, // AriLux RF Receive input
|
||||
GPIO_TXD, // Serial interface
|
||||
GPIO_RXD, // Serial interface
|
||||
GPIO_ROT1A, // Rotary switch1 A Pin
|
||||
|
@ -181,6 +181,9 @@ enum UserSelectablePins {
|
|||
GPIO_HRE_CLOCK, // Clock/Power line for HR-E Water Meter
|
||||
GPIO_HRE_DATA, // Data line for HR-E Water Meter
|
||||
GPIO_ADE7953_IRQ, // ADE7953 IRQ
|
||||
GPIO_LEDLNK, // Link led
|
||||
GPIO_LEDLNK_INV, // Inverted link led
|
||||
GPIO_ARIRFSEL, // Arilux RF Receive input selected
|
||||
GPIO_SENSOR_END };
|
||||
|
||||
// Programmer selectable GPIO functionality
|
||||
|
@ -246,6 +249,8 @@ const char kSensorNames[] PROGMEM =
|
|||
D_SENSOR_ROTARY "1a|" D_SENSOR_ROTARY "1b|" D_SENSOR_ROTARY "2a|" D_SENSOR_ROTARY "2b|"
|
||||
D_SENSOR_HRE_CLOCK "|" D_SENSOR_HRE_DATA "|"
|
||||
D_SENSOR_ADE7953_IRQ "|"
|
||||
D_SENSOR_LED_LINK "|" D_SENSOR_LED_LINK "i|"
|
||||
D_SENSOR_ARIRFSEL "|"
|
||||
;
|
||||
|
||||
// User selectable ADC0 functionality
|
||||
|
@ -448,6 +453,8 @@ const uint8_t kGpioNiceList[] PROGMEM = {
|
|||
GPIO_LED3_INV,
|
||||
GPIO_LED4,
|
||||
GPIO_LED4_INV,
|
||||
GPIO_LEDLNK, // Link led
|
||||
GPIO_LEDLNK_INV, // Inverted link led
|
||||
GPIO_PWM1, // RGB Red or C Cold White
|
||||
GPIO_PWM1_INV,
|
||||
GPIO_PWM2, // RGB Green or CW Warm White
|
||||
|
@ -616,7 +623,8 @@ const uint8_t kGpioNiceList[] PROGMEM = {
|
|||
GPIO_ROT2B, // Rotary switch2 B Pin
|
||||
#endif
|
||||
#ifdef USE_ARILUX_RF
|
||||
GPIO_ARIRFRCV, // AliLux RF Receive input
|
||||
GPIO_ARIRFRCV, // AriLux RF Receive input
|
||||
GPIO_ARIRFSEL, // Arilux RF Receive input selected
|
||||
#endif
|
||||
#ifdef USE_HRE
|
||||
GPIO_HRE_CLOCK,
|
||||
|
@ -1109,9 +1117,9 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
0, 0
|
||||
},
|
||||
{ "Huafan SS", // Hua Fan Smart Socket (ESP8266) - like Sonoff Pow
|
||||
GPIO_LED1_INV, // GPIO00 Blue Led (0 = On, 1 = Off) - Link status
|
||||
GPIO_LEDLNK_INV, // GPIO00 Blue Led (0 = On, 1 = Off) - Link status
|
||||
0, 0,
|
||||
GPIO_LED2_INV, // GPIO03 Red Led (0 = On, 1 = Off) - Power status
|
||||
GPIO_LED1_INV, // GPIO03 Red Led (0 = On, 1 = Off) - Power status
|
||||
GPIO_KEY1, // GPIO04 Button
|
||||
GPIO_REL1_INV, // GPIO05 Relay (0 = On, 1 = Off)
|
||||
// GPIO06 (SD_CLK Flash)
|
||||
|
@ -1304,7 +1312,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
GPIO_PWM3, // GPIO12 RGB LED Blue
|
||||
GPIO_USER, // GPIO13 RGBW LED White (optional - set to PWM4 for Cold White or Warm White as used on Arilux LC10)
|
||||
GPIO_PWM1, // GPIO14 RGB LED Red
|
||||
GPIO_LED4_INV, // GPIO15 RF receiver control (Arilux LC10)
|
||||
GPIO_ARIRFSEL, // GPIO15 RF receiver control (Arilux LC10)
|
||||
0, 0
|
||||
},
|
||||
{ "Luani HVIO", // ESP8266_HVIO
|
||||
|
@ -1350,7 +1358,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
// (PwmFrequency 1111Hz)
|
||||
GPIO_KEY1, // GPIO00 Optional Button
|
||||
GPIO_USER, // GPIO01 Serial RXD and Optional sensor
|
||||
GPIO_LED4_INV, // GPIO02 RF receiver control
|
||||
GPIO_ARIRFSEL, // GPIO02 RF receiver control
|
||||
GPIO_USER, // GPIO03 Serial TXD and Optional sensor
|
||||
GPIO_ARIRFRCV, // GPIO04 IR or RF receiver (optional)
|
||||
GPIO_PWM1, // GPIO05 RGB LED Red
|
||||
|
@ -1370,7 +1378,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
// (PwmFrequency 540Hz)
|
||||
GPIO_KEY1, // GPIO00 Optional Button
|
||||
GPIO_USER, // GPIO01 Serial RXD and Optional sensor
|
||||
GPIO_LED4_INV, // GPIO02 RF receiver control
|
||||
GPIO_ARIRFSEL, // GPIO02 RF receiver control
|
||||
GPIO_USER, // GPIO03 Serial TXD and Optional sensor
|
||||
GPIO_PWM2, // GPIO04 RGB LED Green
|
||||
GPIO_PWM1, // GPIO05 RGB LED Red
|
||||
|
@ -1498,9 +1506,9 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
// https://www.amazon.de/Steckdose-Homecube-intelligente-Verbrauchsanzeige-funktioniert/dp/B076Q2LKHG/ref=sr_1_fkmr0_1
|
||||
// https://www.amazon.de/Intelligente-Stromverbrauch-Fernsteurung-Schaltbare-Energieklasse/dp/B076WZQS4S/ref=sr_1_1
|
||||
// https://www.aliexpress.com/store/product/BlitzWolf-BW-SHP6-EU-Plug-Metering-Version-WIFI-Smart-Socket-220V-240V-10A-Work-with-Amazon/1965360_32945504669.html
|
||||
GPIO_LED2_INV, // GPIO00 Red Led (1 = On, 0 = Off) - Power status
|
||||
GPIO_LED1_INV, // GPIO00 Red Led (1 = On, 0 = Off) - Power status
|
||||
GPIO_USER, // GPIO01 Serial RXD and Optional sensor
|
||||
GPIO_LED1_INV, // GPIO02 Blue Led (1 = On, 0 = Off) - Link status
|
||||
GPIO_LEDLNK_INV, // GPIO02 Blue Led (1 = On, 0 = Off) - Link status
|
||||
GPIO_USER, // GPIO03 Serial TXD and Optional sensor
|
||||
0,
|
||||
GPIO_HJL_CF, // GPIO05 BL0937 or HJL-01 CF power
|
||||
|
@ -1624,7 +1632,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
0,
|
||||
GPIO_KEY1, // GPIO01 Serial TXD and Button
|
||||
0,
|
||||
GPIO_LED2_INV, // GPIO03 Serial RXD and Red Led (0 = On, 1 = Off) - Power status
|
||||
GPIO_LED1_INV, // GPIO03 Serial RXD and Red Led (0 = On, 1 = Off) - Power status
|
||||
GPIO_HJL_CF, // GPIO04 BL0937 or HJL-01 CF power
|
||||
GPIO_NRG_CF1, // GPIO05 BL0937 or HJL-01 CF1 current / voltage
|
||||
// GPIO06 (SD_CLK Flash)
|
||||
|
@ -1634,7 +1642,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
0, // GPIO10 (SD_DATA3 Flash QIO or ESP8285)
|
||||
// GPIO11 (SD_CMD Flash)
|
||||
GPIO_NRG_SEL_INV, // GPIO12 BL0937 or HJL-01 Sel output (0 = Voltage)
|
||||
GPIO_LED1_INV, // GPIO13 Blue Led (0 = On, 1 = Off) - Link status
|
||||
GPIO_LEDLNK_INV, // GPIO13 Blue Led (0 = On, 1 = Off) - Link status
|
||||
GPIO_REL1, // GPIO14 Relay (0 = Off, 1 = On)
|
||||
0, 0, 0
|
||||
},
|
||||
|
@ -1678,7 +1686,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
},
|
||||
{ "Gosund SP1 v23", // https://www.amazon.de/gp/product/B0777BWS1P
|
||||
0,
|
||||
GPIO_LED1_INV, // GPIO01 Serial RXD and LED1 (blue) inv - Link status
|
||||
GPIO_LEDLNK_INV, // GPIO01 Serial RXD and LED1 (blue) inv - Link status
|
||||
0,
|
||||
GPIO_KEY1, // GPIO03 Serial TXD and Button
|
||||
GPIO_HJL_CF, // GPIO04 BL0937 or HJL-01 CF power
|
||||
|
@ -1690,7 +1698,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
0, // GPIO10 (SD_DATA3 Flash QIO or ESP8285)
|
||||
// GPIO11 (SD_CMD Flash)
|
||||
GPIO_NRG_SEL_INV, // GPIO12 BL0937 or HJL-01 Sel output (0 = Voltage)
|
||||
GPIO_LED2_INV, // GPIO13 LED2 (red) inv - Power status
|
||||
GPIO_LED1_INV, // GPIO13 LED2 (red) inv - Power status
|
||||
GPIO_REL1, // GPIO14 Relay (0 = Off, 1 = On)
|
||||
0, 0, 0
|
||||
},
|
||||
|
@ -1728,8 +1736,8 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
0, // GPIO10 (SD_DATA3 Flash QIO or ESP8285)
|
||||
// GPIO11 (SD_CMD Flash)
|
||||
GPIO_NRG_SEL_INV, // GPIO12 HLW8012 CF Sel output (0 = Voltage)
|
||||
GPIO_LED2_INV, // GPIO13 Red Led (0 = On, 1 = Off) - Power status
|
||||
GPIO_LED1_INV, // GPIO14 Blue Led (0 = On, 1 = Off) - Link status
|
||||
GPIO_LED1_INV, // GPIO13 Red Led (0 = On, 1 = Off) - Power status
|
||||
GPIO_LEDLNK_INV, // GPIO14 Blue Led (0 = On, 1 = Off) - Link status
|
||||
GPIO_REL1, // GPIO15 Relay (0 = Off, 1 = On)
|
||||
0, 0
|
||||
},
|
||||
|
@ -1757,9 +1765,9 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
{ "Teckin US", // Teckin SP20 US with Energy Monitoring
|
||||
// https://www.amazon.com/Outlet-Compatible-Monitoring-Function-Required/dp/B079Q5W22B
|
||||
// https://www.amazon.com/Outlet-ZOOZEE-Monitoring-Function-Compatible/dp/B07J2LR5KN
|
||||
GPIO_LED2_INV, // GPIO00 Red Led (1 = On, 0 = Off) - Power status
|
||||
GPIO_LED1_INV, // GPIO00 Red Led (1 = On, 0 = Off) - Power status
|
||||
0,
|
||||
GPIO_LED1_INV, // GPIO02 Blue Led (1 = On, 0 = Off) - Link status
|
||||
GPIO_LEDLNK_INV, // GPIO02 Blue Led (1 = On, 0 = Off) - Link status
|
||||
0,
|
||||
GPIO_REL1, // GPIO04 Relay (0 = Off, 1 = On)
|
||||
GPIO_HJL_CF, // GPIO05 BL0937 or HJL-01 CF power
|
||||
|
@ -1809,8 +1817,8 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
0, // GPIO09 (SD_DATA2 Flash QIO or ESP8285)
|
||||
0, // GPIO10 (SD_DATA3 Flash QIO or ESP8285)
|
||||
// GPIO11 (SD_CMD Flash)
|
||||
GPIO_LED1_INV, // GPIO12 Green LED - Link status
|
||||
GPIO_LED2, // GPIO13 Red LED - Power status
|
||||
GPIO_LEDLNK_INV, // GPIO12 Green LED - Link status
|
||||
GPIO_LED1, // GPIO13 Red LED - Power status
|
||||
0, 0, 0, 0
|
||||
},
|
||||
{ "YTF IR Bridge", // https://www.aliexpress.com/item/Tuya-universal-Smart-IR-Hub-remote-control-Voice-Control-AC-TV-Work-With-Alexa-Google-Home/32951202513.html
|
||||
|
@ -1854,7 +1862,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
},
|
||||
{ "KA10", // SMANERGY KA10 (ESP8285 - BL0937 Energy Monitoring) - https://www.amazon.es/dp/B07MBTCH2Y
|
||||
0, // GPIO00
|
||||
GPIO_LED1_INV, // GPIO01 Blue LED - Link status
|
||||
GPIO_LEDLNK_INV, // GPIO01 Blue LED - Link status
|
||||
0, // GPIO02
|
||||
GPIO_KEY1, // GPIO03 Button
|
||||
GPIO_HJL_CF, // GPIO04 BL0937 CF power
|
||||
|
@ -1866,7 +1874,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
0, // GPIO10 (SD_DATA3 Flash QIO or ESP8285)
|
||||
// GPIO11 (SD_CMD Flash)
|
||||
GPIO_NRG_SEL_INV, // GPIO12 BL0937 Sel output (1 = Voltage)
|
||||
GPIO_LED2, // GPIO13 Red LED - Power status
|
||||
GPIO_LED1, // GPIO13 Red LED - Power status
|
||||
GPIO_REL1, // GPIO14 Relay 1
|
||||
0, 0, 0
|
||||
},
|
||||
|
@ -1923,7 +1931,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
},
|
||||
{ "WAGA CHCZ02MB", // WAGA life CHCZ02MB (HJL-01 Energy Monitoring)
|
||||
// https://www.ebay.com/itm/332595697006
|
||||
GPIO_LED2_INV, // GPIO00 Red LED
|
||||
GPIO_LED1_INV, // GPIO00 Red LED
|
||||
0, // GPIO01 Serial RXD
|
||||
0, // GPIO02
|
||||
GPIO_NRG_SEL_INV, // GPIO03 HJL-01 Sel output (1 = Voltage)
|
||||
|
@ -1938,7 +1946,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
GPIO_REL1, // GPIO12 Relay
|
||||
GPIO_KEY1, // GPIO13 Button
|
||||
GPIO_NRG_CF1, // GPIO14 HJL-01 CF1 voltage / current
|
||||
GPIO_LED1_INV, // GPIO15 Blue LED - Link status
|
||||
GPIO_LEDLNK_INV, // GPIO15 Blue LED - Link status
|
||||
0, 0
|
||||
},
|
||||
{ "SYF05", // Sunyesmart SYF05 (a.k.a. Fcmila) = TYWE3S + SM16726
|
||||
|
@ -2070,7 +2078,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
GPIO_PWM3, // GPIO12 RGB LED Blue
|
||||
GPIO_PWM4, // GPIO13 RGBW LED White
|
||||
GPIO_PWM1, // GPIO14 RGB LED Red
|
||||
GPIO_LED4_INV, // GPIO15 RF receiver control
|
||||
GPIO_ARIRFSEL, // GPIO15 RF receiver control
|
||||
0, 0
|
||||
}
|
||||
|
||||
|
|
|
@ -20,6 +20,6 @@
|
|||
#ifndef _SONOFF_VERSION_H_
|
||||
#define _SONOFF_VERSION_H_
|
||||
|
||||
const uint32_t VERSION = 0x0605000B;
|
||||
const uint32_t VERSION = 0x0605000C;
|
||||
|
||||
#endif // _SONOFF_VERSION_H_
|
||||
|
|
|
@ -1107,23 +1107,24 @@ void AriluxRfHandler(void)
|
|||
|
||||
void AriluxRfInit(void)
|
||||
{
|
||||
if ((pin[GPIO_ARIRFRCV] < 99) && (pin[GPIO_LED4] < 99)) {
|
||||
if ((pin[GPIO_ARIRFRCV] < 99) && (pin[GPIO_ARIRFSEL] < 99)) {
|
||||
if (Settings.last_module != Settings.module) {
|
||||
Settings.rf_code[1][6] = 0;
|
||||
Settings.rf_code[1][7] = 0;
|
||||
Settings.last_module = Settings.module;
|
||||
}
|
||||
arilux_rf_received_value = 0;
|
||||
digitalWrite(pin[GPIO_LED4], !bitRead(led_inverted, 3)); // Turn on RF
|
||||
|
||||
digitalWrite(pin[GPIO_ARIRFSEL], 0); // Turn on RF
|
||||
attachInterrupt(pin[GPIO_ARIRFRCV], AriluxRfInterrupt, CHANGE);
|
||||
}
|
||||
}
|
||||
|
||||
void AriluxRfDisable(void)
|
||||
{
|
||||
if ((pin[GPIO_ARIRFRCV] < 99) && (pin[GPIO_LED4] < 99)) {
|
||||
if ((pin[GPIO_ARIRFRCV] < 99) && (pin[GPIO_ARIRFSEL] < 99)) {
|
||||
detachInterrupt(pin[GPIO_ARIRFRCV]);
|
||||
digitalWrite(pin[GPIO_LED4], bitRead(led_inverted, 3)); // Turn off RF
|
||||
digitalWrite(pin[GPIO_ARIRFSEL], 1); // Turn off RF
|
||||
}
|
||||
}
|
||||
#endif // USE_ARILUX_RF
|
||||
|
@ -1353,8 +1354,9 @@ void LightInit(void)
|
|||
}
|
||||
}
|
||||
if (pin[GPIO_ARIRFRCV] < 99) {
|
||||
if (pin[GPIO_LED4] < 99) {
|
||||
digitalWrite(pin[GPIO_LED4], bitRead(led_inverted, 3)); // Turn off RF
|
||||
if (pin[GPIO_ARIRFSEL] < 99) {
|
||||
pinMode(pin[GPIO_ARIRFSEL], OUTPUT);
|
||||
digitalWrite(pin[GPIO_ARIRFSEL], 1); // Turn off RF
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue