Watchpower automation/alternatives?

BarryG

New member
Joined
Feb 15, 2019
Messages
18
Hi All
I have (finally!) commissioned my home solar panel, battery and inverter system - mostly due to the great advice on here - thanks to all!

I have PIP5048MK MPPSolar unit that is working great so far, with 6 x 300W panels and a home-built 10kWh battery built from reclaimed 18650 e-bike batteries. I am using 'Watchpower' software to monitor performance and would like to store all the data that is currently available from the PIP unit. I can do this with Watchpower by exporting the data periodically (the PIP unit is permanently connected to a laptop via RS232 interface, and Watchpower is running continuously on the laptop).

Has anyone found a way of automating the data extract/export process - or do you use an alternative to Watchpower for data logging?

Many Thanks,
 
I use Solar-sis that i have written and store it in influxdb and visualize with Grafana. For processing and automatization i use Node red

There is also an ISO for raspberry pi available

https://diytechandrepairs.nu/raspberry-solar/

You can install the solar-sis with NPM as well but its not latets version right now. Can be found on github to
 
daromer said:
I use Solar-sis that i have written and store it in influxdb and visualize with Grafana. For processing and automatization i use Node red

There is also an ISO for raspberry pi available

https://diytechandrepairs.nu/raspberry-solar/

You can install the solar-sis with NPM as well but its not latets version right now. Can be found on github to

Thank you for the heads-up, daromer......much appreciated. I'll give this a look......
 
daromer said:
I use Solar-sis that i have written and store it in influxdb and visualize with Grafana. For processing and automatization i use Node red

There is also an ISO for raspberry pi available

https://diytechandrepairs.nu/raspberry-solar/

You can install the solar-sis with NPM as well but its not latets version right now. Can be found on github tI am sorry to bother you, and I understand if you don't have the time to help me, but I have come to a dead end regarding my attempts so far.


After watching your youtube video about the Raspberry Pi implementation of the Grafana visualization package, I have managed to get mine up and running with a MPP Solar PIP 5048MK. It all works great - but I want to go further.

I have been trying to make a change to the code so that I could issue a command to the PIP inverter to change the 'operation logic'. The MK version allows you to change from 'normal' automatic mode to 'ECO' mode, whereby the batteries will charge from the grid. This would be extremely useful for me during the winter months, as I won't get enough sun during the day. I can, of course, go to the inverter physically and make the changes with the display interface. However, since I have a way of issuing commands via your software, I want to do it this way - and probably issue the commands according to certain 'triggers'. So - that's the background to my request - now here's the problem I have......

I have looked through the index.js file to try to understand how it all works and edited the 'session.json' file, to get the software to use the 'OnInit' section, using the 'RunCommands' object. However, I can't get it to work. It's quite difficult, as you can probably imagine, trying to 'decompile' a programme that someone else has written !!

The command I need to execute is the 'POPLG' command, which, according to the official protocol for the device, is what I need :

" ..... POPLG: Setting operation logic (Only for MK) Computer: POPLG Inverter: (ACK if Inverter accepts this command, otherwise, responds (NAK nn:00: automatically, 01: On-line mode, 02: ECO mode"

I added this to the calls.json file, hoping it would enable me to use the QuickCommand part of the programme.....

"quickcommand_config": {
"start_bit": "",
"command_type": "S",
"response_type": "",
"data_length_bits": 0,
"seperator": " ",
"ending_character": "\r",
"crc_length": 2,
"response_accept_command": 1,
"response_refuse_command": 0,
"variable_length_fillout": "0",
"response_start": "(",
"response_header_length": 0
},
"quickcommand": {
"switch_to_ECO_mode":{
"command": "POPLG",
"default_value": "02",
"variables": {
"value": "02"
}
}
}


I tried the following added to the end of the session.json file............

"QuickCommands": [
{
"switch_to_ECO_mode":{
"command": "POPLG",
"default_value": "02",
"variables": {
"value": "02"
}
}
}
],
"OnInit": {
"RunCommands": [
{
"switch_to_ECO_mode":{
"command": "POPLG",
"default_value": "02",
"variables": {
"value": "02"
}
}
}
]
}


I also tried many different variations on this, but as I am not very experienced with working with javascript and json files, I have come to a dead end.

Any chance you can point me in the right direction?

Any helpyou can offer would be very much appreciated. I also think that many people who have this type of inverter/controller will find this a useful addition to the package, as it allows users to programme a charge from the grid at cheap rate without having to visit the controller physically.


Cheers!
 
I'm using Omega AC Current and Voltage Data Loggers on the output of my AIMS inverters ....
https://www.omega.com/en-us/control...VQSCtBh2GQwfoEAQYAiABEgLo9_D_BwE&gclsrc=aw.ds

Theunit uses a CT to measure the current and clip on wires for voltage. Has USB for connection to the computer - and of course logs data internally and has a screen to display on the device itself.

The PC software to retrieve the data looks like this:

image_aiqufz.jpg


So now, I'm trying automate the data retrieval by writing aGUI driver program to retrieve the data and export to a fileso I can parse it and load it into my database - but not yet finished with this.
 
Thanks. Not sure if my MPPSolar PIP 5048MK would work with that.

The software that Daniel recommended actually works great- it's just that I would like to be able to automate some commands. Guess I'm just too lazy to walk down to the controller and input them by hand! :)


This is my 'Dashboard'.........




image_nkvmbx.jpg
 
BarryG said:
Thanks. Not sure if my MPPSolar PIP 5048MK would work with that.

Guess I'm just too lazy to walk down to the controller and input them by hand! :)
Absolutely - where's the fun in doing a 60sec hand input when you can spend months to automate it 'once and for all':)
 
Just insert the command in solar sis config and then you run it with a web call with the attribute to send. Then use Node red for atuomatisationa and you can have it running in 20 minutes (But you need to understand NodeJs and solar-sis to do the first part that easy)

I have not documented anything in terms of sending commands :)
 
I'm getting to know solar-sis better as each day passes! The same goes for node.js.....

Do you have any plans to document the "sending commands" part of solar-sis?

Currently I am trying to get this working almost by trial and error..... It's very difficult trying to understand someone else's code! Especially without any documentation - hence I would really appreciate any specific instructions as to how to do this. A step-by-step example would be really helpful.

Thanks.
 
I dont have time right now since i also need to read up on the code... :p With that said in the MPI10kw folder you have some commands made since i use that to correct/change power going to grid via NodeRed and data from my SDM630 meters.

That may give you a hint:
msg.url = "http://192.168.25.129:3004/f1?a=1&f=" + f + "&w=" + parseInt(msg.payload)
This is how i send commands to solar sis from node-red. This basically tells solar sis to send a command that have the name of f1,f2 or f3. And then the wattage to compensate to grid.

In session.json you have in the bottom ListenOn where you define all topics to listen on.

Just above you have the definiton of that command

Code:
  "f1": {
   "command": "set/f1",
   "config": "set_config",
   "before": "before_f1",
   "callback": "callback_f1"
  }

Here you can see everything. What command that need to be run before it starts. The config and also the callback what to do with data that comes back.
What you would like to look at first is the command

Code:
"set": {
  "feeding_grid_power_calibration":{
   "command": "S012FPADJ",
   "variables": {
    "feeding_grid_derection": [1, 0, 1],
    "feeding_grid_calibration_power": [4, 0, 999]
   }
  },
  "f1": {
   "command": "S013FP",
   "hide": true,
   "variables": {
    "fase": "",
    "watt": [4, 0, 999]
   }
  }

Here you have the "Set". You can add as many as you want here under. F1 is the one I have added that sets the correction. It defines the command and then variables to use. Watt defines 4 elements and between 0 and 999


Note that before it run the sets command you have the "before" that one makes sure that the data processed and sent is fixed or manipulated. It doesnt have to be doing anything but for above it checks the fase to set and calculates the values to send.

Hope that helps a bit as start :)
 
gazzaman2k said:
https://github.com/ned-kelly/docker-voltronic-homeassistant works great and also https://github.com/jblance/mpp-solar

both can be automated for gathering data and graphana graphs
OK. I have just this week got a MPP Solar pip-1012mse solar inverter charger and I've looked at thedocker-voltronic-homeassistant page and it looks like something I would like to do myself. I also have running on a raspberry pi 4 a NAS viaOMV5 with docker/portainer. So I want to add this via portainer on OMV5 but I'm unsure how to do this. Do you know how or can direct me to a page with instructions? I know the basics of installing containers as I've installed a few already, but this seems a bit more involved. The instructions I've seen so far involve command line instructions etc, or downloading whole images. I just want to add a container inside portainer.
MrMuzza.
 
MrMuzza008 said:
gazzaman2k said:
https://github.com/ned-kelly/docker-voltronic-homeassistant works great and also https://github.com/jblance/mpp-solar

both can be automated for gathering data and graphana graphs
OK. I have just this week got a MPP Solar pip-1012mse solar inverter charger and I've looked at thedocker-voltronic-homeassistant page and it looks like something I would like to do myself. I also have running on a raspberry pi 4 a NAS viaOMV5 with docker/portainer. So I want to add this via portainer on OMV5 but I'm unsure how to do this. Do you know how or can direct me to a page with instructions? I know the basics of installing containers as I've installed a few already, but this seems a bit more involved. The instructions I've seen so far involve command line instructions etc, or downloading whole images. I just want to add a container inside portainer.
MrMuzza.
After trying many, many times to get home assistant running WITH Supervisor as a container in OMV5 on a raspberry pi 4 I simply could not work it out. Who ever createdhome assistant (HA) seems to have change thing where HA in a container is stripped down and no longer has the Supervisor function. So I could install HA, but not with supervisor.

But finally after many searchings I found the answer. In the comments of a HA blog was a comment by a sparkydave who mentioned a guide created by a @kanga_who which had a link to instructions on how to install what I've trying to do every day since my above question. The link to the instructions is:https://drive.google.com/open?id=1oKhnQ1rz-Yd5HheA8rNk5YNq8e67-5Kh

OK, so if you already have OMV5 running on your raspberry pi then you can go straight to 2.2) what I did is the following:
enter:
sudo apt update etc...
sudo apt-get install -y apparmor-utils apt-transport-https avahi-daemon ca-certificates curl dbus jq network-manager socat software-properties-common

I skipped the next three part as they did not apply for me, then:

sudo curl -sL "https://raw.githubusercontent.com/Kanga-Who/home-assistant/master/supervised-installer.sh" | bash -s -- -m raspberrypi4-64 -d "/srv/dev-disk-by-label-seagate/data/appdata/config/homeassistant"

Note: if you are doing it you may have to change the part after -m to your sbc type, ie:



raspberrypi
raspberrypi2
raspberrypi3
raspberrypi4
raspberrypi3-64
raspberrypi4-64

and the part after -d change to where you store your appdata

Anyway, I hope this helps anyone else who may decide to do what I've been trying to do.
MrMuzza008
 
Back
Top