diebietse / invertergui Goto Github PK
View Code? Open in Web Editor NEWA simple Go based monitoring tool for Victron Multiplus devices
License: BSD 3-Clause "New" or "Revised" License
A simple Go based monitoring tool for Victron Multiplus devices
License: BSD 3-Clause "New" or "Revised" License
Is there a way (or is it possible to add one) for invertergui to read events from a Victron inverter "NS protection log" (please see attached screen).
This is available on VEConfig3 under the "Grid" tab by pressing the "Show IP (NS) protection log", and is very very useful to diagnose why the heck the inverter turned its mains input off (usually because it went out of acceptable voltage and/or frequency range). I use it all the time while I'm tuning my new generator and the inverter config to work smoothly with each other, and it's a PITA to take the cable out of my RPi4 (where I run invertergui) and plug it into my PC where I have VEConfig3 installed.
It would be great if invertergui could monitor this log either periodically (like once a minute) or on demand, and dump any new events either to stdout or (even better) log it to syslog and/or MQTT.
Please let me know if I can be of any help, for example capturing traffic on the MK3 USB port when the button is pressed in VEConfig3.
Hello, i had successfully build and run invertergui both from source or direct from docker ready image.
I am able to see correct my stats via / , /metrics , /munin
I do not understand how to use Prometheus and Grafana to see more beautiful webpage.
The manual says:
The Prometheus endpoint is at the default /metrics path (http://localhost:8080/metrics).
Sample Prometheus yaml entry:
But is is not clear where to create that yaml, what should be the name and other information.
Also this line is not very helpful too:
"This repos includes a Grafana dashboard in the grafana folder that you can import. This is useful if you are using prometheus to log your data and want to display it in a nice way."
If you can guid me how to import that folder and see more good webpage.
Hi H van Wyk, I wanted to let you know that I have added a link to this project on http://www.victronenergy.com/live/opensource:start.
Very cool that you are doing this!
If you feel it should be different, let me know. Or even better: make an account on our live pages, and make the change yourself.
Best, Matthijs
Hello, I downloaded the latest version of the branch on my raspberry pi 3 and it works, but we have not managed to make it work the right way.
I get the wrong values
multigraph in_batvolt
volt.value 0.00
multigraph in_batcharge
charge.value 0.00
multigraph in_batcurrent
current.value 0.00
multigraph in_batpower
power.value 0.00
multigraph in_mainscurrent
currentin.value 128.59
currentout.value -12.48
multigraph in_mainsvoltage
voltagein.value 207.35
voltageout.value 207.35
multigraph in_mainspower
powerin.value 26662.97
powerout.value -2586.85
multigraph in_mainsfreq
freqin.value 0.36
freqout.value 1.10
Is there any way to ask the investor only the securities I need?
For example, I want to consult only currents and the actual power, I see that with winmon commands you can query variables.
I was thinking of using py.serial by querying the current snapshot in the format indicated in the document (04 FF 'A' 01 00 BB), I have been reading but I still do not know if I am doing the right thing.
I assume the format is fine, but I don't want to fail my inverter when testing.
I don't quite understand how to make my new consultation to bring these values that I tell you.
Saludos my friend and thanks for your contribution
Firstly, let me state that this project is awesome. I am excited about collecting the metrics with Prometheus.
I have an issue with my Victron MultiPlus 24V/3000 using this software. It seems out output the incorrect current and voltage values for outputs when the system is not under load. I am using a MK2 USB adapter.
Example is how it normally looks when not under load:
But every few refreshes it will give the correct value:
When placed under load, it seems to work just fine. Is this something you've seen before?
Thanks
Hi, I downloaded this repository in my raspberrypi (os architecture: armv7l), built the image from the Dockerfile at https://github.com/diebietse/invertergui/ and got this error
pi@device:~ $ docker run -it --device /dev/ttyUSB2:/dev/ttyUSB0 -p 8080:8080 invertergui
INFO[0000] Starting invertergui ctx=inverter-gui
INFO[0000] Invertergui web server starting on: :8080 ctx=inverter-gui
2020/09/07 17:38:57 Locked
2020/09/07 17:38:59 Get scaling factors.
panic: runtime error: index out of range [2] with length 2
goroutine 23 [running]:
github.com/diebietse/invertergui/mk2driver.(*mk2Ser).scaleDecode(0x1d14080, 0x1d80002, 0x2, 0xfe)
/build/mk2driver/mk2.go:182 +0x1a8
github.com/diebietse/invertergui/mk2driver.(*mk2Ser).handleFrame(0x1d14080, 0x1c9ed03, 0x1d80000, 0x4, 0x100)
/build/mk2driver/mk2.go:139 +0x16c
github.com/diebietse/invertergui/mk2driver.(*mk2Ser).frameLocker(0x1d14080)
/build/mk2driver/mk2.go:66 +0x2ec
created by github.com/diebietse/invertergui/mk2driver.NewMk2Connection
/build/mk2driver/mk2.go:40 +0x158
(btw i'm using /dev/ttyUSB2:/dev/ttyUSB0 since my mk2 is connected to /dev/ttyUSB2).
I'm asumming i'ts an architecture compatailibty problem, since this container image was meant for amd64 and i'm using armv7l, and because of that, it cant decode the values correctly.
Is there a way to make it work? maybe changing the hex values it's using on the decode part might help, but i'm clueless on how to do it.
Hi,
I have purchased a Victron inverter/charger (MultiPlus 1600VA, 12V Inverter Charger - 1.3kW) and their MK3 USB interface (VE.Bus to USB). I am trying to get your super nice GUI to work with my Multiplus and RPi 4.
I am an experienced python (data science) user, but new to RPi and other programming languages, so apologies if this is a really basic problem.
I have cloned the repository and installed all of the dependencies (i think), then I get stuck at the following and dont know where to go from here:
pi@raspberrypi:~/invertergui $ docker run --name invertergui --device /dev/ttyUSB0:/dev/ttyUSB0 -p 8080:8080 diebietse/invertergui
docker: Error response from daemon: Conflict. The container name "/invertergui" is already in use by container "d0adb7a565d8e3cd6e80a6bac6850e2357016be4bc76b3488f3283f7ffa984e6". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.
Hi,
just pulled latest master here. previously was using branch for 'scalefixes', now I saw it was merged so I switched back to master.
However now I cannot build:
root@raspberrypi:~/invertergui# git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
root@raspberrypi:~/invertergui# docker build /root/invertergui/
Sending build context to Docker daemon 16.21MB
Step 1/14 : FROM golang:alpine as builder
---> fb7d6f0a68ad
Step 2/14 : RUN apk add git
---> Using cache
---> 30d341c7caec
Step 3/14 : RUN mkdir /build
---> Using cache
---> 0255b830279c
Step 4/14 : COPY . /build/
---> 5cc8f5b0e029
Step 5/14 : WORKDIR /build
---> Running in 4591237d2922
Removing intermediate container 4591237d2922
---> c082a678ea25
Step 6/14 : RUN go build -o invertergui ./cmd/invertergui
---> Running in 7fee8472f07a
plugins/webui/static/binary.go:4:2: cannot find package "." in:
/build/vendor/embed
The command '/bin/sh -c go build -o invertergui ./cmd/invertergui' returned a non-zero code: 1
any idea?
Hello,
is it possible to pass some flag 1/0 to force victron multiplus stop using batteries and later start using batteries ? The idea
is to make it remove switch to AC power and return back to batteries.
The munin output code sends a pointer to a struct over a channel and the immediately writes to that struct at
invertergui/plugins/munin/munin.go
Line 125 in 55ae241
This causes a race condition and can cause corruption in the munin output. https://github.com/diebietse/invertergui/tree/scalefixes should fix this issue.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.