Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Batrium Watchmon4 in Node Red
#1
Hi all from a damp UK,

I've finally finished off my 'fully node red' Watchmon dashboard that has been an on-and-off project for a long while now... I've not seen another one around (or I would have used that!) so I thought I'd share it in case it was useful to anyone else...

My needs are simple, so my example dashboard gives me what I need to be able to see on my phone, however, all the Watchmon output is exposed, so you could really go to town if you wanted to replicate the entire Watchmon Toolkit...  I've also not included writing to a database or other storage as that's well documented elsewhere. If you have more than one Watchmon (you have too much money!) you will have to work out how to put a filter in based on the system ID - unless they broadcast on different ports???

Dashboard example:


I tried to post the flow here previously and it exceeds the character limit so I've just popped off and created a git repository...  I think I've done it right!  https://github.com/Bloats/Powerwall-stuff

Anyway - happy to answer questions if I can

Cheers all

Tim
wim, hbpowerwall, daromer like this post
Reply
#2
Clean and simple - I love it...
Bloater likes this post
Save 10% at Battery Hookup with code 'Powerwalls' Just enter it in checkout www.batteryhookup.com
Reply
#3
Very nice, thanks for sharing. 
Gonne test it on a WM1 .... the old one  Smile
___________________________________
18x 300Wp solar off grid and 10x 180Wp solar tracker grid-tie
10KW 3phase hybrid inverter. 40Kwh 18650 storage (for now)
My setup: https://secondlifestorage.com/t-Instant-powerwall
Reply
#4
Good work. I run watchmon listener to Mqtt to My node red
hbpowerwall likes this post
The Ultimate DIY Solar and build place
YouTube / Forum system setup / My webpage  Diy Tech & Repairs

Current: 10kW Mpp Hybrid | 4kW PIP4048 | 2x PCM60x | 100kWh LiFePo4 | 20kWh 14s 18650 |  66*260W Poly | ABB S3 and S5 Trip breakers
Upcoming: 14S 18650~30kWh
Reply
#5
How are you querying each cell voltage?
hbpowerwall likes this post
Reply
#6
(02-01-2020, 11:43 PM)whoinow Wrote: How are you querying each cell voltage?

Basically the Watchmon exposes everything you see in the provided toolkit software (and more) and by working through the protocol datasheet you can pull out the bits that you actually need... I probably didn't make it clear that Node Red simply listens for the Watchmon's wifi broadcast and grabs all the data from that directly - it's an alternate way of doing it to using a Pi to convert everything to Mqtt which I was using through the grafpi until yet another SD card died and I needed something else whilst Amazon did their thing!

Specifically for cell voltages, every 150ms message type 0x4232 transmits a data packet for each (in my case) longmon - they are numbered and sequential so you know which longmon it is, and one of the fields is  "MaxCellVolt" - so in the space of (in my case) 14 x 150ms I get the entire string's cell voltages.

Hope that helps?
Reply
#7
I also had a few SD cards died while using grafpi soft from Daniel.
So I decided to use a SSD instead with backups to an HDD, and so far so good.
Bloater likes this post
Reply
#8
Cheap SD cards die easily Smile
You need ad cards made for heavy writing.
But best is SSD . You can now also get SSD adaptors for rasp 4 now
The Ultimate DIY Solar and build place
YouTube / Forum system setup / My webpage  Diy Tech & Repairs

Current: 10kW Mpp Hybrid | 4kW PIP4048 | 2x PCM60x | 100kWh LiFePo4 | 20kWh 14s 18650 |  66*260W Poly | ABB S3 and S5 Trip breakers
Upcoming: 14S 18650~30kWh
Reply
#9
Hey Tim - this is totally awesome, thanks for posting this.

One thing I am struggling with is getting the Bar Chart to display the cell voltages. I have 28 mon's and was playing around with the barchart component and I just can't get it to display the chart. I think it might be something incredibly silly, and I can get the Watts, volts and amps from the Shunt successfully, but is there atrick to getting the bar chart to display values. It always shows blank, and I have tried hard-coding the response and it still doesn't show up- any tricks?

return msg.payload = [{"series":["Cells"],"data":[[3.7,3.6,3.9]],"labels":["1","2","3"]}];
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)