Esperyd?s Raspberry PI project

Hi, I'm new on this forum, I have newly acquire a Batrium BMS and I have downloaded The latest ISOraspv8_lite.

It's running on a Rasp Pi 3.

When I open Grafana and choose Batrium, I see only the measured value from "total battery usage on all Batriumsystems" and this value is the same that Batrium program gives me, but all the other values givesoutput N/A or No Value.

How to solve this problem. Are there other things to do for showing the other values.

Regards Robin
 
You need to configure the ID to use and so that it fetches the correct values. Unfortunately its all set up to my system and therefore doesnt work out of the box :(

In grafana you select what value to fetch to visualize.

Let me know if you need more help
 
Hi, thanks for the response.

I don't understand why, but now the Grafana, Batrium dashboardshows me all values.

I selected in Grafana the dashboard Batrium, now it shows me the Batrium dashboard.
But with only the variable "Total Battery usage on all battery systems" all other N/A or No Value.
When I go to "Manage Dashboard" and select "Templating' I see the line

$SystemId show tag values with key = "systemId"


When I select "Edit" It shows mea new screen, in this screen I select "Update" After this all the values are working?

What was going wrong?

More help is welcome, thanks. How is the flow chart from the Batrium system(wifi) to Grafana? Is it, Batrium to WatchMonUdpListener and then to InfluxDb andGrafana takes it from InfluxDb?

I wan't give it a try to make my own dashboard, a have looked to some Youtube tutorials, but can't figure out how to do.


" In grafana you select what value to fetch to visualize" where do I select this value ?
" You need to configure the ID to use and so that it fetches the correct values" where do I configure the ID.


Regards Robin
 
Correct. The systemid default is mine :)

The order is batrium -> wifi udp
then watchmonudplistener catches all data and Stores in influxdb
Grafana then reads from.influxdb :)
 
Daniel, great work and thanks for taking the time to share!

Is it possible to get the data from batrium via USB not mqtt/wifi?

Is raspberry pi 4 up and running? Or should I stick with 3b?
 
It is possible to get over USB but i dont see the reason. They dont recommend running USB at same time as its powered via battery. Wireless is the best here.

I have not made any Raspberry PI4 image and wont do it.But i have prepared and made a Pi4 setup that will be distributed in new way. (Docker based). All about the time (Money to be honest since i do have to work to :) )
 
Thanks, I'm just trying to explore possibilities. My battery and BMS will end up inside a sealed metal box. Well, nearly sealed. I don't expect to get WiFi through the box. Plus the WiFi is weak out there anyways. I will have a conduit for comm into the box, so I might need to run a repeater inside the box to get WiFi for the BMS.

I'm excited, I wish I could help with development, but I don't have the skills
 
Hi,

I see that Solarsisworks with aMPI 10kWHybrid. Will it also works on a MPI 3000 Plus ?

I have downloaded the ISO V8
Batrium BMSworks fine on this ISO

Thanks
 
Dont know about the MPI 3000.

Do you have the protocol file for it?
 
I flashed about 5 SD cards before I finally realised that I was trying to run the ISO on a RPi3+ and it's not supported! :D :D :D :D

Great work Daromer, I think V9 of your software is more anticipated than the next coming of Jesus :D :D :D
 
Thanks for the reply

I don't have the MPI 3000 plus 1 faseprotocol.
I connect the rasp pito the inverter (rs232)
I get some RAW data, but I see no date in "influx:SEND mpi_query_general_status"
Is the RAW date not sent to the influx database? Or is it some else?

What is wrong there is no data in "influx:SEND mpi_query_general_status"


^[$[2020-06-22 17:42:56] info serial:/dev/ttyUSB0:SEND query/general_status
[2020-06-22 17:42:56] info serial:/dev/ttyUSB0:SEND_RAW [{"type":"Buffer","data":[94,80,48,48,51,71,83,13]}]
[2020-06-22 17:42:56] info serial:/dev/ttyUSB0:RECIVED_RAW Data: (230.0 50.0 013.0 230.0 013.0 18.0 048.0 1 10 0?B Length: 49
[2020-06-22 17:42:56] info serial:/dev/ttyUSB0:RECIVED query/general_status
[2020-06-22 17:42:56] info influx:SEND mpi_query_general_status solar_input_voltage_1=NaN,solar_input_voltage_2=NaN,solar_input_current_1=NaN,solar_input_current_2=NaN,battery_voltage=NaN,battery_capacity=NaN,battery_current=NaN,ac_input_voltage_r=NaN,ac_input_voltage_s=NaN,ac_input_voltage_t=NaN,ac_input_frequency=NaN,ac_input_current_r=NaN,ac_input_current_s=NaN,ac_input_current_t=NaN,ac_output_voltage_r=NaN,ac_output_voltage_s=NaN,ac_output_voltage_t=NaN,ac_output_frequency=NaN,ac_output_current_r=NaN,ac_output_current_s=NaN,ac_output_current_t=NaN,inner_temperature=NaN,component_max_temperature=NaN,external_battery_temperature=NaN
 
:) thanks
I would like to do a docker based install so i dont have to maintain an ISO. All about time though :)
 
You can see in the recieved that it cant intepretate the answer
The influx send Line. All values are na

You need the protocol to know whats sent back and then set jt Up.
And No. The raw is not sent since its a raw string.
 
Thanks for the reply.

Does someone on this forum hastheRS 232 communication protocol for a MPPIhybrid 3000 Plus? Or know where to get?


Thanks
 
Ask the seller or if you bought from mppsolar email peggy. Its not always they give it out but you can reffer to this thread if needed. She should know about me. I have talked to her several times :)
 
Mail is send to her, now its waiting, and hope they will send a copy fromthe communication RS232 protocol.
 
:) Yes, there was a very fast answer and now a have the protocol for the MPPI 3000W PLUS
It seems it is the same as the Voltronic Power InfiniSolar 3KW

But i would like to use some help.

Where should Ichange what in what file to get this protocol working in Solar sisGrafana?

Thanks.

 

Attachments

  • RS232 communication Protocol for InfiniSolar 3K.pdf
    704.1 KB · Views: 397
Hi All,

I'm using solar-sis and I'd like to disable the sending of my PCM60x data to influx DB. I've re-watched all of Daromer's videos to gain insight and i've tried to comment out references to the influx server in the calls.json, session.json and package.json files but I can't seem to figure out how to simply broadcast the values over MQTT, and not to the Influx DB.

I want to avoid writing to the database to avoid corrupting an SD card (I have another Rpi for graphing anyway). I'm not that familiar with how node works so if anyone could give me any suggestions it would be greatly appreciated.

EDIT:

I figured it out, if you edit the following it seems to stop sending data to influx:

pi@grafpi /energy-logger/solar-sis/example/PCM60x $ cat calls.json
{
"query_config": {
"start_bit": "",
"command_type": "P",
"response_type": "D",
"data_length_bits": 3,
"seperator": " ",
"ending_character": "\r",
"crc_length": 2,
"response_start": "(",
"response_header_length": 0
},
"query": {
"general_status": {
"hide": false,
"influx": true,

change "influx": true to "influx": false.
 
Hello Daniel and all solarknights here.
Nice work here.

I managed to install an PIP GE 3024 Inverter with 6 panels and 2 little batteries.
Now i want to get access to the inverter by web as i connect with the windows software watchpower.

I tried a raspberry pi 2 and the V8 iso but couldn't start the grafana service.
After buying a pi3 that went well.

Which file i have to edit and put in the Com-Port ( i think /dev/ttyUSB0 ) so grafana can read the data.

Will it also be possible not only to read out data. eg switching from solar priority first to utility priority first.

THANK YOU
 
Hey everyone
Long time battery fiddler first time poster (i think)

I will keep the post short to begin with and hope i get my question accross ok

I have converted my Sonoff basic toTasmota and have it working through Node RED
I can turn it off and on with the inject node via Node Red fine

MQTT is working

I also have my batrium feeding in to influxdband mqtt

All good

Thanks Daromer

HOWEVER (here comes the question)

The MQTT message from the Batrium is a long string


{"first":":","MessageId":"3f33","nd":",","SystemId":9675,"hubId":19663,"CmuPollerMode":1,"CmuTxAckCount":7,"CmuTxOpStatusNodeId":2,"CmuTxOpStatusUSN":186,"CmuTxOpParamNodeId":7,"GroupMinCellVolt":3.61,"GroupMaxCellVolt":3.72,"GroupMinCellTemp":11,"GroupMaxCellTemp":16,"CmuRxOpStatusNodeId":3,"CmuRxOpStatusGroupAck":7,"CmuRxOpStatusUSN":180,"CmuRxOpParamNodeId":7,"SystemOpStatus":2,"SystemAuthMode":0,"SupplyVolt":25.42,"AmbientTemp":25,"SystemTime":1594145826,"ShuntSOC":59.5,"ShuntTemp":41,"NomCapacityToFull":68.6330078125,"NomCapacityToEmpty":101.3669921875,"ShuntPollerMode":7,"ShuntStatus":1,"hasShuntLoSocRecal":0,"hasShuntHiSocRecal":0,"ExpansionOutputFet5":0,"ExpansionOutputFet6":0,"ExpansionOutputFet7":0,"ExpansionOutputFet8":0,"ExpansionOutputRelay1":0,"ExpansionOutputRelay2":0,"ExpansionOutputRelay3":0,"ExpansionOutputRelay4":0,"ExpansionOutputPwm1":0,"ExpansionOutputPwm2":0,"ExpansionInput1":0,"ExpansionInput2":0,"ExpansionInput3":0,"ExpansionInput4":0,"ExpansionInput5":0,"Expan..."

[size=small]How do i seperate the info i need from this string?

At this time i only want the[size=small][size=small]ExpansionOutputPwm1":0[/size]field from the message.[/size][/size]

[size=small]When it changesi want to turn on/off the sonoff via MQTT[/size]

[size=small](this is only an experiment at the moment so dont worry about why i am doing it)[/size]

[size=small]I guess there is some code i need to write in a function node to dicard all the unwanted text and keep the little bit i want[/size]
[size=small]OR[/size]
[size=small]Do i need to change the message being sent from the batrium?[/size]

[size=small]Thanks for any replies.[/size]
[size=small]Sorry if this has been asked before[/size]
[size=small]P[/size]


[size=small]I figured it out. I needed the json node[/size]

[size=small]Here it is incase anyone else needs it[/size]

Code:
[{"id":"d173b70.23e6748","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"eb3c897f.71abc8","type":"mqtt in","z":"d173b70.23e6748","name":"","topic":"Batrium/9675/3f33","qos":"0","datatype":"auto","broker":"3e03c7e0.d78fb8","x":130,"y":120,"wires":[["29552ee8.437db2"]]},{"id":"11c13c77.ee2c24","type":"debug","z":"d173b70.23e6748","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":590,"y":180,"wires":[]},{"id":"29552ee8.437db2","type":"json","z":"d173b70.23e6748","name":"","property":"payload","action":"","pretty":false,"x":220,"y":220,"wires":[["ff22d580.eb9ed8","d59d4f56.1a1dd"]]},{"id":"ff22d580.eb9ed8","type":"function","z":"d173b70.23e6748","name":"","func":"if (msg.payload.ExpansionOutputPwm1 == 0)\n{\n  msg.payload = \"OFF\";\n}else {\n  msg.payload = \"ON\";\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":380,"y":240,"wires":[["11c13c77.ee2c24","847e2711.4941f8"]]},{"id":"847e2711.4941f8","type":"mqtt out","z":"d173b70.23e6748","name":"","topic":"cmnd/sonoff/POWER","qos":"0","retain":"","broker":"3e03c7e0.d78fb8","x":610,"y":300,"wires":[]},{"id":"d59d4f56.1a1dd","type":"debug","z":"d173b70.23e6748","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload.ExpansionOutputPwm1","targetType":"msg","statusVal":"","statusType":"auto","x":540,"y":120,"wires":[]},{"id":"3e03c7e0.d78fb8","type":"mqtt-broker","z":"","name":"mqtt","broker":"grafana.pmhaynes.local.lan","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]
 
Back
Top