mirror of
https://github.com/arendst/Tasmota.git
synced 2025-08-02 15:37:42 +00:00
Add more support
* Add support for decoding Theo V2 sensors as documented on https://sidweb.nl using 434MHz RF sensor receiver * Add support for decoding Alecto V2 sensors like ACH2010, WS3000 and DKW2012 using 868MHz RF sensor receiver * Add support for Manzoku Power Strip (#4590)
This commit is contained in:
parent
3779b84bd4
commit
b3e5e35cea
@ -1,6 +1,8 @@
|
||||
/* 6.3.0.17 20181211
|
||||
* Add support for TheoV2 sensors as documented on https://sidweb.nl
|
||||
* Add support for decoding Theo V2 sensors as documented on https://sidweb.nl using 434MHz RF sensor receiver
|
||||
* Add support for decoding Alecto V2 sensors like ACH2010, WS3000 and DKW2012 using 868MHz RF sensor receiver
|
||||
* Add support for SDM220 (#3610)
|
||||
* Add support for Manzoku Power Strip (#4590)
|
||||
* Enhance support for MPU6050 using DMP (#4581)
|
||||
*
|
||||
* 6.3.0.16 20181201
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define D_PROGRAM_FLASH_SIZE "Размер на флаш паметта за програми"
|
||||
#define D_PROGRAM_SIZE "Размер на програмата"
|
||||
#define D_PROJECT "Проект"
|
||||
#define D_RAIN "Rain"
|
||||
#define D_RECEIVED "Получено"
|
||||
#define D_RESTART "Рестарт"
|
||||
#define D_RESTARTING "Рестартиране"
|
||||
@ -553,6 +554,7 @@
|
||||
#define D_UNIT_MICROMETER "µm"
|
||||
#define D_UNIT_MICROSECOND "µs"
|
||||
#define D_UNIT_MILLIAMPERE "mA"
|
||||
#define D_UNIT_MILLIMETER "mm"
|
||||
#define D_UNIT_MILLIMETER_MERCURY "mmHg"
|
||||
#define D_UNIT_MILLISECOND "ms"
|
||||
#define D_UNIT_MINUTE "min"
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define D_PROGRAM_FLASH_SIZE "Velikost paměti flash"
|
||||
#define D_PROGRAM_SIZE "Velikost programu"
|
||||
#define D_PROJECT "Projekt"
|
||||
#define D_RAIN "Rain"
|
||||
#define D_RECEIVED "Přijatý"
|
||||
#define D_RESTART "Restart"
|
||||
#define D_RESTARTING "Restartování"
|
||||
@ -553,6 +554,7 @@
|
||||
#define D_UNIT_MICROMETER "um"
|
||||
#define D_UNIT_MICROSECOND "us"
|
||||
#define D_UNIT_MILLIAMPERE "mA"
|
||||
#define D_UNIT_MILLIMETER "mm"
|
||||
#define D_UNIT_MILLIMETER_MERCURY "mmHg"
|
||||
#define D_UNIT_MILLISECOND "ms"
|
||||
#define D_UNIT_MINUTE "min"
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define D_PROGRAM_FLASH_SIZE "Ges. Flash Speicher"
|
||||
#define D_PROGRAM_SIZE "Ben. Flash Speicher"
|
||||
#define D_PROJECT "Projekt"
|
||||
#define D_RAIN "Regen"
|
||||
#define D_RECEIVED "erhalten"
|
||||
#define D_RESTART "Neustart"
|
||||
#define D_RESTARTING "starte neu"
|
||||
@ -553,6 +554,7 @@
|
||||
#define D_UNIT_MICROMETER "µm"
|
||||
#define D_UNIT_MICROSECOND "µs"
|
||||
#define D_UNIT_MILLIAMPERE "mA"
|
||||
#define D_UNIT_MILLIMETER "mm"
|
||||
#define D_UNIT_MILLIMETER_MERCURY "mmHg"
|
||||
#define D_UNIT_MILLISECOND "ms"
|
||||
#define D_UNIT_MINUTE "min"
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define D_PROGRAM_FLASH_SIZE "Μέγεθος προγράμματος στη Flash"
|
||||
#define D_PROGRAM_SIZE "Μέγεθος προγράμματος"
|
||||
#define D_PROJECT "Έργο"
|
||||
#define D_RAIN "Rain"
|
||||
#define D_RECEIVED "Ελήφθη"
|
||||
#define D_RESTART "Επανεκκίνηση"
|
||||
#define D_RESTARTING "Επανεκκινεί"
|
||||
@ -553,6 +554,7 @@
|
||||
#define D_UNIT_MICROMETER "um"
|
||||
#define D_UNIT_MICROSECOND "us"
|
||||
#define D_UNIT_MILLIAMPERE "mA"
|
||||
#define D_UNIT_MILLIMETER "mm"
|
||||
#define D_UNIT_MILLIMETER_MERCURY "mmHg"
|
||||
#define D_UNIT_MILLISECOND "ms"
|
||||
#define D_UNIT_MINUTE "Min"
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define D_PROGRAM_FLASH_SIZE "Program Flash Size"
|
||||
#define D_PROGRAM_SIZE "Program Size"
|
||||
#define D_PROJECT "Project"
|
||||
#define D_RAIN "Rain"
|
||||
#define D_RECEIVED "Received"
|
||||
#define D_RESTART "Restart"
|
||||
#define D_RESTARTING "Restarting"
|
||||
@ -553,6 +554,7 @@
|
||||
#define D_UNIT_MICROMETER "um"
|
||||
#define D_UNIT_MICROSECOND "us"
|
||||
#define D_UNIT_MILLIAMPERE "mA"
|
||||
#define D_UNIT_MILLIMETER "mm"
|
||||
#define D_UNIT_MILLIMETER_MERCURY "mmHg"
|
||||
#define D_UNIT_MILLISECOND "ms"
|
||||
#define D_UNIT_MINUTE "Min"
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define D_PROGRAM_FLASH_SIZE "Tamaño de Flash de Programa"
|
||||
#define D_PROGRAM_SIZE "Tamaño Programa"
|
||||
#define D_PROJECT "Proyecto"
|
||||
#define D_RAIN "Rain"
|
||||
#define D_RECEIVED "Recibido"
|
||||
#define D_RESTART "Reiniciar"
|
||||
#define D_RESTARTING "Reiniciando"
|
||||
@ -553,6 +554,7 @@
|
||||
#define D_UNIT_MICROMETER "um"
|
||||
#define D_UNIT_MICROSECOND "us"
|
||||
#define D_UNIT_MILLIAMPERE "mA"
|
||||
#define D_UNIT_MILLIMETER "mm"
|
||||
#define D_UNIT_MILLIMETER_MERCURY "mmHg"
|
||||
#define D_UNIT_MILLISECOND "ms"
|
||||
#define D_UNIT_MINUTE "Min"
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define D_PROGRAM_FLASH_SIZE "Taille Flash Programme"
|
||||
#define D_PROGRAM_SIZE "Taille programme"
|
||||
#define D_PROJECT "Projet"
|
||||
#define D_RAIN "Plui"
|
||||
#define D_RECEIVED "Reçu"
|
||||
#define D_RESTART "Redémarrage"
|
||||
#define D_RESTARTING "Redémarre"
|
||||
@ -553,6 +554,7 @@
|
||||
#define D_UNIT_MICROMETER "µm"
|
||||
#define D_UNIT_MICROSECOND "µs"
|
||||
#define D_UNIT_MILLIAMPERE "mA"
|
||||
#define D_UNIT_MILLIMETER "mm"
|
||||
#define D_UNIT_MILLIMETER_MERCURY "mmHg"
|
||||
#define D_UNIT_MILLISECOND "ms"
|
||||
#define D_UNIT_MINUTE "Min"
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define D_PROGRAM_FLASH_SIZE "גודל תוכנית פלאש"
|
||||
#define D_PROGRAM_SIZE "גודל תוכנית"
|
||||
#define D_PROJECT "פרויקט"
|
||||
#define D_RAIN "Rain"
|
||||
#define D_RECEIVED "התקבל"
|
||||
#define D_RESTART "איתחול"
|
||||
#define D_RESTARTING "הפעלה מחדש"
|
||||
@ -553,6 +554,7 @@
|
||||
#define D_UNIT_MICROMETER "um"
|
||||
#define D_UNIT_MICROSECOND "us"
|
||||
#define D_UNIT_MILLIAMPERE "mA"
|
||||
#define D_UNIT_MILLIMETER "mm"
|
||||
#define D_UNIT_MILLIMETER_MERCURY "mmHg"
|
||||
#define D_UNIT_MILLISECOND "ms"
|
||||
#define D_UNIT_MINUTE "Min"
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define D_PROGRAM_FLASH_SIZE "Program Flash Méret"
|
||||
#define D_PROGRAM_SIZE "Program Méret"
|
||||
#define D_PROJECT "Projekt"
|
||||
#define D_RAIN "Rain"
|
||||
#define D_RECEIVED "Érkezett"
|
||||
#define D_RESTART "Újraindítás"
|
||||
#define D_RESTARTING "Újraindítás"
|
||||
@ -553,6 +554,7 @@
|
||||
#define D_UNIT_MICROMETER "um"
|
||||
#define D_UNIT_MICROSECOND "µs"
|
||||
#define D_UNIT_MILLIAMPERE "mA"
|
||||
#define D_UNIT_MILLIMETER "mm"
|
||||
#define D_UNIT_MILLIMETER_MERCURY "mmHg"
|
||||
#define D_UNIT_MILLISECOND "ms"
|
||||
#define D_UNIT_MINUTE "p"
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define D_PROGRAM_FLASH_SIZE "Dimensione Flash Programma"
|
||||
#define D_PROGRAM_SIZE "Dimensione Programma"
|
||||
#define D_PROJECT "Progetto"
|
||||
#define D_RAIN "Rain"
|
||||
#define D_RECEIVED "Ricevuto"
|
||||
#define D_RESTART "Riavvio"
|
||||
#define D_RESTARTING "Riavviando"
|
||||
@ -553,6 +554,7 @@
|
||||
#define D_UNIT_MICROMETER "um"
|
||||
#define D_UNIT_MICROSECOND "us"
|
||||
#define D_UNIT_MILLIAMPERE "mA"
|
||||
#define D_UNIT_MILLIMETER "mm"
|
||||
#define D_UNIT_MILLIMETER_MERCURY "mmHg"
|
||||
#define D_UNIT_MILLISECOND "ms"
|
||||
#define D_UNIT_MINUTE "Min"
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define D_PROGRAM_FLASH_SIZE "Programma Flash Grootte"
|
||||
#define D_PROGRAM_SIZE "Programma Grootte"
|
||||
#define D_PROJECT "Project"
|
||||
#define D_RAIN "Regen"
|
||||
#define D_RECEIVED "Ontvangen"
|
||||
#define D_RESTART "Herstart"
|
||||
#define D_RESTARTING "Herstarten"
|
||||
@ -553,6 +554,7 @@
|
||||
#define D_UNIT_MICROMETER "um"
|
||||
#define D_UNIT_MICROSECOND "us"
|
||||
#define D_UNIT_MILLIAMPERE "mA"
|
||||
#define D_UNIT_MILLIMETER "mm"
|
||||
#define D_UNIT_MILLIMETER_MERCURY "mmHg"
|
||||
#define D_UNIT_MILLISECOND "ms"
|
||||
#define D_UNIT_MINUTE "Min"
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define D_PROGRAM_FLASH_SIZE "Wielkość programu flash"
|
||||
#define D_PROGRAM_SIZE "Wielkość programu"
|
||||
#define D_PROJECT "Projekt"
|
||||
#define D_RAIN "Rain"
|
||||
#define D_RECEIVED "Otrzymany"
|
||||
#define D_RESTART "Restart"
|
||||
#define D_RESTARTING "Restartowanie"
|
||||
@ -553,6 +554,7 @@
|
||||
#define D_UNIT_MICROMETER "um"
|
||||
#define D_UNIT_MICROSECOND "us"
|
||||
#define D_UNIT_MILLIAMPERE "mA"
|
||||
#define D_UNIT_MILLIMETER "mm"
|
||||
#define D_UNIT_MILLIMETER_MERCURY "mmHg"
|
||||
#define D_UNIT_MILLISECOND "ms"
|
||||
#define D_UNIT_MINUTE "Min"
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define D_PROGRAM_FLASH_SIZE "Tamanho do programa na memória"
|
||||
#define D_PROGRAM_SIZE "Tamanho do programa"
|
||||
#define D_PROJECT "Projeto"
|
||||
#define D_RAIN "Rain"
|
||||
#define D_RECEIVED "Recebido"
|
||||
#define D_RESTART "Reiniciar"
|
||||
#define D_RESTARTING "Reiniciando"
|
||||
@ -553,6 +554,7 @@
|
||||
#define D_UNIT_MICROMETER "um"
|
||||
#define D_UNIT_MICROSECOND "us"
|
||||
#define D_UNIT_MILLIAMPERE "mA"
|
||||
#define D_UNIT_MILLIMETER "mm"
|
||||
#define D_UNIT_MILLIMETER_MERCURY "mmHg"
|
||||
#define D_UNIT_MILLISECOND "ms"
|
||||
#define D_UNIT_MINUTE "M"
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define D_PROGRAM_FLASH_SIZE "Tamanho do Programa na Flash"
|
||||
#define D_PROGRAM_SIZE "Tamanho do Programa"
|
||||
#define D_PROJECT "Projeto"
|
||||
#define D_RAIN "Rain"
|
||||
#define D_RECEIVED "Recebido"
|
||||
#define D_RESTART "Reiniciar"
|
||||
#define D_RESTARTING "A reiniciar"
|
||||
@ -553,6 +554,7 @@
|
||||
#define D_UNIT_MICROMETER "um"
|
||||
#define D_UNIT_MICROSECOND "us"
|
||||
#define D_UNIT_MILLIAMPERE "mA"
|
||||
#define D_UNIT_MILLIMETER "mm"
|
||||
#define D_UNIT_MILLIMETER_MERCURY "mmHg"
|
||||
#define D_UNIT_MILLISECOND "ms"
|
||||
#define D_UNIT_MINUTE "Min"
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define D_PROGRAM_FLASH_SIZE "Размер Flash для программ"
|
||||
#define D_PROGRAM_SIZE "Размер программы "
|
||||
#define D_PROJECT "Проект"
|
||||
#define D_RAIN "Rain"
|
||||
#define D_RECEIVED "Получено"
|
||||
#define D_RESTART "Перезапуск"
|
||||
#define D_RESTARTING "Перезапуск"
|
||||
@ -553,6 +554,7 @@
|
||||
#define D_UNIT_MICROMETER "мкм"
|
||||
#define D_UNIT_MICROSECOND "мкс"
|
||||
#define D_UNIT_MILLIAMPERE "мА"
|
||||
#define D_UNIT_MILLIMETER "mm"
|
||||
#define D_UNIT_MILLIMETER_MERCURY "мм рт.ст."
|
||||
#define D_UNIT_MILLISECOND "мс"
|
||||
#define D_UNIT_MINUTE "мин"
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define D_PROGRAM_FLASH_SIZE "Program-flashstorlek"
|
||||
#define D_PROGRAM_SIZE "Programstorlek"
|
||||
#define D_PROJECT "Projekt"
|
||||
#define D_RAIN "Rain"
|
||||
#define D_RECEIVED "Mottagen"
|
||||
#define D_RESTART "Omstart"
|
||||
#define D_RESTARTING "Startar om"
|
||||
@ -553,6 +554,7 @@
|
||||
#define D_UNIT_MICROMETER "um"
|
||||
#define D_UNIT_MICROSECOND "us"
|
||||
#define D_UNIT_MILLIAMPERE "mA"
|
||||
#define D_UNIT_MILLIMETER "mm"
|
||||
#define D_UNIT_MILLIMETER_MERCURY "mmHg"
|
||||
#define D_UNIT_MILLISECOND "ms"
|
||||
#define D_UNIT_MINUTE "Min"
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define D_PROGRAM_FLASH_SIZE "Yazılım Flash Boyutu"
|
||||
#define D_PROGRAM_SIZE "Yazılım Boyutu"
|
||||
#define D_PROJECT "Proje"
|
||||
#define D_RAIN "Rain"
|
||||
#define D_RECEIVED "Alınan"
|
||||
#define D_RESTART "Yeniden Başlat"
|
||||
#define D_RESTARTING "Yeniden Başlatılıyor"
|
||||
@ -552,6 +553,7 @@
|
||||
#define D_UNIT_MICROMETER "um"
|
||||
#define D_UNIT_MICROSECOND "us"
|
||||
#define D_UNIT_MILLIAMPERE "mA"
|
||||
#define D_UNIT_MILLIMETER "mm"
|
||||
#define D_UNIT_MILLIMETER_MERCURY "mmHg"
|
||||
#define D_UNIT_MILLISECOND "ms"
|
||||
#define D_UNIT_MINUTE "Min"
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define D_PROGRAM_FLASH_SIZE "Розмір Flash для програм"
|
||||
#define D_PROGRAM_SIZE "Розмір програм "
|
||||
#define D_PROJECT "Проект"
|
||||
#define D_RAIN "Rain"
|
||||
#define D_RECEIVED "Отримано"
|
||||
#define D_RESTART "Перезавантаження"
|
||||
#define D_RESTARTING "Перезавантаження"
|
||||
@ -553,6 +554,7 @@
|
||||
#define D_UNIT_MICROMETER "мкм"
|
||||
#define D_UNIT_MICROSECOND "мкс"
|
||||
#define D_UNIT_MILLIAMPERE "мА"
|
||||
#define D_UNIT_MILLIMETER "mm"
|
||||
#define D_UNIT_MILLIMETER_MERCURY "mmHg"
|
||||
#define D_UNIT_MILLISECOND "мс"
|
||||
#define D_UNIT_MINUTE "хв"
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define D_PROGRAM_FLASH_SIZE "固件 Flash 大小"
|
||||
#define D_PROGRAM_SIZE "固件大小"
|
||||
#define D_PROJECT "项目:"
|
||||
#define D_RAIN "Rain"
|
||||
#define D_RECEIVED "已接收"
|
||||
#define D_RESTART "重启"
|
||||
#define D_RESTARTING "正在重启"
|
||||
@ -552,6 +553,7 @@
|
||||
#define D_UNIT_MICROMETER "微米"
|
||||
#define D_UNIT_MICROSECOND "微秒"
|
||||
#define D_UNIT_MILLIAMPERE "毫安"
|
||||
#define D_UNIT_MILLIMETER "mm"
|
||||
#define D_UNIT_MILLIMETER_MERCURY "mmHg"
|
||||
#define D_UNIT_MILLISECOND "毫秒"
|
||||
#define D_UNIT_MINUTE "分"
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define D_PROGRAM_FLASH_SIZE "韌體 Flash 大小"
|
||||
#define D_PROGRAM_SIZE "韌體大小"
|
||||
#define D_PROJECT "項目:"
|
||||
#define D_RAIN "Rain"
|
||||
#define D_RECEIVED "已接收"
|
||||
#define D_RESTART "重啟"
|
||||
#define D_RESTARTING "正在重啟"
|
||||
@ -553,6 +554,7 @@
|
||||
#define D_UNIT_MICROMETER "微米"
|
||||
#define D_UNIT_MICROSECOND "微秒"
|
||||
#define D_UNIT_MILLIAMPERE "毫安"
|
||||
#define D_UNIT_MILLIMETER "mm"
|
||||
#define D_UNIT_MILLIMETER_MERCURY "mmHg"
|
||||
#define D_UNIT_MILLISECOND "毫秒"
|
||||
#define D_UNIT_MINUTE "分"
|
||||
|
@ -399,9 +399,9 @@
|
||||
|
||||
#define USE_RC_SWITCH // Add support for RF transceiver using library RcSwitch (+2k7 code, 460 iram)
|
||||
|
||||
//#define USE_RF_SENSOR // Add support for RF (434MHz or 868MHz) receiver (+2k code)
|
||||
// #define USE_THEO_V2 // Add support for 434MHz Theo V2 sensors as documented on https://sidweb.nl
|
||||
// #define USE_ALECTO_V2 // Add support for 868MHz Alecto V2 sensors like ACH2010, WS3000 and DKW2012
|
||||
//#define USE_RF_SENSOR // Add support for RF sensor receiver (434MHz or 868MHz) (+0k8 code)
|
||||
// #define USE_THEO_V2 // Add support for decoding Theo V2 sensors as documented on https://sidweb.nl using 434MHz RF sensor receiver (+1k4 code)
|
||||
// #define USE_ALECTO_V2 // Add support for decoding Alecto V2 sensors like ACH2010, WS3000 and DKW2012 using 868MHz RF sensor receiver (+1k7 code)
|
||||
|
||||
/*********************************************************************************************\
|
||||
* Debug features are only supported in development branch
|
||||
|
@ -1328,13 +1328,15 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
||||
0, 0, 0
|
||||
},
|
||||
{ "Manzoku strip", // "MANZOKU" labeled power strip, EU version
|
||||
// https://www.amazon.de/Steckdosenleiste-AOFO-Mehrfachsteckdose-Überspannungsschutz-Sprachsteuerung/dp/B07GBSD11P/
|
||||
// https://www.amazon.de/Steckdosenleiste-Geekbes-USB-Anschluss-Kompatibel-gesteuert/dp/B078W23BW9/
|
||||
0, // GPIO00
|
||||
0, // GPIO01 Serial RXD
|
||||
0,
|
||||
GPIO_KEY1, // GPIO03 Serial TXD + Button
|
||||
GPIO_REL2, // GPIO04 Relay 2
|
||||
GPIO_REL1, // GPIO05 Relay 1
|
||||
0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, // Flash connection
|
||||
GPIO_REL3, // GPIO12 Relay 3
|
||||
GPIO_REL4, // GPIO13 Relay 4
|
||||
GPIO_USER, // GPIO14
|
||||
|
@ -312,7 +312,7 @@ void RfSnsTheoV2Show(boolean json)
|
||||
mqtt_data, sensor, temperature, humidity, voltage);
|
||||
if ((0 == tele_period) && !sensor_once) {
|
||||
#ifdef USE_DOMOTICZ
|
||||
DomoticzTempHumSensor(temperature, humidity);
|
||||
DomoticzTempHumSensor(temperature, humidity); //
|
||||
#endif // USE_DOMOTICZ
|
||||
#ifdef USE_KNX
|
||||
KnxSensor(KNX_TEMPERATURE, temp);
|
||||
@ -384,6 +384,25 @@ void RfSnsTheoV2Show(boolean json)
|
||||
#define RFSNS_ACH2010_MIN_PULSECOUNT 160 // reduce this value (144?) in case of bad reception
|
||||
#define RFSNS_ACH2010_MAX_PULSECOUNT 160
|
||||
|
||||
#define D_ALECTOV2 "AlectoV2"
|
||||
|
||||
const char kAlectoV2Directions[] PROGMEM = D_TX20_NORTH "|"
|
||||
D_TX20_NORTH D_TX20_NORTH D_TX20_EAST "|"
|
||||
D_TX20_NORTH D_TX20_EAST "|"
|
||||
D_TX20_EAST D_TX20_NORTH D_TX20_EAST "|"
|
||||
D_TX20_EAST "|"
|
||||
D_TX20_EAST D_TX20_SOUTH D_TX20_EAST "|"
|
||||
D_TX20_SOUTH D_TX20_EAST "|"
|
||||
D_TX20_SOUTH D_TX20_SOUTH D_TX20_EAST "|"
|
||||
D_TX20_SOUTH "|"
|
||||
D_TX20_SOUTH D_TX20_SOUTH D_TX20_WEST "|"
|
||||
D_TX20_SOUTH D_TX20_WEST "|"
|
||||
D_TX20_WEST D_TX20_SOUTH D_TX20_WEST "|"
|
||||
D_TX20_WEST "|"
|
||||
D_TX20_WEST D_TX20_NORTH D_TX20_WEST "|"
|
||||
D_TX20_NORTH D_TX20_WEST "|"
|
||||
D_TX20_NORTH D_TX20_NORTH D_TX20_WEST;
|
||||
|
||||
typedef struct {
|
||||
uint32_t time;
|
||||
float temp;
|
||||
@ -407,7 +426,7 @@ boolean RfSnsAnalyzeAlectov2()
|
||||
|
||||
byte c = 0;
|
||||
byte rfbit;
|
||||
byte data[9];
|
||||
byte data[9] = { 0 };
|
||||
byte msgtype = 0;
|
||||
byte rc = 0;
|
||||
int temp;
|
||||
@ -447,6 +466,10 @@ boolean RfSnsAnalyzeAlectov2()
|
||||
|
||||
rfsns_raw_signal.Repeats = 1; // het is een herhalend signaal. Bij ontvangst herhalingen onderdukken
|
||||
|
||||
// Test set
|
||||
// rfsns_raw_signal.Number = RFSNS_DKW2012_PULSECOUNT; // DKW2012
|
||||
// data[8] = 11; // WSW
|
||||
|
||||
factor = 1.22; // (1.08)
|
||||
// atime = rfsns_raw_signal.Time - rfsns_alecto_time;
|
||||
// if ((atime > 10000) && (atime < 60000)) factor = (float)60000 / atime;
|
||||
@ -454,7 +477,7 @@ boolean RfSnsAnalyzeAlectov2()
|
||||
// Serial.printf("atime %d, rfsns_alecto_time %d\n", atime, rfsns_alecto_time);
|
||||
|
||||
rfsns_alecto_v2.time = LocalTime();
|
||||
rfsns_alecto_v2.type = (rfsns_raw_signal.Number == RFSNS_DKW2012_PULSECOUNT);
|
||||
rfsns_alecto_v2.type = (RFSNS_DKW2012_PULSECOUNT == rfsns_raw_signal.Number);
|
||||
rfsns_alecto_v2.temp = (float)(((data[1] & 0x3) * 256 + data[2]) - 400) / 10;
|
||||
rfsns_alecto_v2.humi = data[3];
|
||||
uint16_t rain = (data[6] * 256) + data[7];
|
||||
@ -470,7 +493,7 @@ boolean RfSnsAnalyzeAlectov2()
|
||||
rfsns_alecto_v2.wdir = data[8] & 0xf;
|
||||
}
|
||||
|
||||
snprintf_P(log_data, sizeof(log_data), PSTR("RFS: AlectoV2, ChkCalc %d, Chksum %d, rc %d, Temp %d, Hum %d, Rain %d, Wind %d, Gust %d, Dir %d, Factor %s"),
|
||||
snprintf_P(log_data, sizeof(log_data), PSTR("RFS: " D_ALECTOV2 ", ChkCalc %d, Chksum %d, rc %d, Temp %d, Hum %d, Rain %d, Wind %d, Gust %d, Dir %d, Factor %s"),
|
||||
checksumcalc, checksum, rc, ((data[1] & 0x3) * 256 + data[2]) - 400, data[3], (data[6] * 256) + data[7], data[4], data[5], data[8] & 0xf, dtostrfd(factor, 3, buf1));
|
||||
AddLog(LOG_LEVEL_DEBUG);
|
||||
|
||||
@ -505,16 +528,22 @@ uint8_t RfSnsAlectoCRC8(uint8_t *addr, uint8_t len)
|
||||
return crc;
|
||||
}
|
||||
|
||||
#ifdef USE_WEBSERVER
|
||||
const char HTTP_SNS_ALECTOV2[] PROGMEM = "%s"
|
||||
"{s}" D_ALECTOV2 " " D_RAIN "{m}%s " D_UNIT_MILLIMETER "{e}"
|
||||
"{s}" D_ALECTOV2 " " D_TX20_WIND_SPEED "{m}%s " D_UNIT_KILOMETER_PER_HOUR "{e}"
|
||||
"{s}" D_ALECTOV2 " " D_TX20_WIND_SPEED_MAX "{m}%s " D_UNIT_KILOMETER_PER_HOUR "{e}";
|
||||
const char HTTP_SNS_ALECTOV2_WDIR[] PROGMEM = "%s"
|
||||
"{s}" D_ALECTOV2 " " D_TX20_WIND_DIRECTION "{m}%s{e}";
|
||||
#endif
|
||||
|
||||
void RfSnsAlectoV2Show(boolean json)
|
||||
{
|
||||
if (rfsns_alecto_v2.time) {
|
||||
char sensor[10];
|
||||
snprintf_P(sensor, sizeof(sensor), PSTR("AlectoV2"));
|
||||
|
||||
if (rfsns_alecto_v2.time < LocalTime() - RFSNS_VALID_WINDOW) {
|
||||
if (json) {
|
||||
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s,\"%s\":{\"" D_JSON_RFRECEIVED "\":\"%s\"}"),
|
||||
mqtt_data, sensor, GetDT(rfsns_alecto_v2.time).c_str());
|
||||
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s,\"" D_ALECTOV2 "\":{\"" D_JSON_RFRECEIVED "\":\"%s\"}"),
|
||||
mqtt_data, GetDT(rfsns_alecto_v2.time).c_str());
|
||||
}
|
||||
} else {
|
||||
float temp = ConvertTemp(rfsns_alecto_v2.temp);
|
||||
@ -529,23 +558,29 @@ void RfSnsAlectoV2Show(boolean json)
|
||||
dtostrfd(rfsns_alecto_v2.wind, 2, wind);
|
||||
char gust[10];
|
||||
dtostrfd(rfsns_alecto_v2.gust, 2, gust);
|
||||
char wdir[4];
|
||||
char direction[20];
|
||||
if (rfsns_alecto_v2.type) {
|
||||
GetTextIndexed(wdir, sizeof(wdir), rfsns_alecto_v2.wdir, kAlectoV2Directions);
|
||||
snprintf_P(direction, sizeof(direction), PSTR(",\"Direction\":\"%s\""), wdir);
|
||||
}
|
||||
|
||||
if (json) {
|
||||
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s,\"%s\":{\"" D_JSON_TEMPERATURE "\":%s,\"" D_JSON_HUMIDITY "\":%s, \"Rain\":%s,\"Wind\":%s,\"Gust\":%s}"),
|
||||
mqtt_data, sensor, temperature, humidity, rain, wind, gust);
|
||||
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s,\"" D_ALECTOV2 "\":{\"" D_JSON_TEMPERATURE "\":%s,\"" D_JSON_HUMIDITY "\":%s,\"Rain\":%s,\"Wind\":%s,\"Gust\":%s%s}"),
|
||||
mqtt_data, temperature, humidity, rain, wind, gust, (rfsns_alecto_v2.type) ? direction : "");
|
||||
if (0 == tele_period) {
|
||||
#ifdef USE_DOMOTICZ
|
||||
DomoticzTempHumSensor(temperature, humidity);
|
||||
// Use a rule
|
||||
#endif // USE_DOMOTICZ
|
||||
#ifdef USE_KNX
|
||||
// KnxSensor(KNX_TEMPERATURE, temp);
|
||||
// KnxSensor(KNX_HUMIDITY, humi);
|
||||
#endif // USE_KNX
|
||||
}
|
||||
#ifdef USE_WEBSERVER
|
||||
} else {
|
||||
snprintf_P(mqtt_data, sizeof(mqtt_data), HTTP_SNS_TEMP, mqtt_data, sensor, temperature, TempUnit());
|
||||
snprintf_P(mqtt_data, sizeof(mqtt_data), HTTP_SNS_HUM, mqtt_data, sensor, humidity);
|
||||
snprintf_P(mqtt_data, sizeof(mqtt_data), HTTP_SNS_TEMP, mqtt_data, D_ALECTOV2, temperature, TempUnit());
|
||||
snprintf_P(mqtt_data, sizeof(mqtt_data), HTTP_SNS_HUM, mqtt_data, D_ALECTOV2, humidity);
|
||||
snprintf_P(mqtt_data, sizeof(mqtt_data), HTTP_SNS_ALECTOV2, mqtt_data, rain, wind, gust);
|
||||
if (rfsns_alecto_v2.type) {
|
||||
snprintf_P(mqtt_data, sizeof(mqtt_data), HTTP_SNS_ALECTOV2_WDIR, mqtt_data, wdir);
|
||||
}
|
||||
#endif // USE_WEBSERVER
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user