Publish string names via MQTT
This commit is contained in:
parent
d0d8be9c05
commit
134db887c0
@ -98,6 +98,7 @@ public:
|
|||||||
CONFIG_T& get();
|
CONFIG_T& get();
|
||||||
|
|
||||||
INVERTER_CONFIG_T* getFreeInverterSlot();
|
INVERTER_CONFIG_T* getFreeInverterSlot();
|
||||||
|
INVERTER_CONFIG_T* getInverterConfig(uint64_t serial);
|
||||||
};
|
};
|
||||||
|
|
||||||
extern ConfigurationClass Configuration;
|
extern ConfigurationClass Configuration;
|
||||||
@ -264,4 +264,15 @@ INVERTER_CONFIG_T* ConfigurationClass::getFreeInverterSlot()
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
INVERTER_CONFIG_T* ConfigurationClass::getInverterConfig(uint64_t serial)
|
||||||
|
{
|
||||||
|
for (uint8_t i = 0; i < INV_MAX_COUNT; i++) {
|
||||||
|
if (config.Inverter[i].Serial == serial) {
|
||||||
|
return &config.Inverter[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
ConfigurationClass Configuration;
|
ConfigurationClass Configuration;
|
||||||
@ -83,6 +83,12 @@ void MqttPublishingClass::loop()
|
|||||||
|
|
||||||
// Loop all channels
|
// Loop all channels
|
||||||
for (uint8_t c = 0; c <= inv->Statistics()->getChannelCount(); c++) {
|
for (uint8_t c = 0; c <= inv->Statistics()->getChannelCount(); c++) {
|
||||||
|
if (c > 0) {
|
||||||
|
INVERTER_CONFIG_T* inv_cfg = Configuration.getInverterConfig(inv->serial());
|
||||||
|
if (inv_cfg != nullptr) {
|
||||||
|
MqttSettings.publish(inv->serialString() + "/" + String(c) + "/name", inv_cfg->channel[c - 1].Name);
|
||||||
|
}
|
||||||
|
}
|
||||||
for (uint8_t f = 0; f < sizeof(_publishFields); f++) {
|
for (uint8_t f = 0; f < sizeof(_publishFields); f++) {
|
||||||
publishField(inv, c, _publishFields[f]);
|
publishField(inv, c, _publishFields[f]);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user