mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-27 04:36:31 +00:00
Prep ADE7880 - Shelly3EM
This commit is contained in:
parent
8c9b08adbd
commit
079cf0f2f5
@ -98,3 +98,4 @@ Index | Define | Driver | Device | Address(es) | Description
|
|||||||
62 | USE_SCD40 | xsns_92 | SCD40 | 0x62 | CO2 sensor Sensirion SCD40/SCD41
|
62 | USE_SCD40 | xsns_92 | SCD40 | 0x62 | CO2 sensor Sensirion SCD40/SCD41
|
||||||
63 | USE_HM330X | xsns_93 | HM330X | 0x40 | Particule sensor
|
63 | USE_HM330X | xsns_93 | HM330X | 0x40 | Particule sensor
|
||||||
64 | USE_HDC2010 | xsns_94 | HDC2010 | 0x40 | Temperature and Humidity sensor
|
64 | USE_HDC2010 | xsns_94 | HDC2010 | 0x40 | Temperature and Humidity sensor
|
||||||
|
65 | USE_ADE7880 | xnrg_23 | ADE7880 | 0x38 | Energy monitor
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Draai" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Draai" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Klok"
|
#define D_SENSOR_HRE_CLOCK "HRE Klok"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Gonser"
|
#define D_SENSOR_BUZZER "Gonser"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Зумер"
|
#define D_SENSOR_BUZZER "Зумер"
|
||||||
#define D_SENSOR_DISP_RESET "Нулиране дисплей"
|
#define D_SENSOR_DISP_RESET "Нулиране дисплей"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Buzzer"
|
#define D_SENSOR_BUZZER "Buzzer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Buzzer"
|
#define D_SENSOR_BUZZER "Buzzer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Buzzer"
|
#define D_SENSOR_BUZZER "Buzzer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Buzzer"
|
#define D_SENSOR_BUZZER "Buzzer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Buzzer"
|
#define D_SENSOR_BUZZER "Buzzer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE CLK"
|
#define D_SENSOR_HRE_CLOCK "HRE CLK"
|
||||||
#define D_SENSOR_HRE_DATA "HRE DAT"
|
#define D_SENSOR_HRE_DATA "HRE DAT"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Buzzer"
|
#define D_SENSOR_BUZZER "Buzzer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Zoemer"
|
#define D_SENSOR_BUZZER "Zoemer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Buzzer"
|
#define D_SENSOR_BUZZER "Buzzer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Buzzer"
|
#define D_SENSOR_BUZZER "Buzzer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -730,6 +730,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotativo" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotativo" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE - Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE - Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE - Dati"
|
#define D_SENSOR_HRE_DATA "HRE - Dati"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 - IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 - IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 - IRQ"
|
||||||
#define D_SENSOR_BUZZER "Cicalino"
|
#define D_SENSOR_BUZZER "Cicalino"
|
||||||
#define D_SENSOR_DISP_RESET "Display - RESET"
|
#define D_SENSOR_DISP_RESET "Display - RESET"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Buzzer"
|
#define D_SENSOR_BUZZER "Buzzer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Zoemer"
|
#define D_SENSOR_BUZZER "Zoemer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Obroty" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Obroty" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Zegar"
|
#define D_SENSOR_HRE_CLOCK "HRE Zegar"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Dane"
|
#define D_SENSOR_HRE_DATA "HRE Dane"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Dzwonek"
|
#define D_SENSOR_BUZZER "Dzwonek"
|
||||||
#define D_SENSOR_DISP_RESET "Reset Display"
|
#define D_SENSOR_DISP_RESET "Reset Display"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Buzzer"
|
#define D_SENSOR_BUZZER "Buzzer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotativo" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotativo" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Buzzer"
|
#define D_SENSOR_BUZZER "Buzzer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Buzzer"
|
#define D_SENSOR_BUZZER "Buzzer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Buzzer"
|
#define D_SENSOR_BUZZER "Buzzer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Buzzer"
|
#define D_SENSOR_BUZZER "Buzzer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Buzzer"
|
#define D_SENSOR_BUZZER "Buzzer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Buzzer"
|
#define D_SENSOR_BUZZER "Buzzer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Регулятор" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Регулятор" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Зуммер"
|
#define D_SENSOR_BUZZER "Зуммер"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Buzzer"
|
#define D_SENSOR_BUZZER "Buzzer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Buzzer"
|
#define D_SENSOR_BUZZER "Buzzer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -732,6 +732,7 @@
|
|||||||
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
#define D_SENSOR_ROTARY "Rotary" // Suffix "1A"
|
||||||
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
#define D_SENSOR_HRE_CLOCK "HRE Clock"
|
||||||
#define D_SENSOR_HRE_DATA "HRE Data"
|
#define D_SENSOR_HRE_DATA "HRE Data"
|
||||||
|
#define D_SENSOR_ADE7880_IRQ "ADE7880 IRQ"
|
||||||
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
#define D_SENSOR_ADE7953_IRQ "ADE7953 IRQ"
|
||||||
#define D_SENSOR_BUZZER "Buzzer"
|
#define D_SENSOR_BUZZER "Buzzer"
|
||||||
#define D_SENSOR_DISP_RESET "Display Rst"
|
#define D_SENSOR_DISP_RESET "Display Rst"
|
||||||
|
@ -183,6 +183,7 @@ enum UserSelectablePins {
|
|||||||
GPIO_ADC_MQ, // Analog MQ Sensor
|
GPIO_ADC_MQ, // Analog MQ Sensor
|
||||||
GPIO_CM11_TXD, GPIO_CM11_RXD, // CM11 Serial interface
|
GPIO_CM11_TXD, GPIO_CM11_RXD, // CM11 Serial interface
|
||||||
GPIO_BL6523_TX, GPIO_BL6523_RX, // BL6523 based Watt meter Serial interface
|
GPIO_BL6523_TX, GPIO_BL6523_RX, // BL6523 based Watt meter Serial interface
|
||||||
|
GPIO_ADE7880_IRQ, // ADE7880 IRQ
|
||||||
GPIO_SENSOR_END };
|
GPIO_SENSOR_END };
|
||||||
|
|
||||||
enum ProgramSelectablePins {
|
enum ProgramSelectablePins {
|
||||||
@ -405,6 +406,7 @@ const char kSensorNames[] PROGMEM =
|
|||||||
D_SENSOR_ADC_MQ "|"
|
D_SENSOR_ADC_MQ "|"
|
||||||
D_SENSOR_CM11_TX "|" D_SENSOR_CM11_RX "|"
|
D_SENSOR_CM11_TX "|" D_SENSOR_CM11_RX "|"
|
||||||
D_SENSOR_BL6523_TX "|" D_SENSOR_BL6523_RX "|"
|
D_SENSOR_BL6523_TX "|" D_SENSOR_BL6523_RX "|"
|
||||||
|
D_SENSOR_ADE7880_IRQ "|"
|
||||||
;
|
;
|
||||||
|
|
||||||
const char kSensorNamesFixed[] PROGMEM =
|
const char kSensorNamesFixed[] PROGMEM =
|
||||||
@ -697,6 +699,9 @@ const uint16_t kGpioNiceList[] PROGMEM = {
|
|||||||
AGPIO(GPIO_HLW_CF), // HLW8012 CF power
|
AGPIO(GPIO_HLW_CF), // HLW8012 CF power
|
||||||
AGPIO(GPIO_HJL_CF), // HJL-01/BL0937 CF power
|
AGPIO(GPIO_HJL_CF), // HJL-01/BL0937 CF power
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(USE_I2C) && defined(USE_ADE7880)
|
||||||
|
AGPIO(GPIO_ADE7880_IRQ) + 2, // ADE7880 IRQ
|
||||||
|
#endif
|
||||||
#if defined(USE_I2C) && defined(USE_ADE7953)
|
#if defined(USE_I2C) && defined(USE_ADE7953)
|
||||||
AGPIO(GPIO_ADE7953_IRQ) + 2, // ADE7953 IRQ
|
AGPIO(GPIO_ADE7953_IRQ) + 2, // ADE7953 IRQ
|
||||||
#endif
|
#endif
|
||||||
|
133
tasmota/xnrg_23_ade7880.ino
Normal file
133
tasmota/xnrg_23_ade7880.ino
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
/*
|
||||||
|
xnrg_23_ade7880.ino - ADE7880 energy sensor support for Tasmota
|
||||||
|
|
||||||
|
SPDX-FileCopyrightText: 2022 Theo Arends and AndreKR
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef USE_I2C
|
||||||
|
#ifdef USE_ENERGY_SENSOR
|
||||||
|
#ifdef USE_ADE7880
|
||||||
|
/*********************************************************************************************\
|
||||||
|
* ADE7880 - Energy used in Shelly 3EM
|
||||||
|
*
|
||||||
|
* {"NAME":"Shelly 3EM","GPIO":[0,0,0,0,0,8065,0,0,640,8064,608,0,0,0],"FLAG":0,"BASE":18}
|
||||||
|
*
|
||||||
|
* Based on datasheet from https://www.analog.com/en/products/ade7880.html
|
||||||
|
*
|
||||||
|
* I2C Address: 0x38
|
||||||
|
\*********************************************************************************************/
|
||||||
|
|
||||||
|
#define XNRG_23 23
|
||||||
|
#define XI2C_65 65 // See I2CDEVICES.md
|
||||||
|
|
||||||
|
#define ADE7880_ADDR 0x38
|
||||||
|
|
||||||
|
|
||||||
|
int Ade7880RegSize(uint16_t reg) {
|
||||||
|
int size = 0;
|
||||||
|
/*
|
||||||
|
TBD
|
||||||
|
switch ((reg >> 8) & 0x0F) {
|
||||||
|
case 0x03:
|
||||||
|
size++;
|
||||||
|
case 0x02:
|
||||||
|
size++;
|
||||||
|
case 0x01:
|
||||||
|
size++;
|
||||||
|
case 0x00:
|
||||||
|
case 0x07:
|
||||||
|
case 0x08:
|
||||||
|
size++;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Ade7880Write(uint16_t reg, uint32_t val) {
|
||||||
|
int size = Ade7880RegSize(reg);
|
||||||
|
if (size) {
|
||||||
|
Wire.beginTransmission(ADE7880_ADDR);
|
||||||
|
Wire.write((reg >> 8) & 0xFF);
|
||||||
|
Wire.write(reg & 0xFF);
|
||||||
|
while (size--) {
|
||||||
|
Wire.write((val >> (8 * size)) & 0xFF); // Write data, MSB first
|
||||||
|
}
|
||||||
|
Wire.endTransmission();
|
||||||
|
delayMicroseconds(5); // Bus-free time minimum 4.7us
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int32_t Ade7880Read(uint16_t reg) {
|
||||||
|
uint32_t response = 0;
|
||||||
|
|
||||||
|
int size = Ade7880RegSize(reg);
|
||||||
|
if (size) {
|
||||||
|
Wire.beginTransmission(ADE7880_ADDR);
|
||||||
|
Wire.write((reg >> 8) & 0xFF);
|
||||||
|
Wire.write(reg & 0xFF);
|
||||||
|
Wire.endTransmission(0);
|
||||||
|
Wire.requestFrom(ADE7880_ADDR, size);
|
||||||
|
if (size <= Wire.available()) {
|
||||||
|
for (uint32_t i = 0; i < size; i++) {
|
||||||
|
response = response << 8 | Wire.read(); // receive DATA (MSB first)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Ade7880Init(void) {
|
||||||
|
// Ade7953Write(0x102, 0x0004); // Locking the communication interface (Clear bit COMM_LOCK), Enable HPF
|
||||||
|
// Ade7953Write(0x0FE, 0x00AD); // Unlock register 0x120
|
||||||
|
// Ade7953Write(0x120, 0x0030); // Configure optimum setting
|
||||||
|
}
|
||||||
|
|
||||||
|
void Ade7880EnergyEverySecond(void) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Ade7880DrvInit(void) {
|
||||||
|
if (PinUsed(GPIO_ADE7880_IRQ) && PinUsed(GPIO_ADE7880_IRQ, 1)) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Ade7880Command(void) {
|
||||||
|
// Will need calibration for all three phases
|
||||||
|
bool serviced = true;
|
||||||
|
|
||||||
|
|
||||||
|
return serviced;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************************************************************\
|
||||||
|
* Interface
|
||||||
|
\*********************************************************************************************/
|
||||||
|
|
||||||
|
bool Xnrg23(uint8_t function) {
|
||||||
|
if (!I2cEnabled(XI2C_07)) { return false; }
|
||||||
|
|
||||||
|
bool result = false;
|
||||||
|
|
||||||
|
switch (function) {
|
||||||
|
case FUNC_ENERGY_EVERY_SECOND:
|
||||||
|
Ade7880EnergyEverySecond();
|
||||||
|
break;
|
||||||
|
case FUNC_COMMAND:
|
||||||
|
result = Ade7880Command();
|
||||||
|
break;
|
||||||
|
case FUNC_PRE_INIT:
|
||||||
|
Ade7880DrvInit();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // USE_ADE7880
|
||||||
|
#endif // USE_ENERGY_SENSOR
|
||||||
|
#endif // USE_I2C
|
Loading…
x
Reference in New Issue
Block a user