From d6dfe6dc1a47c0d42d75a150549730d2183cd1b9 Mon Sep 17 00:00:00 2001
From: DanielR92 <DanielR92@users.noreply.github.com>
Date: Wed, 19 Oct 2022 20:05:47 +0200
Subject: [PATCH] isProducing readable with todo

---
 tools/esp8266/app.cpp | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/tools/esp8266/app.cpp b/tools/esp8266/app.cpp
index fb747e6c..4d96c8ee 100644
--- a/tools/esp8266/app.cpp
+++ b/tools/esp8266/app.cpp
@@ -412,22 +412,27 @@ void app::processPayload(bool retransmit) {
                                                 }
                                             }
                                            
-                                            if(iv->isProducing(mTimestamp, rec)){
-                                                snprintf(topic, 32 + MAX_NAME_LENGTH, "%s/available_text", iv->name);
+                                            // Todo: make this section nice to read.
+                                            snprintf(topic, 32 + MAX_NAME_LENGTH, "%s/available_text", iv->name);
+
+                                            if(iv->isProducing(mTimestamp, rec))
+                                            {
                                                 snprintf(val, 32, DEF_MQTT_IV_MESSAGE_INVERTER_AVAIL_AND_PRODUCED);
                                                 mMqtt.sendMsg(topic, val);
+
                                                 snprintf(topic, 32 + MAX_NAME_LENGTH, "%s/available", iv->name);
                                                 snprintf(val, 32, "2");
-                                                mMqtt.sendMsg(topic, val);
                                             } else {
-                                                snprintf(topic, 32 + MAX_NAME_LENGTH, "%s/available_text", iv->name);
                                                 snprintf(val, 32, DEF_MQTT_IV_MESSAGE_INVERTER_AVAIL_AND_NOT_PRODUCED);
                                                 mMqtt.sendMsg(topic, val);
+
                                                 snprintf(topic, 32 + MAX_NAME_LENGTH, "%s/available", iv->name);
                                                 snprintf(val, 32, "1");
-                                                mMqtt.sendMsg(topic, val);
                                             }
 
+                                            mMqtt.sendMsg(topic, val);
+
+
                                             snprintf(topic, 32 + MAX_NAME_LENGTH, "%s/last_success", iv->name);
                                             snprintf(val, 48, "%i", iv->getLastTs(rec) * 1000);
                                             mMqtt.sendMsg(topic, val);
@@ -518,7 +523,7 @@ void app::cbMqtt(char* topic, byte* payload, unsigned int length) {
                     if (!iv->devControlRequest) // still pending
                     { 
                         token = strtok(NULL, "/");
-                        
+
                         switch ( std::stoi(token) )
                         {
                             // Active Power Control