fix example config, cpp errors, tested with voltronic 5000 and qpiri 102
This commit is contained in:
@@ -21,3 +21,7 @@ amperage_factor=1.0
|
|||||||
# This allos you to modify the wattage in case the inverter is giving an incorrect
|
# This allos you to modify the wattage in case the inverter is giving an incorrect
|
||||||
# reading compared to measurement tools. Normally this will remain '1'
|
# reading compared to measurement tools. Normally this will remain '1'
|
||||||
watt_factor=1.01
|
watt_factor=1.01
|
||||||
|
|
||||||
|
# This allows you to modify the buffersize for the qpiri command
|
||||||
|
# as mentioned in https://github.com/ned-kelly/docker-voltronic-homeassistant/issues/5
|
||||||
|
qpiri=97
|
||||||
|
|||||||
@@ -9,12 +9,13 @@
|
|||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <termios.h>
|
#include <termios.h>
|
||||||
|
|
||||||
cInverter::cInverter(std::string devicename) {
|
cInverter::cInverter(std::string devicename, int qpiri) {
|
||||||
device = devicename;
|
device = devicename;
|
||||||
status1[0] = 0;
|
status1[0] = 0;
|
||||||
status2[0] = 0;
|
status2[0] = 0;
|
||||||
warnings[0] = 0;
|
warnings[0] = 0;
|
||||||
mode = 0;
|
mode = 0;
|
||||||
|
qpiri = qpiri;
|
||||||
}
|
}
|
||||||
|
|
||||||
string *cInverter::GetQpigsStatus() {
|
string *cInverter::GetQpigsStatus() {
|
||||||
@@ -153,6 +154,7 @@ bool cInverter::query(const char *cmd, int replysize) {
|
|||||||
|
|
||||||
void cInverter::poll() {
|
void cInverter::poll() {
|
||||||
int n,j;
|
int n,j;
|
||||||
|
extern const int qpiri;
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ class cInverter {
|
|||||||
uint16_t cal_crc_half(uint8_t *pin, uint8_t len);
|
uint16_t cal_crc_half(uint8_t *pin, uint8_t len);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
cInverter(std::string devicename);
|
cInverter(std::string devicename, int qpiri);
|
||||||
void poll();
|
void poll();
|
||||||
void runMultiThread() {
|
void runMultiThread() {
|
||||||
std::thread t1(&cInverter::poll, this);
|
std::thread t1(&cInverter::poll, this);
|
||||||
@@ -34,8 +34,6 @@ class cInverter {
|
|||||||
string *GetQpigsStatus();
|
string *GetQpigsStatus();
|
||||||
string *GetWarnings();
|
string *GetWarnings();
|
||||||
|
|
||||||
int qpiri;
|
|
||||||
|
|
||||||
int GetMode();
|
int GetMode();
|
||||||
void ExecuteCmd(const std::string cmd);
|
void ExecuteCmd(const std::string cmd);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -174,7 +174,7 @@ int main(int argc, char* argv[]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool ups_status_changed(false);
|
bool ups_status_changed(false);
|
||||||
ups = new cInverter(devicename);
|
ups = new cInverter(devicename,qpiri);
|
||||||
|
|
||||||
// Logic to send 'raw commands' to the inverter..
|
// Logic to send 'raw commands' to the inverter..
|
||||||
if (!rawcmd.empty()) {
|
if (!rawcmd.empty()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user