* Move Mppt logic to subclass * Added Definitions for Shunts and restructering * First integration of SmartShunt data into Web Interface * Code cleanup * VE.Direct: whitespace cleanup * VE.Direct: manage HardwareSerial in unique_ptr * VE.Direct: _efficiency is only needed by MPPT * VE.Direct: keep as many members private as possible * VE.Direct: use int8_t for pins (as before) * VictronSmartShunt: _verboseLogging is not used * VE.Direct: OR (off reason) is MPPT specific it also applies to Phoenix inverters and Smart BuckBoost, but since there is no support for those, the code is moved to the MPPT controller. * Added Shunt alarms to liveview Changed from double to int for several readings * Update build.yml to allow manual builds --------- Co-authored-by: Philipp Sandhaus <philipp.sandhaus@cewe.de> Co-authored-by: Bernhard Kirchen <schlimmchen@posteo.net>
24 lines
824 B
C++
24 lines
824 B
C++
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
#pragma once
|
|
|
|
#include <ArduinoJson.h>
|
|
#include "VeDirectMpptController.h"
|
|
|
|
class MqttHandleVedirectHassClass {
|
|
public:
|
|
void init();
|
|
void loop();
|
|
void publishConfig();
|
|
void forceUpdate();
|
|
|
|
private:
|
|
void publish(const String& subtopic, const String& payload);
|
|
void publishBinarySensor(const char* caption, const char* icon, const char* subTopic, const char* payload_on, const char* payload_off);
|
|
void publishSensor(const char* caption, const char* icon, const char* subTopic, const char* deviceClass = NULL, const char* stateClass = NULL, const char* unitOfMeasurement = NULL);
|
|
void createDeviceInfo(JsonObject& object);
|
|
|
|
bool _wasConnected = false;
|
|
bool _updateForced = false;
|
|
};
|
|
|
|
extern MqttHandleVedirectHassClass MqttHandleVedirectHass; |