From 24fcc1addd409cac944ecc0b41c9794609afe88a Mon Sep 17 00:00:00 2001 From: David Date: Tue, 28 May 2019 14:58:01 +1000 Subject: [PATCH] update readme --- .DS_Store | Bin 6148 -> 8196 bytes README.md | 69 ++++++++++++++++++++++++++++++++- docker-compose.yml | 4 +- images/mqtt-publish-packet.png | Bin 0 -> 50254 bytes 4 files changed, 71 insertions(+), 2 deletions(-) create mode 100644 images/mqtt-publish-packet.png diff --git a/.DS_Store b/.DS_Store index 5b11eb24e5a7eded955e315dd3d0b312283aebe1..1f3c6227da8c2956ea9d69166b9dd61633820c17 100644 GIT binary patch literal 8196 zcmeHMTWl0n822`K!XeZ9jEIYGX zpwv{2MvcLENlZkeLEkXpiNyGziT9}S5*rm0jfrnQ8Q+ZY@}G02O$cFyGgbhfQNLp|0w3Y)><7BfG%; z*pO-K&Sa;Pvvrq`b4c?hD3(u@P-~{9T3WX^L|fWo(+$z7rsk&BhUkvA*6C?ks;Y0= z-8+^(eP-(H^!?9^6{G*wfQkYH&hzCjSfw@I)Sq(FnFW4Vp_3xmNYD(YE{}Lb-z567ibFQE@h8Y zi4F2FZCRSu=?Zm6xJyz$lt$Uy2Q=5~%NRCI&sNt{8xD^!eTS|ax+F<;@eN|HISg`L zJmzn`1U0aQPM^JSjOd?%hu{e~2T#Izcoi%}aTLc;!*R^uNp#V}v-mJRf{)?j z_zb>)FXBu1GG4;h@ojtu-^KUvQ~VNV#r=imD1C4NRjG^LQBz1+|G^E7E=Ji%&t1yi ze}}SH$^=huTD5v@-G;{I)?FR*TUoGs3yH+JBgnx?Ge-)(g;z6C5L$^061R*~#dxhQ zV=R(pnRjh85>Xj_#O3;Wx(pG+#pT9L5k*}>{FS-$maR%eT}o6H)|PFGqLvVsg|)4n ztfj%$|m2;LHq)$ diff --git a/README.md b/README.md index 249dc4b..4db2a6c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## A Docker based Home Assistant interface for Voltronic Solar Inverters +# A Docker based Home Assistant interface for Voltronic Solar Inverters This project [was derived](https://github.com/leithhobson/skymax-demo-Original) from the 'skymax' [C based monitoring application](https://skyboo.net/2017/03/monitoring-voltronic-power-axpert-mex-inverter-under-linux/) designed to take the monitoring data from Voltronic, Axpert, Mppsolar PIP, Voltacon, Effekta, and other branded OEM Inverters and send it to a Home Assistant MQTT server for ingestion... @@ -10,4 +10,71 @@ The program is designed to be run in a Docker Container, and can be deployed on ---- +**Docker Hub:** [`bushrangers/ha-voltronic-mqtt`](https://hub.docker.com/r/bushrangers/ha-voltronic-mqtt/) +![License](https://img.shields.io/github/license/ned-kelly/ha-monitor-api.svg) ![Docker Pulls](https://img.shields.io/docker/pulls/bushrangers/ha-monitor-api.png) + +## Prerequisites + +- Docker +- Docker-compose +- [Voltronic](https://www.ebay.com.au/sch/i.html?_from=R40&_trksid=p2334524.m570.l1313.TR11.TRC1.A0.H0.Xaxpert+inverter.TRS0&_nkw=axpert+inverter&_sacat=0&LH_TitleDesc=0&LH_PrefLoc=2&_osacat=0&_odkw=solar+inverter&LH_TitleDesc=0) based inverter that you want to monitor +- Home Assistant [running with a MQTT Server](https://www.home-assistant.io/components/mqtt/) + + +## Configuration & Standing Up + +It's pretty straightforward, just clone down the sources and set the configuration files in the `config/` directory: + +```bash +# Clone down sources on the host you want to monitor... +git clone https://github.com/ned-kelly/docker-voltronic-homeassistant.git /opt/ha-voltronic-mqtt +cd /opt/ha-voltronic-mqtt + +# Configure the 'device=' directive (in skymax.conf) to suit for RS232 or USB..  +vi config/skymax.conf + +# Configure your MQTT server host, port, Home Assistant topic, and name of the Inverter that you want displayed in Home Assistant. +vi config/mqtt.json +``` + +Then, plug in your Serial or USB cable to the Inverter & stand up the container: + +```bash +docker-compose up -d + +``` + +_Note if you have issues standing up the image on your Linux distribution, you may need to manually build the image - This can be done by uncommenting the build flag in your docker-compose.yml file._ + +## Integrating into Home Assistant. + +Providing you have setup [MQTT](https://www.home-assistant.io/components/mqtt/) with Home Assistant, the device will automatically register in your Home Assistant when the container starts for the first time -- You do not need to manually define any sensors. + +From here you can setup [Graphs](https://www.home-assistant.io/lovelace/history-graph/) to display sensor data, and optionally change state of the inverter by "[publishing](https://www.home-assistant.io/docs/mqtt/service/)" a string to the inverter's primary topic like so: + +![Example, Changing the Charge Priority](images/mqtt-publish-packet.png "Example, Changing the Charge Priority") +_Example: Changing the Charge Priority of the Inverter_ + +**COMMON COMMANDS THAT CAN BE SENT TO THE INVERTER** + +_(see [protocol manual](http://forums.aeva.asn.au/uploads/293/HS_MS_MSX_RS232_Protocol_20140822_after_current_upgrade.pdf) for complete list of supported commands)_ + + + +``` +Set output source priority POP00 (Utility first) + POP01 (Solar first) + POP02 (SBU) + +Set charger priority PCP00 (Utility first) + PCP01 (Solar first) + PCP02 (Solar and utility) + PCP03 (Solar only) + +Set other commands PEa / PDa (Enable/disable buzzer) + PEb / PDb (Enable/disable overload bypass) + PEj / PDj (Enable/disable power saving) + PEu / PDu (Enable/disable overload restart); + PEx / PDx (Enable/disable backlight) +``` \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 5f6f0ee..5b64a1b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,9 @@ version: '2' services: voltronic-mqtt: - build: . + #build: . + image: bushrangers/ha-voltronic-mqtt + container_name: voltronic-mqtt privileged: true diff --git a/images/mqtt-publish-packet.png b/images/mqtt-publish-packet.png new file mode 100644 index 0000000000000000000000000000000000000000..38162a33fd208dcc068c5bf9303ed7836b04b070 GIT binary patch literal 50254 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