HASS gateway Discovery improvements (#792)
* MQTT discovery improvements -remove gatewayBT -remove device class formaldehyde (not existing in HASS) -add SYStoMQTT new parameters -attach connectivity parameter to the device -add BT gateway infos and switches -refactor modules storage and publication
This commit is contained in:
1 parent
cabc8695eb
commit
9a66c9ef09
7 files changed
+136
-104
No files matched your search
+34
-84
@@ -48,10 +48,14 @@ ReceivedSignal receivedSignal[struct_size] = {{0, 0}, {0, 0}, {0, 0}, {0, 0}};
|
||||
unsigned long timer_sys_measures = 0;
|
||||
# define ARDUINOJSON_USE_LONG_LONG 1
|
||||
#endif
|
||||
|
||||
#include <ArduinoJson.h>
|
||||
#include <ArduinoLog.h>
|
||||
#include <PubSubClient.h>
|
||||
|
||||
StaticJsonBuffer<JSON_MSG_BUFFER> modulesBuffer;
|
||||
JsonArray& modules = modulesBuffer.createArray();
|
||||
|
||||
// Modules config inclusion
|
||||
#if defined(ZgatewayRF) || defined(ZgatewayRF2) || defined(ZgatewayPilight)
|
||||
# include "config_RF.h"
|
||||
@@ -592,81 +596,110 @@ void setup() {
|
||||
|
||||
#ifdef ZsensorBME280
|
||||
setupZsensorBME280();
|
||||
modules.add(ZsensorBME280);
|
||||
#endif
|
||||
#ifdef ZsensorHTU21
|
||||
setupZsensorHTU21();
|
||||
modules.add(ZsensorHTU21);
|
||||
#endif
|
||||
#ifdef ZsensorAHTx0
|
||||
setupZsensorAHTx0();
|
||||
modules.add(ZsensorAHTx0);
|
||||
#endif
|
||||
#ifdef ZsensorBH1750
|
||||
setupZsensorBH1750();
|
||||
modules.add(ZsensorBH1750);
|
||||
#endif
|
||||
#ifdef ZsensorTSL2561
|
||||
setupZsensorTSL2561();
|
||||
modules.add(ZsensorTSL2561);
|
||||
#endif
|
||||
#ifdef Zgateway2G
|
||||
setup2G();
|
||||
modules.add(Zgateway2G);
|
||||
#endif
|
||||
#ifdef ZgatewayIR
|
||||
setupIR();
|
||||
modules.add(ZgatewayIR);
|
||||
#endif
|
||||
#ifdef ZgatewayLORA
|
||||
setupLORA();
|
||||
modules.add(ZgatewayLORA);
|
||||
#endif
|
||||
#ifdef ZgatewayRF
|
||||
setupRF();
|
||||
modules.add(ZgatewayRF);
|
||||
#endif
|
||||
#ifdef ZgatewayRF2
|
||||
setupRF2();
|
||||
modules.add(ZgatewayRF2);
|
||||
#endif
|
||||
#ifdef ZgatewayPilight
|
||||
setupPilight();
|
||||
modules.add(ZgatewayPilight);
|
||||
#endif
|
||||
#ifdef ZgatewayWeatherStation
|
||||
setupWeatherStation();
|
||||
modules.add(ZgatewayWeatherStation);
|
||||
#endif
|
||||
#ifdef ZgatewaySRFB
|
||||
setupSRFB();
|
||||
modules.add(ZgatewaySRFB);
|
||||
#endif
|
||||
#ifdef ZgatewayBT
|
||||
setupBT();
|
||||
modules.add(ZgatewayBT);
|
||||
#endif
|
||||
#ifdef ZgatewayRFM69
|
||||
setupRFM69();
|
||||
modules.add(ZgatewayRFM69);
|
||||
#endif
|
||||
#ifdef ZsensorINA226
|
||||
setupINA226();
|
||||
modules.add(ZsensorINA226);
|
||||
#endif
|
||||
#ifdef ZsensorHCSR501
|
||||
setupHCSR501();
|
||||
modules.add(ZsensorHCSR501);
|
||||
#endif
|
||||
#ifdef ZsensorHCSR04
|
||||
setupHCSR04();
|
||||
modules.add(ZsensorHCSR04);
|
||||
#endif
|
||||
#ifdef ZsensorGPIOInput
|
||||
setupGPIOInput();
|
||||
modules.add(ZsensorGPIOInput);
|
||||
#endif
|
||||
#ifdef ZsensorGPIOKeyCode
|
||||
setupGPIOKeyCode();
|
||||
modules.add(ZsensorGPIOKeyCode);
|
||||
#endif
|
||||
#ifdef ZactuatorFASTLED
|
||||
setupFASTLED();
|
||||
modules.add(ZactuatorFASTLED);
|
||||
#endif
|
||||
#ifdef ZactuatorPWM
|
||||
setupPWM();
|
||||
modules.add(ZactuatorPWM);
|
||||
#endif
|
||||
#ifdef ZsensorDS1820
|
||||
setupZsensorDS1820();
|
||||
modules.add(ZsensorDS1820);
|
||||
#endif
|
||||
#ifdef ZsensorADC
|
||||
setupADC();
|
||||
modules.add(ZsensorADC);
|
||||
#endif
|
||||
#ifdef ZsensorDHT
|
||||
setupDHT();
|
||||
modules.add(ZsensorDHT);
|
||||
#endif
|
||||
#ifdef ZgatewayRS232
|
||||
setupRS232();
|
||||
modules.add(ZgatewayRS232);
|
||||
#endif
|
||||
#ifdef ZmqttDiscovery
|
||||
modules.add(ZmqttDiscovery);
|
||||
#endif
|
||||
Log.trace(F("mqtt_max_packet_size: %d" CR), mqtt_max_packet_size);
|
||||
Log.notice(F("Setup OpenMQTTGateway end" CR));
|
||||
@@ -1337,94 +1370,14 @@ void stateMeasures() {
|
||||
SYSdata["mac"] = (char*)mac.c_str();
|
||||
SYSdata["wifiprt"] = (int)wifiProtocol;
|
||||
# endif
|
||||
# endif
|
||||
String modules = "";
|
||||
# ifdef ZgatewayRF
|
||||
modules = modules + ZgatewayRF;
|
||||
# endif
|
||||
# ifdef ZsensorBME280
|
||||
modules = modules + ZsensorBME280;
|
||||
# endif
|
||||
# ifdef ZsensorHTU21
|
||||
modules = modules + ZsensorHTU21;
|
||||
# endif
|
||||
# ifdef ZsensorAHTx0
|
||||
modules = modules + ZsensorAHTx0;
|
||||
# endif
|
||||
# ifdef ZsensorHCSR04
|
||||
modules = modules + ZsensorHCSR04;
|
||||
# endif
|
||||
# ifdef ZsensorBH1750
|
||||
modules = modules + ZsensorBH1750;
|
||||
# endif
|
||||
# ifdef ZsensorTSL2561
|
||||
modules = modules + ZsensorTSL2561;
|
||||
# endif
|
||||
# ifdef ZsensorDHT
|
||||
modules = modules + ZsensorDHT;
|
||||
# endif
|
||||
# ifdef ZsensorDS1820
|
||||
modules = modules + ZsensorDS1820;
|
||||
# endif
|
||||
# ifdef ZactuatorONOFF
|
||||
modules = modules + ZactuatorONOFF;
|
||||
# endif
|
||||
# ifdef Zgateway2G
|
||||
modules = modules + Zgateway2G;
|
||||
# endif
|
||||
# ifdef ZgatewayIR
|
||||
modules = modules + ZgatewayIR;
|
||||
# endif
|
||||
# ifdef ZgatewayLORA
|
||||
modules = modules + ZgatewayLORA;
|
||||
# endif
|
||||
# ifdef ZgatewayRF2
|
||||
modules = modules + ZgatewayRF2;
|
||||
# endif
|
||||
# ifdef ZgatewayWeatherStation
|
||||
modules = modules + ZgatewayWeatherStation;
|
||||
# endif
|
||||
# ifdef ZgatewayPilight
|
||||
modules = modules + ZgatewayPilight;
|
||||
# endif
|
||||
# ifdef ZgatewaySRFB
|
||||
modules = modules + ZgatewaySRFB;
|
||||
# endif
|
||||
# ifdef ZgatewayBT
|
||||
modules = modules + ZgatewayBT;
|
||||
# ifdef ESP32
|
||||
SYSdata["lowpowermode"] = (int)low_power_mode;
|
||||
# endif
|
||||
SYSdata["interval"] = BLEinterval;
|
||||
SYSdata["scanbcnct"] = BLEscanBeforeConnect;
|
||||
# endif
|
||||
# ifdef ZgatewayRFM69
|
||||
modules = modules + ZgatewayRFM69;
|
||||
# endif
|
||||
# ifdef ZsensorINA226
|
||||
modules = modules + ZsensorINA226;
|
||||
# endif
|
||||
# ifdef ZsensorHCSR501
|
||||
modules = modules + ZsensorHCSR501;
|
||||
# endif
|
||||
# ifdef ZsensorGPIOInput
|
||||
modules = modules + ZsensorGPIOInput;
|
||||
# endif
|
||||
# ifdef ZsensorGPIOKeyCode
|
||||
modules = modules + ZsensorGPIOKeyCode;
|
||||
# endif
|
||||
# ifdef ZsensorGPIOKeyCode
|
||||
modules = modules + ZsensorGPIOKeyCode;
|
||||
# endif
|
||||
# ifdef ZmqttDiscovery
|
||||
modules = modules + ZmqttDiscovery;
|
||||
# endif
|
||||
# ifdef ZactuatorFASTLED
|
||||
modules = modules + ZactuatorFASTLED;
|
||||
# endif
|
||||
# ifdef ZactuatorPWM
|
||||
modules = modules + ZactuatorPWM;
|
||||
# endif
|
||||
# ifdef ZboardM5STACK
|
||||
M5.Power.begin();
|
||||
SYSdata["m5-batt-level"] = (int8_t)M5.Power.getBatteryLevel();
|
||||
@@ -1444,10 +1397,7 @@ void stateMeasures() {
|
||||
SYSdata["m5-bat-chargecurrent"] = (float)M5.Axp.GetBatChargeCurrent();
|
||||
SYSdata["m5-aps-voltage"] = (float)M5.Axp.GetAPSVoltage();
|
||||
# endif
|
||||
# ifdef ZGatewayRS232
|
||||
modules = modules + ZGatewayRS232;
|
||||
# endif
|
||||
SYSdata["modules"] = modules;
|
||||
SYSdata.set("modules", modules);
|
||||
pub(subjectSYStoMQTT, SYSdata);
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in new issue
Block a user