Skip to content

Commit f0a55ea

Browse files
committed
Merge branch 'development'
2 parents ae39232 + 4ee49a6 commit f0a55ea

28 files changed

+759
-378
lines changed

include/BatteryStats.h

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include "AsyncJson.h"
77
#include "Arduino.h"
88
#include "JkBmsDataPoints.h"
9+
#include "VeDirectShuntController.h"
910

1011
// mandatory interface for all kinds of batteries
1112
class BatteryStats {
@@ -98,3 +99,27 @@ class JkBmsBatteryStats : public BatteryStats {
9899
mutable uint32_t _lastMqttPublish = 0;
99100
mutable uint32_t _lastFullMqttPublish = 0;
100101
};
102+
103+
class VictronSmartShuntStats : public BatteryStats {
104+
public:
105+
void getLiveViewData(JsonVariant& root) const final;
106+
void mqttPublish() const final;
107+
108+
void updateFrom(VeDirectShuntController::veShuntStruct const& shuntData);
109+
110+
private:
111+
float _voltage;
112+
float _current;
113+
float _temperature;
114+
uint8_t _chargeCycles;
115+
uint32_t _timeToGo;
116+
float _chargedEnergy;
117+
float _dischargedEnergy;
118+
String _modelName;
119+
120+
bool _alarmLowVoltage;
121+
bool _alarmHighVoltage;
122+
bool _alarmLowSOC;
123+
bool _alarmLowTemperature;
124+
bool _alarmHighTemperature;
125+
};

include/MqttHandleVedirect.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// SPDX-License-Identifier: GPL-2.0-or-later
22
#pragma once
33

4-
#include "VeDirectFrameHandler.h"
4+
#include "VeDirectMpptController.h"
55
#include "Configuration.h"
66
#include <Arduino.h>
77

@@ -18,7 +18,8 @@ class MqttHandleVedirectClass {
1818
void init();
1919
void loop();
2020
private:
21-
veStruct _kvFrame{};
21+
22+
VeDirectMpptController::veMpptStruct _kvFrame{};
2223

2324
// point of time in millis() when updated values will be published
2425
uint32_t _nextPublishUpdatesOnly = 0;

include/MqttHandleVedirectHass.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#pragma once
33

44
#include <ArduinoJson.h>
5-
#include "VeDirectFrameHandler.h"
5+
#include "VeDirectMpptController.h"
66

77
class MqttHandleVedirectHassClass {
88
public:

include/VictronSmartShunt.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// SPDX-License-Identifier: GPL-2.0-or-later
2+
#pragma once
3+
4+
#include "Battery.h"
5+
6+
class VictronSmartShunt : public BatteryProvider {
7+
public:
8+
bool init(bool verboseLogging) final;
9+
void deinit() final { }
10+
void loop() final;
11+
std::shared_ptr<BatteryStats> getStats() const final { return _stats; }
12+
13+
private:
14+
std::shared_ptr<VictronSmartShuntStats> _stats =
15+
std::make_shared<VictronSmartShuntStats>();
16+
};

include/WebApi_ws_vedirect_live.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
#include "ArduinoJson.h"
55
#include <ESPAsyncWebServer.h>
6-
#include <VeDirectFrameHandler.h>
6+
#include <VeDirectMpptController.h>
77

88
class WebApiWsVedirectLiveClass {
99
public:

0 commit comments

Comments
 (0)