Publish string names via MQTT
This commit is contained in:
parent
d0d8be9c05
commit
134db887c0
@ -98,6 +98,7 @@ public:
|
||||
CONFIG_T& get();
|
||||
|
||||
INVERTER_CONFIG_T* getFreeInverterSlot();
|
||||
INVERTER_CONFIG_T* getInverterConfig(uint64_t serial);
|
||||
};
|
||||
|
||||
extern ConfigurationClass Configuration;
|
||||
@ -264,4 +264,15 @@ INVERTER_CONFIG_T* ConfigurationClass::getFreeInverterSlot()
|
||||
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;
|
||||
@ -83,6 +83,12 @@ void MqttPublishingClass::loop()
|
||||
|
||||
// Loop all channels
|
||||
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++) {
|
||||
publishField(inv, c, _publishFields[f]);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user