A Forum run by Enthusiasts of MidNite Solar

The Open Source software/hardware corner => Raspberry PI => Topic started by: Fort Wisers on November 26, 2020, 04:39:08 AM

Title: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on November 26, 2020, 04:39:08 AM
----------------------------------------------------------------------------------------------------------------------------------------------------
NOTE:
Although this thread is placed in the raspberry pi section, CCDM can work on any device running Windows, MacOS and many distributions of Linux (including raspbian)
----------------------------------------------------------------------------------------------------------------------------------------------------


Hey everyone, I hope everyone is keeping well and to our friends south of the border please have a Happy Thanksgiving!

Over the spring I threw together a quick python based application then alpha tested it over the summer, as in the subject, I have been calling it CCDM (Charge Controller Data Manager).
In this thread I wanted to:
1. Show some screen shots of the progress as it stands today
2. See how much interest there is out there for an app like this
3. Possibly gather ideas for further development down the road

In our case we're running a Rasp Pi (3B+) with CCDM on it polling our Classic 200, 24/7 at our cabin up north. I have setup Real VNC on the Pi so I can check in on things at any given moment and update files as development continues. I also get my daily emails from CCDM for a general sense of how the day went. We have the Pi mounted on the back of our TV (in a little 3D printed case) and have the Pi also feeding an HDMI input to the TV. So, when we're at the cabin, I can see the application running by simply turning on the TV and selecting the appropriate HDMI input (our kids have dubbed it dad's solar TV channel lol).

My plan over the remainder of this fall and into winter is to develop it a little further, create at least a rudimentary document package and then post a beta release publicly on GitHub with an open source lic. Time has been a precious commodity on this end lately though so, outside of some very minor tweaks, I haven't had a moment to touch the code in a couple of months.

Anyhow, here we go:

Overview Tab - the overview tab gives you just that, a general overview of what your system is doing real time (1/2 second update rate).
Note: It's been very cloudy this fall with very little sun, hence the reason I got a screen shot with a poor example of our solar system's output.
This very low system output seen below leads to the low CC eff values that you see in this screen shot, don't worry MidNite fans, our classic generally runs around 92-94% eff.

(http://fort-wisers.ca/Albums/Camp%20Pics%20for%20Forum%20Use/CCDM%20Screen%20Shot%20(1).png)

Misc Tab - in addition to the connection information dialog (as also seen on the Overview screen) this tab displays some peak values and events that occurred during the day (reset at midnight each evening) and also gives a break out of Info Flags. More to come on this screen, hence the large blank section on the RH side:

(http://fort-wisers.ca/Albums/Camp%20Pics%20for%20Forum%20Use/CCDM%20Screen%20Shot%20(2).png)

Config Tab - as with the previous two tabs the top left is our general connection information dialog. The other dialog on this screen shows the end user some general configuration data on how they have the CC configured. Once again I have some plans on what dialog will be filling in the blank section on the RH side of this screen:

(http://fort-wisers.ca/Albums/Camp%20Pics%20for%20Forum%20Use/CCDM%20Screen%20Shot%20(3).png)

There is also an About tab, this simply displays versioning information, lic information and platforms the code has been tested on.
On that final note, so far I've run it successfully on Win10, Linux Mint 17, and Raspian Stretch (rasp pi). Since it's python based there should be no issues running it on any OS that can run a python interpreter, so Android (as is) or iOS (running pythonista or similar) SHOULD be able to run the code. I say should in caps as I have not tested this yet.

Some other features and notes about CCDM worth noting:
- At 11:59pm each day the application generates a log file summarizing a lot of the data collected (peaks, events, kw/H and Ahr for the day etc etc), this log file is date stamped and
   saved as a plain text file (one file per day) in a folder local to the machine that CCDM is running on
- The same data wrapped up in the log file can also be emailed to the end user at the same time. I will note at this point however that I have more development to do on this end as I currently
   do not have sensitive email account information (ie password) encrypted (currently stored in a plain text file only) so I would not feel comfortable releasing this as a final product without some
   serious disclaimers. But the general functionality is working and proven, its simply a matter of finishing off some bits and pieces to make it secure.
- Currently, configuration of the application (setting things like what IP address your Midnite CC is at) are all wrapped up in a file that can be easily edited with any text editor. In the future my
   plan is to move this out to the UI so no file editing will be required to simply "get it off the ground".
- The code is also preliminarily complete to talk to two other CC manufacturers but has not been alpha tested, I'm trying to get my hands on some hardware to complete this.
- Note the "Auto Scroll" check box on the top RH side of every screen, if the user checks this, the application will then scroll through each screen tab at a set interval (adjustable). Handy for
   watching my "Solar TV channel" where I don't have a mouse or keyboard to flip between tabs manually.
- I've done all development so far in notepad++ and idle, both free and simple environments / editors

Plans for the near future (near being a relative term based on how much time I can devote to development in the next coming months!):
- finish off dialogs on the Misc and Config tabs
- get CCDM configuration functionality onto the UI to avoid the need to edit any config files manually
- alpha test the two other CC oem products
- re-develop the UI in HTML5 (the current UI is done in tkinter (a package currently built into python, I chose to use tkinter as a simple method to prove out data collection and functionality))
- wrap-up email sensitive information into a DB for security
- collect the daily log file data into monthly / quarterly / yearly reports
- develop a doc package for end user use
- get it publicly onto GitHib with an open source license

Lastly, some of my inspiration for starting development of CCDM was as a result of using Graham's Classic Monitor Android App which we used as our original method to watch our solar.
I really like the work Graham has put into his app but we simply needed something not bound to one OS, hence CCDM.
Many thanks to Graham for all his hard work in developing Classic Monitor and to Midnite for a great CC product.
And thanks to anyone who actually took the time and interest to read this post in it's entirety.

I think that's about it.....
As with the development of CCDM itself, I won't have a ton of time to check out comments on this forum, but feel free to leave your thoughts and I'll check back in a few days to see what level of interest there is (if any). Otherwise, I'll post a quick note once I finally have it on GitHub and others can do as they feel fit with it!

Cheers, take care everyone:
Brent


Title: Re: CCDM - Charge Controller Data Manager
Post by: boB on November 26, 2020, 03:51:44 PM

OMG, Brent !  This is beautiful !

That setting panel is exactly the kind of thing I was wanting to make, personally !

Wonderful job !   I'm sure you will get rave reviews of this !

Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on November 26, 2020, 10:38:51 PM
Brent -
Your project looks very nice.
Is it going to be able to write to the Classic to change settings ?
Have you kept up on the other Classic projects that Graham and Matt have developed in the past year ?
One of them uses the Pi to create MQTT data which then lets any other program use that at the same time - so it gets around the limit of only one Classic IP modbus connection at a time.
Graham also has an ESP32 that can connect to serial port and then create another Classic modbus IP port so that also lets more than one device connect at the same time ( as well as lets monitoring happen for the Classic models that have no IP networkings ) .
In case you haven't kept up on those other projects they are here
https://github.com/ClassicDIY

Larry 
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on November 30, 2020, 12:57:22 AM
boB -> Thanks for the kind words of encouragement.....if I ever get this thing on GitHub we'll see how reception goes.

Larry -> My motivation for starting this project was multifaceted, one being the ability to write to the CC.
At some point it was time for a firmware upgrade on our Classic, so I did as such.
This was right around the same time I was toying with the idea to create an application that could work on multiple OSs.
While going through menu after menu hand writing parameters on a piece of paper as backup (before doing the firmware upgrade) I thought it would be handy to have a Backup / restore feature built into the application, as well as the ability to adjust values of some of the more commonly used parameters.
My first step was to get something up and running, in a programming environment that could be run on Win/Linux/OSx.
I did, during development, trial write to one register in the CC without issue.
However, giving the application the ability to write parameters comes with some extra overhead of thinking on how to somewhat protect an end user (and CC) from inadvertently entering potentially dangerous values. I have a few ideas on this, just not the time to actually code anything.

So I haven't taken this part any further since my primary focus, for now, has been on reading, displaying, logging and emailing information.

To summarize, the application is currently read only but I would like to add a backup / restore feature as well as some simple ability to adjust some values in the CC from the application.

I have not checked out the work Graham and Matt have being doing (other than using Graham's Classic Monitor sometime ago).
I had brief conversation with Matt last year in regards to remote connections, and that was about the last time I checked out the forum before starting this thread.
Will check out their work as time permits, thanks for the link!

Take care everyone:
Brent




Title: Re: CCDM - Charge Controller Data Manager
Post by: UpNorthMan on November 30, 2020, 08:54:20 AM
Brent,
The work you've done for remote monitoring looks great! Very easy to navigate and understand.It looks to keep you well informed of the status of your remote cabin. I know your time is valuable,so thanks for sharing it with all of us.
I have a couple questions,

1) Have you designed your code so it will support multiple CC?

2) From our Kid experts, is the information that Brent displayed, available to pull from a Kid CC?
I believe there are a few Kid owners that would love this elegant way of displaying our remote sites.

Ed
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on November 30, 2020, 05:17:39 PM
Brent
From what you said about having to write down all the settings between firmware updates -  you know that you can save and restore them using the Midnite Local Status app ?
That makes life a lot easier for sure when doing updates !

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on November 30, 2020, 05:23:07 PM
Quote from: UpNorthMan on November 30, 2020, 08:54:20 AM
Brent,
The work you've done for remote monitoring looks great! Very easy to navigate and understand.It looks to keep you well informed of the status of your remote cabin. I know your time is valuable,so thanks for sharing it with all of us.
I have a couple questions,

1) Have you designed your code so it will support multiple CC?

2) From our Kid experts, is the information that Brent displayed, available to pull from a Kid CC?
I believe there are a few Kid owners that would love this elegant way of displaying our remote sites.

Ed

Ed,
The Kid doesn't have any modbus like the Classic does. It only spits out a very limited amount of data on serial.  There probably is a way to have a program like Brents display what it does have if some smart programmer put their mind to it. But the Kid needs a wired connection where the Classic can just pull the data off IP network. So it isn't nearly as easy to do like for the Classic.
Ricardo had his Kid displaying the data via Node Red and if you look in the Open Source section of the forums under Node Red I think you will find what he had done - but it was a few years ago. There also was a Kid firmware update that broke the data output - I think it has been resolved but I haven't kept up on it. Midnite is not putting any more development into the Kid so what there is now is pretty much it for monitoring.

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: UpNorthMan on December 01, 2020, 06:56:34 AM
Thanks Larry for info. I will investigate Ricardos' post. I'll talk to a friend and see what he can come up with.
Ed
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on December 01, 2020, 10:14:29 AM
Hi Everyone......
To answer a couple questions asked.

1. The code is about 25% complete to handle up to 4 independent CCs simultaneously (IE there is a plan in place for this, just not executed).
When complete it will work like this:
If you configured CCDM to collect data from 2 CCs (for example) you'd simply get a second set of Overview, Misc and Config tabs and they will be labeled
Overview - 1, Misc - 1 and Configuration - 1 for CC1 and the all the same Overview - 2, Misc - 2 and Configuration - 2 for CC2.


2. Adding a serial interface to talk with the KID CC (or other CCs that offer a serial I/F only) would be quite easy, maybe I'll add this to the to-do list.
I have not looked at KID docs though at all to see what is available to gather in terms of data points.

Cheers:
Brent
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on December 01, 2020, 10:58:23 AM
Quote from: UpNorthMan on December 01, 2020, 06:56:34 AM
Thanks Larry for info. I will investigate Ricardos' post. I'll talk to a friend and see what he can come up with.
Ed

I believe I remember Graham mentioning that it would be possible to modify his code to be able to bring the Kid data in . I don't remember exactly which project it was though.
Once the data is in the Raspberry Pi and MQTT you can pretty much do whatever you want with it. I am only a tester and not a programmer so don't know all the details.
Take look here
https://github.com/ClassicDIY
Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: UpNorthMan on December 01, 2020, 12:32:10 PM
Brent,
I'm glad you had the for thought for multiple units in your design. Many Midnite owners will be interested in your product as it progresses tword a finished product. Please keep us updated!
Ed
Title: Re: CCDM - Charge Controller Data Manager
Post by: Robin on December 13, 2020, 07:10:06 PM
We are shipping the first high voltage controllers this week. They are going to MidNite employees on the East coast and midwest. The first ones are only 75 amps output with a 600V input. You guys will have fun writing software to go with all the new stuff. It is Canbus! We will also have a relatively inexpensive combox that receives canbus, and modbus over the RS232 port. It also has a third party canbus port for other manufacturers batteries or whatever.
Things are starting to work pretty well, so we will keep you informed as things progress.
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on December 16, 2020, 03:27:36 PM
Quote from: Robin on December 13, 2020, 07:10:06 PM
We are shipping the first high voltage controllers this week. They are going to MidNite employees on the East coast and midwest. The first ones are only 75 amps output with a 600V input. You guys will have fun writing software to go with all the new stuff. It is Canbus! We will also have a relatively inexpensive combox that receives canbus, and modbus over the RS232 port. It also has a third party canbus port for other manufacturers batteries or whatever.
Things are starting to work pretty well, so we will keep you informed as things progress.


Hi Robin, sounds interesting, which CC is this? Do you have a published document laying out the CAN mail boxing scheme?

Sorry everyone for the lack of responses.........I my just publish CCDM as is (on Github) and list out a set of feature additions to be implemented at a later date.
I can pick away at it slowly as winter roles in and push updates after testing.


Title: Re: CCDM - Charge Controller Data Manager
Post by: Urayoan on December 17, 2020, 01:22:46 PM
awesome!

Title: Re: CCDM - Charge Controller Data Manager
Post by: boB on December 17, 2020, 02:54:35 PM

I think that our CAN protocol is mostly done but it is still somewhat of a work in progress until we have more experience with it and especially our beta users operating the system.

I'm not sure about future publishing ?   I am fairly sure users will be able to interface with the newer system but I don't know yet exactly what that will include.

Title: Re: CCDM - Charge Controller Data Manager
Post by: mcsarge on December 20, 2020, 05:36:24 PM
Fort Wisers,

I love this interface, I think it might be quite easy to switch the input from the modbus directly to our MQTT service. Is this a GitHub project? would you be open to me taking a look and seeing if I can get this display working with our constellation of services and servers?

All the best,

Matt
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on December 21, 2020, 05:58:36 AM
Hey gang....
Well I was going to hold posting the project publicly until it was a little further along.
But at the rate I'm going that's going to be a while.....
So what I did is posted the project publicly here:
https://github.com/Brent-Lekx-Toniolo/Charge-Controller-Data-Manager-CCDM (https://github.com/Brent-Lekx-Toniolo/Charge-Controller-Data-Manager-CCDM)

And added features being worked on in the "issues" section and marked them enhancements, so feel free to check out the plans of things to come.
I have been talking to Graham Ross a bit in the background and I think he's also going to link this to the classicdiy group as well.

Matt, to answer your specific question, by all means grab the code and have at it!
I wrote the UI as a separate class, contained in CCDM_UI_Class.py file, so in theory you should be able to create an instance of this class and then pipe your data in to populate the UI fields.
I haven't tested a stand-alone instantiation though so can't say for certain there won't be some dependency issues, I believe you will have to drag BLT_Misc.py with it as well, but can't remember for sure what other dependencies you may need as I've always been building the entire package as a whole.
My plan long term is to do an HMTL5 based UI....this Tkinter one was just something to get off the ground.
You'll see a working example of how I route data to the UI Instance in the CC_Data_Manager.py file.


Title: Re: CCDM - Charge Controller Data Manager
Post by: qrper on December 22, 2020, 04:43:03 PM
Well I gave it a good college try... and failed.
I guess that's why I wasn't born to be a hacker.

Got Python install on my window machine,(Windows 7 professional) and that was the end. Couldn't figure out how to get the pip3 pillow to install. Not even sure where I was suppose to try.

Looks interesting and I'll poke around some more and maybe get lucky.

mike
Title: Re: CCDM - Charge Controller Data Manager
Post by: mcsarge on December 22, 2020, 05:21:01 PM
Fort Wisers,

I created a Q&D web based interface on Python using Flask and socketio to get the server side to be able to update the copies of the front end running on peoples web browsers. It worked pretty well, but I think there are better frameworks out there that would make things look better.

I will take a look in the new year, I like python alot and any oppurtunity to try something new is fun.

So many projects...

Matt



Quote from: Fort Wisers on December 21, 2020, 05:58:36 AM
Hey gang....
Well I was going to hold posting the project publicly until it was a little further along.
But at the rate I'm going that's going to be a while.....
So what I did is posted the project publicly here:
https://github.com/Brent-Lekx-Toniolo/Charge-Controller-Data-Manager-CCDM (https://github.com/Brent-Lekx-Toniolo/Charge-Controller-Data-Manager-CCDM)

And added features being worked on in the "issues" section and marked them enhancements, so feel free to check out the plans of things to come.
I have been talking to Graham Ross a bit in the background and I think he's also going to link this to the classicdiy group as well.

Matt, to answer your specific question, by all means grab the code and have at it!
I wrote the UI as a separate class, contained in CCDM_UI_Class.py file, so in theory you should be able to create an instance of this class and then pipe your data in to populate the UI fields.
I haven't tested a stand-alone instantiation though so can't say for certain there won't be some dependency issues, I believe you will have to drag BLT_Misc.py with it as well, but can't remember for sure what other dependencies you may need as I've always been building the entire package as a whole.
My plan long term is to do an HMTL5 based UI....this Tkinter one was just something to get off the ground.
You'll see a working example of how I route data to the UI Instance in the CC_Data_Manager.py file.
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on December 22, 2020, 05:54:30 PM
Quote from: qrper on December 22, 2020, 04:43:03 PM
Well I gave it a good college try... and failed.
I guess that's why I wasn't born to be a hacker.

Got Python install on my window machine,(Windows 7 professional) and that was the end. Couldn't figure out how to get the pip3 pillow to install. Not even sure where I was suppose to try.

Looks interesting and I'll poke around some more and maybe get lucky.

mike

Mike

I pretty much gave up at that stage too. I just got a new laptop with small ssd drive and larger regular drive so I am trying not to install everything on the SSD but of course that makes it a bit more difficult for certain things like the Pip that wants to go in users folders .

I will wait until this gets developed a bit more or else I will try it on a raspberry pi sometime.

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: qrper on December 22, 2020, 07:42:49 PM
Quote from: ClassicCrazy on December 22, 2020, 05:54:30 PM
Quote from: qrper on December 22, 2020, 04:43:03 PM
Well I gave it a good college try... and failed.
I guess that's why I wasn't born to be a hacker.

Got Python install on my window machine,(Windows 7 professional) and that was the end. Couldn't figure out how to get the pip3 pillow to install. Not even sure where I was suppose to try.

Looks interesting and I'll poke around some more and maybe get lucky.

mike

Mike

I pretty much gave up at that stage too. I just got a new laptop with small ssd drive and larger regular drive so I am trying not to install everything on the SSD but of course that makes it a bit more difficult for certain things like the Pip that wants to go in users folders .

I will wait until this gets developed a bit more or else I will try it on a raspberry pi sometime.

Larry

That makes me feel better, Larry. I wasn't sure where I was to type in the C:\user\user_name> pip3 install pillow
Was it in the Phyton window? Don't know. All I got was errors, so after trying everything I could think of, I watched some cat videos on Youtube.

I'll need to wait for the movie to come out with a simple install button.

mike
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on December 22, 2020, 07:53:16 PM
Hey gang, sorry to hear about all the issues!
Feel free to post up screen shots or just straight text of what errors you are getting.
Perhaps, with your feedback, we can work through it and I can update the getting started guide to help future users avoid trouble.

FYI, installing both python and pillow is done at the windows command line.
So for pillow, as soon as you enter the command line shell enter the following:

pip3 install Pillow (the capital P is important)

Let me know what errors you get from this and I'll see what I can do to help sort it out and update the getting started guide to help makes things a little more intuitive!
Sorry again for the trouble! Perhaps I'll do the entire process fresh on another PC and see what steps I've missed in the guide.
Also fyi, the total hard drive space requirements will be very small.
CCDM itself is about 1 MB total (half that if you delete the documentation folder after you're complete) and while I'm not sure about pillow install size, I suspect it's quite light weight.



MATT-> I agree, too many projects and not enough time, if I get a few moments I'll build a small "UI only" package for you to trial.


Brent



Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on December 22, 2020, 10:56:09 PM
Okay here is what I did .
I had installed Python in my  D drive.
But when I went to CMD and typed in python it took me to Microsoft Edge and Windows app store to Python.
So I just clicked on that and let it install.
So far so good  - next time I typed in CMD python I got python
So then I went to install pip part
Used directions from this page
https://vgkits.org/blog/pip3-howto/
It said I had old version of Pip3 so I did their command to install latest version.
Then it also said I didn't have it in the PATH
so I used directions on this page to add it to paths
https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/
now I type Pip3 and get directory so guess it is installed.
I installed Pillow
I click on the saved CCDM files under software
CC Data Manager but nothing opens up .
here are some screen shots of what I did along the way . ( I also checked some additional boxes in first python screens Py Launcher was one  - Associate files with Python was another and I think I checked environment variables too )
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on December 22, 2020, 10:57:18 PM
Some more screenshots of my setup

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on December 22, 2020, 11:42:56 PM
I tried to start the python with command line but get the following errors
( I had an error before this with ip address but corrected it )
Now I get this error
see screenshot
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on December 23, 2020, 04:52:54 AM
Larry,
Before anything, can you confirm what OS you're running (Win10 etc)?

You look to be basically there as some of the messages you're receiving in that last screen shot are from CCDM, meaning it's actually trying to get off the ground.
Now the next hang-up is it can't find night_icon.png, this is a little icon used in CCDM to display when the controller is asleep (in solar mode).
My first thinking is I somehow forgot this icon in the GitHib package, so I just did a fresh download from Github, unzipped (To most closely imitate what you're seeing on your end I did this on D:\  as well, as I have a second drive similar to what is sounds like you have) and it ran no problem.......

So, in your CCDM package, right where CC_Data_Manager.py file is located, can you see a folder called "resources", in there should be another folder called "images", can you confirm what icon images are in there, night_icon.png should be in there, among others?

It seems I should add some notes into the getting started guide about pip3, I must have either got lucky (it was already installed on this PC?) or I simply don't recall (possible as my memory can be hit and miss lol) having any issues with it but will add some notes as per your findings Larry.

Let me try a fresh start on my wife's pc this morning.............

Sorry gang, it certainly shouldn't be this difficult.
Thanks for the feedback so far, and for being patient as we get this hammered out.

Title: Re: CCDM - Charge Controller Data Manager
Post by: qrper on December 23, 2020, 09:20:57 AM
Quote from: Fort Wisers on December 23, 2020, 04:52:54 AM
Larry,
Before anything, can you confirm what OS you're running (Win10 etc)?

You look to be basically there as some of the messages you're receiving in that last screen shot are from CCDM, meaning it's actually trying to get off the ground.
Now the next hang-up is it can't find night_icon.png, this is a little icon used in CCDM to display when the controller is asleep (in solar mode).
My first thinking is I somehow forgot this icon in the GitHib package, so I just did a fresh download from Github, unzipped (To most closely imitate what you're seeing on your end I did this on D:\  as well, as I have a second drive similar to what is sounds like you have) and it ran no problem.......

So, in your CCDM package, right where CC_Data_Manager.py file is located, can you see a folder called "resources", in there should be another folder called "images", can you confirm what icon images are in there, night_icon.png should be in there, among others?

It seems I should add some notes into the getting started guide about pip3, I must have either got lucky (it was already installed on this PC?) or I simply don't recall (possible as my memory can be hit and miss lol) having any issues with it but will add some notes as per your findings Larry.

Let me try a fresh start on my wife's pc this morning.............

Sorry gang, it certainly shouldn't be this difficult.
Thanks for the feedback so far, and for being patient as we get this hammered out.

It's not when you do it all the timeâ€"and I couldn't locate a 13 year old to help me.

I haven't poke around with computers since my Apple II days.  At one time, I could keep my head above water with DOS, but crap, that's been 25 years ago. Heck at one time, I use to build my own pc (Who didn't?) now, when a HD dies, I take it to the local computer guy and have him install a new SSD and move all the files. I mean he's got kids to feed, too.


Now that you told me where to enter the commands, (I had to look up how to get to the command line on windows) I'll give it another shot today. I'll also take a peek at the resource folder and see if that file is there.
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on December 23, 2020, 10:35:12 AM
Quote from: qrper on December 23, 2020, 09:20:57 AM
It's not when you do it all the timeâ€"and I couldn't locate a 13 year old to help me.

I haven't poke around with computers since my Apple II days.  At one time, I could keep my head above water with DOS, but crap, that's been 25 years ago. Heck at one time, I use to build my own pc (Who didn't?) now, when a HD dies, I take it to the local computer guy and have him install a new SSD and move all the files. I mean he's got kids to feed, too.


Now that you told me where to enter the commands, (I had to look up how to get to the command line on windows) I'll give it another shot today. I'll also take a peek at the resource folder and see if that file is there.

Hey Mike,

We're all doing our best to keep on-top of technology.
If I had made a better, more complete getting started guide perhaps a lot of the issues you guys are struggling with could be avoided.
So I appreciate you guys starting with me at ground zero as we get together something a little more user friendly......

Hopefully it ends up being a package that many find useful, and if not, then we try again!
I appreciate all the feedback from you and Larry, best of luck when you go to try again.
In the meantime I'm going to work on that guide and get it further along, I see python has a few more options in their 3.9 installer and I really should add a few notes on pip3 as well.
Spare time to work on personal interest projects / hobbies always seems to be the issue!

Take care everyone:
Brent

Title: Re: CCDM - Charge Controller Data Manager
Post by: qrper on December 23, 2020, 11:46:57 AM
Quote from: Fort Wisers on December 23, 2020, 10:35:12 AM
Quote from: qrper on December 23, 2020, 09:20:57 AM
It's not when you do it all the timeâ€"and I couldn't locate a 13 year old to help me.

I haven't poke around with computers since my Apple II days.  At one time, I could keep my head above water with DOS, but crap, that's been 25 years ago. Heck at one time, I use to build my own pc (Who didn't?) now, when a HD dies, I take it to the local computer guy and have him install a new SSD and move all the files. I mean he's got kids to feed, too.


Now that you told me where to enter the commands, (I had to look up how to get to the command line on windows) I'll give it another shot today. I'll also take a peek at the resource folder and see if that file is there.

Hey Mike,

We're all doing our best to keep on-top of technology.
If I had made a better, more complete getting started guide perhaps a lot of the issues you guys are struggling with could be avoided.
So I appreciate you guys starting with me at ground zero as we get together something a little more user friendly......

Hopefully it ends up being a package that many find useful, and if not, then we try again!
I appreciate all the feedback from you and Larry, best of luck when you go to try again.
In the meantime I'm going to work on that guide and get it further along, I see python has a few more options in their 3.9 installer and I really should add a few notes on pip3 as well.
Spare time to work on personal interest projects / hobbies always seems to be the issue!

Take care everyone:
Brent

Poked around a bit more. Got the window command panel up. I forgot all about that guy.
However, when I type in ;

pip3 install pillow

I get a error that says pip3 is not recognized as internal or external command

I do have python that appears to be running, I can open it and see it's screen.

however!! If I type python within the CMD screen, I get an error that 'Python is not recognized as a internal or external command."

It's the holidays... so don't put any work into this. I'll continue to poke at it and see what's going on

mike
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on December 24, 2020, 01:40:02 AM
Quote from: qrper on December 23, 2020, 11:46:57 AM
Quote from: Fort Wisers on December 23, 2020, 10:35:12 AM
Quote from: qrper on December 23, 2020, 09:20:57 AM
It's not when you do it all the timeâ€"and I couldn't locate a 13 year old to help me.

I haven't poke around with computers since my Apple II days.  At one time, I could keep my head above water with DOS, but crap, that's been 25 years ago. Heck at one time, I use to build my own pc (Who didn't?) now, when a HD dies, I take it to the local computer guy and have him install a new SSD and move all the files. I mean he's got kids to feed, too.


Now that you told me where to enter the commands, (I had to look up how to get to the command line on windows) I'll give it another shot today. I'll also take a peek at the resource folder and see if that file is there.

Hey Mike,

We're all doing our best to keep on-top of technology.
If I had made a better, more complete getting started guide perhaps a lot of the issues you guys are struggling with could be avoided.
So I appreciate you guys starting with me at ground zero as we get together something a little more user friendly......

Hopefully it ends up being a package that many find useful, and if not, then we try again!
I appreciate all the feedback from you and Larry, best of luck when you go to try again.
In the meantime I'm going to work on that guide and get it further along, I see python has a few more options in their 3.9 installer and I really should add a few notes on pip3 as well.
Spare time to work on personal interest projects / hobbies always seems to be the issue!

Take care everyone:
Brent

Poked around a bit more. Got the window command panel up. I forgot all about that guy.
However, when I type in ;

pip3 install pillow

I get a error that says pip3 is not recognized as internal or external command

I do have python that appears to be running, I can open it and see it's screen.

however!! If I type python within the CMD screen, I get an error that 'Python is not recognized as a internal or external command."

It's the holidays... so don't put any work into this. I'll continue to poke at it and see what's going on

mike

Mike ,
How did you install the Python ?  When I used the Microsoft app store to do it everything seemed to start working .
Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on December 24, 2020, 02:05:41 AM
Quote from: Fort Wisers on December 23, 2020, 04:52:54 AM
Larry,
Before anything, can you confirm what OS you're running (Win10 etc)?

You look to be basically there as some of the messages you're receiving in that last screen shot are from CCDM, meaning it's actually trying to get off the ground.
Now the next hang-up is it can't find night_icon.png, this is a little icon used in CCDM to display when the controller is asleep (in solar mode).
My first thinking is I somehow forgot this icon in the GitHib package, so I just did a fresh download from Github, unzipped (To most closely imitate what you're seeing on your end I did this on D:\  as well, as I have a second drive similar to what is sounds like you have) and it ran no problem.......

So, in your CCDM package, right where CC_Data_Manager.py file is located, can you see a folder called "resources", in there should be another folder called "images", can you confirm what icon images are in there, night_icon.png should be in there, among others?

It seems I should add some notes into the getting started guide about pip3, I must have either got lucky (it was already installed on this PC?) or I simply don't recall (possible as my memory can be hit and miss lol) having any issues with it but will add some notes as per your findings Larry.

Let me try a fresh start on my wife's pc this morning.............

Sorry gang, it certainly shouldn't be this difficult.
Thanks for the feedback so far, and for being patient as we get this hammered out.
That is okay - I contribute by testing these things and happy to help document or figure out the bugs .
Yes I am using Windows 10 on a new laptop I got recently .
Yes the Resources folder is there with images in it.
I tried moving the CCDM folder to C: drive but still same error .

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on December 24, 2020, 06:37:27 AM
Hey folks,
OK, I did a from the ground up install and am building a new Getting Started Guide.
I hope to have it complete in the next couple of days, hopefully it will help with everything.
I'll post back when it's ready.......
Merry Christmas everyone!
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on December 24, 2020, 02:19:26 PM
Quote from: Fort Wisers on December 24, 2020, 06:37:27 AM
Hey folks,
OK, I did a from the ground up install and am building a new Getting Started Guide.
I hope to have it complete in the next couple of days, hopefully it will help with everything.
I'll post back when it's ready.......
Merry Christmas everyone!

thanks for your efforts .
I spent some time trying to figure out why it wouldn't find the file in the folder.
Digging into some of the code and looked up errors helps me understand how these programs work. At least on the surface.
Enjoy your Christmas - sun is out here for a change so it is happy holidays !

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on December 24, 2020, 03:25:54 PM
Ok, hopefully you folks haven't given up on this project yet!
I have updated the repository and included a much improved (hopefully) Getting Started Guide, it can still be found in the Documentation folder.
So blow away any CCDM package you downloaded previous and start again with a fresh download from the repo (here):

https://github.com/Brent-Lekx-Toniolo/Charge-Controller-Data-Manager-CCDM (https://github.com/Brent-Lekx-Toniolo/Charge-Controller-Data-Manager-CCDM)

The big thing I noticed during my testing is allowing Windows Store to install Python caused the most grief as it doesn't let you customize the install.
So you'll see a specific note about this in the Getting started guide.

To summarize the Getting Started Guide, the general steps in Win10 are:

1. Check if python 3.4.x + is installed by typing "python3 --version" (with-out quotes) in the command prompt -> if not follow the link in the getting started guide and download the installer, then install as per the guide (avoid allowing Windows Store to install)
2. Check if pip3 is installed by typing "pip3 --version" (with-out quotes) in the command prompt -> if not then grab that installer as per above
3. Check that the Pillow package is installed by typing "pip3 list" (with-out quotes) into the command prompt -> if it's not in the list install it by typing "pip3 install Pillow" (with-out quotes) into the command line

Larry -> I know you're hoping to place CCDM onto your D:\ drive....this shouldn't be an issue. But to start, follow the Getting Started Guide and place the CCDM package onto your Desktop. If you get CCDM up and running, then move the entire thing to anywhere on D:\.

Larry and Mike-> Thanks again for spending time working on this and sending feedback of where the issues are. Hopefully I was able to capture enough in the new Getting Started guide that we're met with more success! I really appreciate all the feedback on this one.

Last note: You may end up having to uninstall previous installs of python the Windows Store installed for you......I'm not sure.
Finger's crossed!

Merry Christmas and Happy Holidays
Brent



Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on December 24, 2020, 09:22:37 PM
Quote from: Fort Wisers on December 24, 2020, 03:25:54 PM
Ok, hopefully you folks haven't given up on this project yet!
I have updated the repository and included a much improved (hopefully) Getting Started Guide, it can still be found in the Documentation folder.
So blow away any CCDM package you downloaded previous and start again with a fresh download from the repo (here):

https://github.com/Brent-Lekx-Toniolo/Charge-Controller-Data-Manager-CCDM (https://github.com/Brent-Lekx-Toniolo/Charge-Controller-Data-Manager-CCDM)

The big thing I noticed during my testing is allowing Windows Store to install Python caused the most grief as it doesn't let you customize the install.
So you'll see a specific note about this in the Getting started guide.

To summarize the Getting Started Guide, the general steps in Win10 are:

1. Check if python 3.4.x + is installed by typing "python3 --version" (with-out quotes) in the command prompt -> if not follow the link in the getting started guide and download the installer, then install as per the guide (avoid allowing Windows Store to install)
2. Check if pip3 is installed by typing "pip3 --version" (with-out quotes) in the command prompt -> if not then grab that installer as per above
3. Check that the Pillow package is installed by typing "pip3 list" (with-out quotes) into the command prompt -> if it's not in the list install it by typing "pip3 install Pillow" (with-out quotes) into the command line

Larry -> I know you're hoping to place CCDM onto your D:\ drive....this shouldn't be an issue. But to start, follow the Getting Started Guide and place the CCDM package onto your Desktop. If you get CCDM up and running, then move the entire thing to anywhere on D:\.

Larry and Mike-> Thanks again for spending time working on this and sending feedback of where the issues are. Hopefully I was able to capture enough in the new Getting Started guide that we're met with more success! I really appreciate all the feedback on this one.

Last note: You may end up having to uninstall previous installs of python the Windows Store installed for you......I'm not sure.
Finger's crossed!

Merry Christmas and Happy Holidays
Brent

Thanks Brent - I figured the multiple Pythons I installed probably messed things up somehow.
I will  uninstall everything ( if I can ) and then start out from scratch on your new directions and package. Maybe later tonight before Santa gets here.

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on December 25, 2020, 02:27:12 AM
Quote from: Fort Wisers on December 24, 2020, 03:25:54 PM
Ok, hopefully you folks haven't given up on this project yet!
I have updated the repository and included a much improved (hopefully) Getting Started Guide, it can still be found in the Documentation folder.
So blow away any CCDM package you downloaded previous and start again with a fresh download from the repo (here):

https://github.com/Brent-Lekx-Toniolo/Charge-Controller-Data-Manager-CCDM (https://github.com/Brent-Lekx-Toniolo/Charge-Controller-Data-Manager-CCDM)

The big thing I noticed during my testing is allowing Windows Store to install Python caused the most grief as it doesn't let you customize the install.
So you'll see a specific note about this in the Getting started guide.

To summarize the Getting Started Guide, the general steps in Win10 are:

1. Check if python 3.4.x + is installed by typing "python3 --version" (with-out quotes) in the command prompt -> if not follow the link in the getting started guide and download the installer, then install as per the guide (avoid allowing Windows Store to install)
2. Check if pip3 is installed by typing "pip3 --version" (with-out quotes) in the command prompt -> if not then grab that installer as per above
3. Check that the Pillow package is installed by typing "pip3 list" (with-out quotes) into the command prompt -> if it's not in the list install it by typing "pip3 install Pillow" (with-out quotes) into the command line

Larry -> I know you're hoping to place CCDM onto your D:\ drive....this shouldn't be an issue. But to start, follow the Getting Started Guide and place the CCDM package onto your Desktop. If you get CCDM up and running, then move the entire thing to anywhere on D:\.

Larry and Mike-> Thanks again for spending time working on this and sending feedback of where the issues are. Hopefully I was able to capture enough in the new Getting Started guide that we're met with more success! I really appreciate all the feedback on this one.

Last note: You may end up having to uninstall previous installs of python the Windows Store installed for you......I'm not sure.
Finger's crossed!

Merry Christmas and Happy Holidays
Brent

I uninstalled or deleted all past copies of Python.
I followed the install directions exactly as in your new document.
But if I go to CMD or powershell
and do Python --version I get error. ( first screenshot)
If I find Python in the start menu with all the other programs and click it then it opens a CMD window and shows up . ( second screenshot)
I moved on to pip3 check and that was installed.
I checked for Pillow and that was not listed so I did the pip3 install pillow and that installed it.
checked and pillow was listed.
I went to Config and entered the IP of my Classic and saved it.
Then I double clicked on CCDM data manager and
It Worked !

So I guess the only note I would put in your instructions is that the check for Python in CMD might not work - it only worked for me by clicking on the Python link in the start menu.
Final  photo below is wish list for data in future ( taken from Grahams Classic Monitoring app )

Thanks again Brent for your efforts - good to have success at 1:30 AM - now I gotta hit the sack so Santa can come ( maybe - he finds some excuse to skip me every  year !)

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on December 25, 2020, 05:34:24 AM
Quote from: ClassicCrazy on December 25, 2020, 02:27:12 AM
I uninstalled or deleted all past copies of Python.
I followed the install directions exactly as in your new document.
But if I go to CMD or powershell
and do Python --version I get error. ( first screenshot)
If I find Python in the start menu with all the other programs and click it then it opens a CMD window and shows up . ( second screenshot)
I moved on to pip3 check and that was installed.
I checked for Pillow and that was not listed so I did the pip3 install pillow and that installed it.
checked and pillow was listed.
I went to Config and entered the IP of my Classic and saved it.
Then I double clicked on CCDM data manager and
It Worked !

So I guess the only note I would put in your instructions is that the check for Python in CMD might not work - it only worked for me by clicking on the Python link in the start menu.
Final  photo below is wish list for data in future ( taken from Grahams Classic Monitoring app )

Thanks again Brent for your efforts - good to have success at 1:30 AM - now I gotta hit the sack so Santa can come ( maybe - he finds some excuse to skip me every  year !)

Larry

Morning Larry!
WOW, thank you for spending such a late night working on this, especially on Christmas eve!
My thinking is that Santa will have rewarded you for your extra efforts!


OK onto business before the kids get up to see what Santa brought:
I'm very glad you got CCDM up and running, this is great news, and I am so thank full for your determination and feedback through this first step.
Let it run over a 24 hour period to get a feel for what it ends up logging, a new log file will be saved under the CCDM_logs folder each evening at 11:59pm

Onto your comments.....
Python Version Check After Install:
On one of my python install trials I encountered a similar issue to you for entering "python3 --version" after the install (as confirmation).
Except in my case the system simply returned nothing, no error, no version return, nothing......just kicked right back to the command prompt.
I left it as I knew the install was ok and found that later after a reboot the version check worked just fine.
So that's your first thing to check, trial the version check again after the device is rebooted, it's possible Window's PATH associations aren't updated until after a reboot? I don't know.
If that doesn't work then the second check is to run the python installer again and be sure the "Add Python 3.9 to PATH" check box is checked, as seen here:

(http://fort-wisers.ca/Albums/Camp%20Pics%20for%20Forum%20Use/CCDM%20Screen%20Shot%20(10).jpg)

Lastly if all of the above never produces the results we're looking for, try "python --version" instead (omitting the 3 at the end of python).
If it never get's solved yet you're running python applications just fine then absolutely we'll add a note into the getting started guide!

CCDM Data Points:
There is no doubt that Graham's Application is a nicely polished product.
Some of the data point's in your request screen shot are already there in CCDM.
For Example, if we navigate over to the Misc tab:

(http://fort-wisers.ca/Albums/Camp%20Pics%20for%20Forum%20Use/CCDM%20Screen%20Shot%20(11).jpg)

In the above you will see the following:
1. flag for indication of In V is lower than Out. -> I layed out and wrote the text for each flag identical to how they show up in the Midnite manual.
2. Time In Float Today -> Pretty self explanatory, if the system hits float then the duration in float is shown here. This is a value taken from modbus reg 4138

3. Time In Absorb Today -> this one takes a bit of explaining. In the Classic controllers there is a data point at modbus reg 4139 and it is an up / down counter.
The way I understand it, each day this counter starts at your absorb time setpoint (so in your case it shows as 4:00:00 (IE 4 hours). Then when the system hits absorb setpoint voltage the timer starts counting down.....if it hits zero OR the end amps threshold is reached (IE current going into the battery drops below end amps), then the system switches to float as the battery bank is considered charged. For me personally, I thought, the count down value means little to me, what I really want to know is how long did I spend in absorb (similar to how float is displayed). So I do a little math and subtract this absorb timer value from the Absorb Time Setpoint and that gives us the Time in Absorb Today.
I hope that makes sense, lot's of absorbing to do there (haha bad humor for Christmas morning).

Now head on over to the Configuration Tab:

(http://fort-wisers.ca/Albums/Camp%20Pics%20for%20Forum%20Use/CCDM%20Screen%20Shot%20(12).jpg)

Here you can see the following:

1. Absorb Time -> this is the absorb time setpoint, perhaps I'll add "setpoint" to this text so it's a little more clear as to what this is
2. Absorb End Amps -> Ending amps used in conjunction with absorb time setpoint to decide when it's time to switch to float
3. EQ Time -> this is the EQ Time setpoint, again the addition of "setpoint" in the text will help clear this up.

Now what I am missing compared to Graham's application is a note on reason for resting, a note on battery target voltage and just a general more text based method of showing all this.
Let me first add in the reason for resting and target voltage data points.
A more polished look and feel will hopefully come with time as we work on developing this as a whole.
I will open the above notes (add setpoint text and two data points mentioned) as issues on our GitHub repo....


A user guide might be worth putting together as well (already on the issues list in GitHub) to explain the data points that are there. Mind you the more intuitive we can make the whole system the better.......
I added an appendix at the bottom of the Getting Started guide that has a quick little blurb on each tab and it's contents but it doesn't go into great detail of what each data point is.....so a more in-depth "User Manual" might be in order for this....

OK, I'm now just rambling and typing out my thoughts so it's best I go.
Thanks again Larry for sticking it out, hopefully other's will get adventurous and give it a trial.

To everyone, go pour and extra coffee (perhaps with some Bailey's) and enjoy, Happy Holidays to all:
Brent



Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on December 25, 2020, 12:37:25 PM
Brent
Python --version  worked and showed me Python version okay
Python3 --version gives me the error

I have to study all the data on CCDM - there is a lot going on there !
One thing I have not found so far is the equivalent of Net AH which is on both Local Status app under Whizbang
and in Grahams android app on the Capacity screen ( the dial there is labeled Net Charge )
It shows when everything that has been taken out of the battery is put back in.

I was just looking around in the code - don't know anything about Python but interesting to see how it all is laid out.
That was a lot of work writing all that !
I was curious if I could spot where each modbus register is sorted out - but maybe that is in the compiled sections ?
My mission was to see if I could change a Celsius temp to Fahrenheit  just for the fun of it ( and since that is how my brain interprets temps). I didn't spot anywhere I could put the formula in - but I did see how to change the labels . Not a big deal is just a fun exercise to see what makes this stuff tick. 
   
Santa left me a super sunny day here so I can make some hot water with lots of extra power.

Larry


Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on December 25, 2020, 01:23:19 PM
Hey Larry!

You are correct, I do not have net amp hours on the UI, consider it in the works.
I have always just relied on SoC but you're correct, net amp hours is a more accurate way of understanding what has gone in versus what has come out of the bank, so an important point to display.

All the data comes in from the modbus reads in the CC_Class.py code.
The compiled files (under _pycache_ folder) are just files python creates during the runtime (IE when the application is launched), 100% of the code is open source.
Adding a conversion to deg F is a great idea!

I shall add both ideas to the issues list.
If you ever want to see what is currently "in the works" you can see that here:
https://github.com/Brent-Lekx-Toniolo/Charge-Controller-Data-Manager-CCDM/issues (https://github.com/Brent-Lekx-Toniolo/Charge-Controller-Data-Manager-CCDM/issues)
Issue#10 lists the data points to be added as per your feedback, issues#11 is for the ability to change between degrees C and F.
You can click on each issue to get more detail.
My plan is to add these in with 0.0.2 release, you will see a number issues (classified as enhancements) listed with a v0.0.2 milestone, no target date yet though.

Cheers, thanks again for the feedback, enjoy the sun and hot water!

Brent
P.S. since you're having a sunny day, send a screen shot of your peaks and events (misc tab) if you get a chance
Title: Re: CCDM - Charge Controller Data Manager
Post by: qrper on December 25, 2020, 02:09:09 PM
Quote from: ClassicCrazy on December 24, 2020, 01:40:02 AM
Quote from: qrper on December 23, 2020, 11:46:57 AM
Quote from: Fort Wisers on December 23, 2020, 10:35:12 AM
Quote from: qrper on December 23, 2020, 09:20:57 AM
It's not when you do it all the timeâ€"and I couldn't locate a 13 year old to help me.

I haven't poke around with computers since my Apple II days.  At one time, I could keep my head above water with DOS, but crap, that's been 25 years ago. Heck at one time, I use to build my own pc (Who didn't?) now, when a HD dies, I take it to the local computer guy and have him install a new SSD and move all the files. I mean he's got kids to feed, too.


Now that you told me where to enter the commands, (I had to look up how to get to the command line on windows) I'll give it another shot today. I'll also take a peek at the resource folder and see if that file is there.

Hey Mike,

We're all doing our best to keep on-top of technology.
If I had made a better, more complete getting started guide perhaps a lot of the issues you guys are struggling with could be avoided.
So I appreciate you guys starting with me at ground zero as we get together something a little more user friendly......

Hopefully it ends up being a package that many find useful, and if not, then we try again!
I appreciate all the feedback from you and Larry, best of luck when you go to try again.
In the meantime I'm going to work on that guide and get it further along, I see python has a few more options in their 3.9 installer and I really should add a few notes on pip3 as well.
Spare time to work on personal interest projects / hobbies always seems to be the issue!

Take care everyone:
Brent

Poked around a bit more. Got the window command panel up. I forgot all about that guy.
However, when I type in ;

pip3 install pillow

I get a error that says pip3 is not recognized as internal or external command

I do have python that appears to be running, I can open it and see it's screen.

however!! If I type python within the CMD screen, I get an error that 'Python is not recognized as a internal or external command."

It's the holidays... so don't put any work into this. I'll continue to poke at it and see what's going on

mike

Mike ,
How did you install the Python ?  When I used the Microsoft app store to do it everything seemed to start working .
Larry

Larry,

I went to the site posted and downloaded python. I clicked on the install button and let it run
I click on the python icon and it opens a window (looks like the cmd window)

mike
Title: Re: CCDM - Charge Controller Data Manager
Post by: qrper on December 25, 2020, 05:02:52 PM
Holy snapping electrons batman!

I got the software up and running!

Brent, this version of the install docs are a zillion times better.

A couple of notes.

I did a clean install on my laptop running windows 10

No matter what I did, windows wanted me to let it install python.

After I did the python install outside of windows, when I typed in python at the cmd prompt, it wanted to install python. So I keep poking around and at last  I had it installed.

Everything went more or less as planned, except my IP was one of those 10.1.1.0 things, edited the config file and whoa! There be CCDM on the laptop.

CCDM was running, but nothing much was on the screen. I had a connection, but the python dialog box was filled with errors. So....what to do?

Restart the damn computer!

And bingo! There be smiles here.

No all I need is some sunlight!

Damn nice Christmas present, too

mike
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on December 25, 2020, 08:40:19 PM
Quote from: qrper on December 25, 2020, 05:02:52 PM
Holy snapping electrons batman!

I got the software up and running!

Brent, this version of the install docs are a zillion times better.

A couple of notes.

I did a clean install on my laptop running windows 10

No matter what I did, windows wanted me to let it install python.

After I did the python install outside of windows, when I typed in python at the cmd prompt, it wanted to install python. So I keep poking around and at last  I had it installed.

Everything went more or less as planned, except my IP was one of those 10.1.1.0 things, edited the config file and whoa! There be CCDM on the laptop.

CCDM was running, but nothing much was on the screen. I had a connection, but the python dialog box was filled with errors. So....what to do?

Restart the damn computer!

And bingo! There be smiles here.

No all I need is some sunlight!

Damn nice Christmas present, too

mike

Mike ,
I was getting the same thing - when I typed in Python on CMD it would open up internet explorer and take me to the Microsoft app store.
I found these settings which is what I think disabled that when I turned them off.
Not sure if they are on every Windows 10 now ?
Maybe Brent can add this to his instructions to shut it off to avoid confusion .
Anyway glad you got it working - that is a great feeling !
see attached photo for the Setting to turn off the Python auto Microsoft store thing ( though you probably won't have the issue any longer now that you have it installed).

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on December 25, 2020, 08:45:55 PM
Brent
Here is screenshot of the peak.
I didn't have the program on all day so that is why it doesn't show true Absorb time.
Sun went away and then came back in the nick of time of finish heating water.
I turned on a bunch of loads to max out controller so I could capture the peak in attached screenshot. This is from 2700 watts solar array .
I have two controllers in Follow Me . They both share the same Whizbang shunt . Not sure how your program deals with that right now.
But it does seem like the peak reported below was just from the one controller.

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on December 26, 2020, 06:08:12 AM
Morning folks!

Mike -> great job getting your system up and running! I'm glad the new guide seems to be better.
I will add a note about rebooting ad I had to do the same during one install trial.

Larry -> I can indeed add notes about the settings you found and am going to add a note about the python --version (vs python3) command as per your findings as well.
In terms of Follow Me scenarios, CCDM would only be looking at what ever is reported by controller 1, I have not finished up the code for multiple controllers.
Now, I'm not 100% familiar with how follow me works internally, if controller one reports the summation of all following controllers? I don't know but will read up on it.
I guess in the case of a shared whizbang you should be seeing the current of both controllers.......anyhow I'll have to give that scenario some thought.
And I'll have to monitor peak whizbang current as well since this would be additive of the two controllers in your case.
My first step will be to get multiple controller code finished and then handle follow me scenarios and do an auto detect of a set of controllers in follow me mode.....



I'm not sure if I'll get to any work on it done today, then tomorrow we head to our cabin for a week and will be off line for the most part.
We have internet there but I tend to not look at the phone much while in the bush and have no pc up there.
So I'll check back in early in the new year and get some of these updates completed.

Guys, thanks again for the feedback and sticking with it......
Take care and Happy New Year to all:

Brent

Title: Re: CCDM - Charge Controller Data Manager
Post by: qrper on December 26, 2020, 11:11:19 AM
Quote from: Fort Wisers on December 26, 2020, 06:08:12 AM
Morning folks!

Mike -> great job getting your system up and running! I'm glad the new guide seems to be better.
I will add a note about rebooting ad I had to do the same during one install trial.

Larry -> I can indeed add notes about the settings you found and am going to add a note about the python --version (vs python3) command as per your findings as well.
In terms of Follow Me scenarios, CCDM would only be looking at what ever is reported by controller 1, I have not finished up the code for multiple controllers.
Now, I'm not 100% familiar with how follow me works internally, if controller one reports the summation of all following controllers? I don't know but will read up on it.
I guess in the case of a shared whizbang you should be seeing the current of both controllers.......anyhow I'll have to give that scenario some thought.
And I'll have to monitor peak whizbang current as well since this would be additive of the two controllers in your case.
My first step will be to get multiple controller code finished and then handle follow me scenarios and do an auto detect of a set of controllers in follow me mode.....



I'm not sure if I'll get to any work on it done today, then tomorrow we head to our cabin for a week and will be off line for the most part.
We have internet there but I tend to not look at the phone much while in the bush and have no pc up there.
So I'll check back in early in the new year and get some of these updates completed.

Guys, thanks again for the feedback and sticking with it......
Take care and Happy New Year to all:

Brent

Thanks, Brent
You gotta understand this is from a guy that took two hours to get the LED to blink on an Ardunio.

While I haven't had a lot of time to play with CCDM, I will pass on a few observations.

1. The graphics (on my laptop) are covered by the data panels (widgets?) The battery icon is barely visible.
2. On the python window, I see a lot of errors flying by. They go so fast, I can't read them. It says something like:error reading reg4106-4108 block of charge controller.

There are maybe ten lines like this with different errors on different blocks.

While Mr Sun hasn't shown his face for over two weeks, having peaking reading values is well worth the price of admission.

On my wish list..

there is so much text, How about a panel, all it system status or something like that with some simple idiot lights for us idiots. Like 'charging' absorb, float and so on.

I guess it's the geek in me that can sit and watch numbers tumble around on a computer screen all day.

You have an amazing piece of software... Enjoy the down time at the cabin.

mike
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on December 26, 2020, 11:41:38 AM
Quote from: Fort Wisers on December 26, 2020, 06:08:12 AM
Morning folks!

Mike -> great job getting your system up and running! I'm glad the new guide seems to be better.
I will add a note about rebooting ad I had to do the same during one install trial.

Larry -> I can indeed add notes about the settings you found and am going to add a note about the python --version (vs python3) command as per your findings as well.
In terms of Follow Me scenarios, CCDM would only be looking at what ever is reported by controller 1, I have not finished up the code for multiple controllers.
Now, I'm not 100% familiar with how follow me works internally, if controller one reports the summation of all following controllers? I don't know but will read up on it.
I guess in the case of a shared whizbang you should be seeing the current of both controllers.......anyhow I'll have to give that scenario some thought.
And I'll have to monitor peak whizbang current as well since this would be additive of the two controllers in your case.
My first step will be to get multiple controller code finished and then handle follow me scenarios and do an auto detect of a set of controllers in follow me mode.....



I'm not sure if I'll get to any work on it done today, then tomorrow we head to our cabin for a week and will be off line for the most part.
We have internet there but I tend to not look at the phone much while in the bush and have no pc up there.
So I'll check back in early in the new year and get some of these updates completed.

Guys, thanks again for the feedback and sticking with it......
Take care and Happy New Year to all:

Brent

Brent - don't worry about the Follow Me. The second ( or multiple ) controllers simply follow the Absorb and Float from the master instead of making their own decision on what to do.  They also can share the battery temperature sensor. Otherwise there is no difference. I have mine wired up to share the single shunt - not sure how others do it. So the shunt Whizbang on mine shows the total of two controllers going into the battery but I can see each controller individually output as normal.
Enjoy your New Years get away out in nature away from all the tech stuff !
Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on December 26, 2020, 07:23:04 PM
Quote from: qrper on December 26, 2020, 11:11:19 AM
Thanks, Brent
You gotta understand this is from a guy that took two hours to get the LED to blink on an Ardunio.

While I haven't had a lot of time to play with CCDM, I will pass on a few observations.

1. The graphics (on my laptop) are covered by the data panels (widgets?) The battery icon is barely visible.
2. On the python window, I see a lot of errors flying by. They go so fast, I can't read them. It says something like:error reading reg4106-4108 block of charge controller.

There are maybe ten lines like this with different errors on different blocks.

While Mr Sun hasn't shown his face for over two weeks, having peaking reading values is well worth the price of admission.

On my wish list..

there is so much text, How about a panel, all it system status or something like that with some simple idiot lights for us idiots. Like 'charging' absorb, float and so on.

I guess it's the geek in me that can sit and watch numbers tumble around on a computer screen all day.

You have an amazing piece of software... Enjoy the down time at the cabin.

mike

Hey Mike!
Give yourself some credit my man, many people don't even know what an arduino is!
To answer your questions:
1. The graphics are auto resized based upon your devices native screen resolution, but there is a limit to this, what is the display resolution of your device?
You can find this in Win10 by right clicking anywhere on your desktop that does not have an icon and selecting "display settings".
If you're down in the 1024x768 range you will experience this overlap of widgets and images (with the widgets taking priority since they're actually displaying data where-as the images are "just for show"), I did some testing on screen resolutions this low and to resize the images small enough to avoid the overlapping, while also leaving the widget text large enough to be of any use (at least for my old eyes) became a bit of a challenge, so this was a bit of a compromised solution.
There is, however, a way to over-ride this.......we can explore this if all else fails.
Your best option, if possible depending on your device, is to try and increase your screen resolution, I'm currently running 1920x1080 and there is zero overlap of any screen elements.
You will have to restart CCDM each time you change the screen resolution as CCDM only auto sizes upon starting.

2. This sounds like a possible networking issue to me. Since your Charge controller is set at a 10.x.x.x address I'm thinking it is the default address set by Midnite and perhaps not set to a value best suited to your home network?
On your Win 10 machine, go to the start menu search bar, type in "network", select the network status app, then when the app launches, select "status" then select the "properties" button. Once in properties scroll down and find "IPv4 address", this will be the network and device address of your PC (wrapped up into one address, probably something like 192.168.1.x), let me know what this address is by PMing it to me, DO NOT POST IT ON THIS THREAD (it's likely not a public address, but if it is you don't want the world knowing it). It can tell us a fair bit about your network....from here we can setup the addressing on your classic correctly (if it's indeed not done yet). I'll try to sneak in an answer tomorrow morning before we leave depending on what you find and see if that helps with this issue.
A last check as well, what firmware is your classic running?


Now onto your wish list comment about a simple screen. I have a number of reasons I started this project. One was a friend of mine has a charge controller from a different manufacturer, his CC simply has a red, yellow and green LED......he never liked having such limited data from his CC. So I told him I was going to develop an application to get him more data (his CC has modbus - TCP/IP capability like the Classics). I started with a Midnite Classic because that's what we run at our cabin (and wanted to see our CC's data on our tv and beyond) but will migrate to include his CC type. So I'm a little hesitant to create what I was actually coding to solve. That said, we have lots of data on CCDM, so could we find a way to add a summary for those that don't really care to always sift through the details? Sure we could! Let me put some thinking into this as well over the holidays because you're correct, sometimes it's just nice to know, at a glance "is my system ok or not". I think we can find a nice balance and come up with a great summary screen, perhaps we simply add these simple summary elements to what is already there? Or perhaps it's best we just do a brand new "overall status" tab with less of the nitty gritty details? We will think of something.

Thanks for the feedback!


Take care, have a good one:
Brent







Title: Re: CCDM - Charge Controller Data Manager
Post by: qrper on December 27, 2020, 12:27:19 PM
Brent,

Answers for some of you questions.

The display on my laptop is its default of 1366 x 768

I can't believe we have a day of bright sun, so CCDM is going wild with numbers. That's kinda cool looking at all the parameters change by the second. However, I can't tell if the Classic went to absorb or not unless I go the MISC screen and see if the absorb reached today is yes or no.

So, on the main page, there is no way to tell if the absorb voltage has been obtained, unless you know what the absorb voltage is. In my case, it's 58.8 V.
Now that being said, if a cloud goes by, the voltage falls, and I'm no longer in absorb, and there is no way to tell if you are or aren't in absorb mode

A simple indicator or two would certainly clear this up. And, I understand your thinking about get away from the idiot lights in the first place. That does make sense.

I'm enjoying the snot of of CCDM, so much that I'm thinking of getting a large monitor and a cheap laptop for the power room in the garage. I'd let it run all the time.

mike
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on December 27, 2020, 04:37:47 PM
Quote from: qrper on December 27, 2020, 12:27:19 PM
Brent,

Answers for some of you questions.

The display on my laptop is its default of 1366 x 768

I can't believe we have a day of bright sun, so CCDM is going wild with numbers. That's kinda cool looking at all the parameters change by the second. However, I can't tell if the Classic went to absorb or not unless I go the MISC screen and see if the absorb reached today is yes or no.

So, on the main page, there is no way to tell if the absorb voltage has been obtained, unless you know what the absorb voltage is. In my case, it's 58.8 V.
Now that being said, if a cloud goes by, the voltage falls, and I'm no longer in absorb, and there is no way to tell if you are or aren't in absorb mode

A simple indicator or two would certainly clear this up. And, I understand your thinking about get away from the idiot lights in the first place. That does make sense.

I'm enjoying the snot of of CCDM, so much that I'm thinking of getting a large monitor and a cheap laptop for the power room in the garage. I'd let it run all the time.

mike
Maybe get a raspberry pi - it will run on less power .
I might try to set up the CCDM on my pi just for the fun of it.

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: qrper on December 28, 2020, 10:19:19 AM
Quote from: ClassicCrazy on December 27, 2020, 04:37:47 PM
Quote from: qrper on December 27, 2020, 12:27:19 PM
Brent,

Answers for some of you questions.

The display on my laptop is its default of 1366 x 768

I can't believe we have a day of bright sun, so CCDM is going wild with numbers. That's kinda cool looking at all the parameters change by the second. However, I can't tell if the Classic went to absorb or not unless I go the MISC screen and see if the absorb reached today is yes or no.

So, on the main page, there is no way to tell if the absorb voltage has been obtained, unless you know what the absorb voltage is. In my case, it's 58.8 V.
Now that being said, if a cloud goes by, the voltage falls, and I'm no longer in absorb, and there is no way to tell if you are or aren't in absorb mode

A simple indicator or two would certainly clear this up. And, I understand your thinking about get away from the idiot lights in the first place. That does make sense.

I'm enjoying the snot of of CCDM, so much that I'm thinking of getting a large monitor and a cheap laptop for the power room in the garage. I'd let it run all the time.

mike
Maybe get a raspberry pi - it will run on less power .
I might try to set up the CCDM on my pi just for the fun of it.

Larry

I looked at them last night. It appears they are quite robust for such a small footprint. More 'computer' than an Ardunio. This will require much more reading on my part. However that being said, it would appear a $40 slice of pi and a monitor would be all I'd need for a dedicated Classic monitor.
Shooting from the hip, and I admit I haven't looked too deep, but I'm not sure how one gets the CCDM software into the raspberry pi? Load it on a SIM card? External HD of some sort? More questions than I have answers to.

Mike
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on December 28, 2020, 01:38:55 PM
Quote from: qrper on December 28, 2020, 10:19:19 AM
Quote from: ClassicCrazy on December 27, 2020, 04:37:47 PM
Quote from: qrper on December 27, 2020, 12:27:19 PM
Brent,

Answers for some of you questions.

The display on my laptop is its default of 1366 x 768

I can't believe we have a day of bright sun, so CCDM is going wild with numbers. That's kinda cool looking at all the parameters change by the second. However, I can't tell if the Classic went to absorb or not unless I go the MISC screen and see if the absorb reached today is yes or no.

So, on the main page, there is no way to tell if the absorb voltage has been obtained, unless you know what the absorb voltage is. In my case, it's 58.8 V.
Now that being said, if a cloud goes by, the voltage falls, and I'm no longer in absorb, and there is no way to tell if you are or aren't in absorb mode

A simple indicator or two would certainly clear this up. And, I understand your thinking about get away from the idiot lights in the first place. That does make sense.

I'm enjoying the snot of of CCDM, so much that I'm thinking of getting a large monitor and a cheap laptop for the power room in the garage. I'd let it run all the time.

mike
Maybe get a raspberry pi - it will run on less power .
I might try to set up the CCDM on my pi just for the fun of it.

Larry

I looked at them last night. It appears they are quite robust for such a small footprint. More 'computer' than an Ardunio. This will require much more reading on my part. However that being said, it would appear a $40 slice of pi and a monitor would be all I'd need for a dedicated Classic monitor.
Shooting from the hip, and I admit I haven't looked too deep, but I'm not sure how one gets the CCDM software into the raspberry pi? Load it on a SIM card? External HD of some sort? More questions than I have answers to.

Mike

If  you get a pi and get it set up and running then following the directions Brent gave should be pretty straight forward.
Or if you get to that stage and get stuck I could maybe remote in and help you with it.
The other way would be that someone ( maybe me ) could make a fresh version of it on an SD card and then make copy and all  you would have to do it flash it on an SD card ( and enter in your wifi ) .
Linux is a whole different world - took me awhile over the years to figure out how it works. But with the new desktop interface it is more like a regular computer.
Did you ever get an android and get Grahams Classic monitoring app going ? That really is a lot easier to do in many ways for monitoring until Brent gets his version all polished up. 
Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: qrper on December 28, 2020, 06:29:52 PM
Quote from: ClassicCrazy on December 28, 2020, 01:38:55 PM
Quote from: qrper on December 28, 2020, 10:19:19 AM
Quote from: ClassicCrazy on December 27, 2020, 04:37:47 PM
Quote from: qrper on December 27, 2020, 12:27:19 PM
Brent,

Answers for some of you questions.

The display on my laptop is its default of 1366 x 768

I can't believe we have a day of bright sun, so CCDM is going wild with numbers. That's kinda cool looking at all the parameters change by the second. However, I can't tell if the Classic went to absorb or not unless I go the MISC screen and see if the absorb reached today is yes or no.

So, on the main page, there is no way to tell if the absorb voltage has been obtained, unless you know what the absorb voltage is. In my case, it's 58.8 V.
Now that being said, if a cloud goes by, the voltage falls, and I'm no longer in absorb, and there is no way to tell if you are or aren't in absorb mode

A simple indicator or two would certainly clear this up. And, I understand your thinking about get away from the idiot lights in the first place. That does make sense.

I'm enjoying the snot of of CCDM, so much that I'm thinking of getting a large monitor and a cheap laptop for the power room in the garage. I'd let it run all the time.

mike
Maybe get a raspberry pi - it will run on less power .
I might try to set up the CCDM on my pi just for the fun of it.

Larry

I looked at them last night. It appears they are quite robust for such a small footprint. More 'computer' than an Ardunio. This will require much more reading on my part. However that being said, it would appear a $40 slice of pi and a monitor would be all I'd need for a dedicated Classic monitor.
Shooting from the hip, and I admit I haven't looked too deep, but I'm not sure how one gets the CCDM software into the raspberry pi? Load it on a SIM card? External HD of some sort? More questions than I have answers to.

Mike

If  you get a pi and get it set up and running then following the directions Brent gave should be pretty straight forward.
Or if you get to that stage and get stuck I could maybe remote in and help you with it.
The other way would be that someone ( maybe me ) could make a fresh version of it on an SD card and then make copy and all  you would have to do it flash it on an SD card ( and enter in your wifi ) .
Linux is a whole different world - took me awhile over the years to figure out how it works. But with the new desktop interface it is more like a regular computer.
Did you ever get an android and get Grahams Classic monitoring app going ? That really is a lot easier to do in many ways for monitoring until Brent gets his version all polished up. 
Larry

Larry,

Yes I did!

I went to best buys and threw down the $$$ for a android table. Grahams interface is slick, but you know, I like Brent's too. Grahams looks great, and I sure love the meters, but the amount of information you get from Brent's software is simply amazing.

Now, as for the raspberry pi...

I'm still head scratching here. Lunix is totally new to me. Does the operating system have a web browser in it? I mean how does one get Brent's software downloaded into the raspberry pi?

Do I download the software as a zip file and stick it on a sd card? Then load it into the pi?

it sure is a learning curve that i"m willing to take.
mike
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on December 28, 2020, 07:54:03 PM
You get the pi , then you download Raspberry Buster operating system from the website. You use a free program called Balena Etcher and that will flash the Buster OS from your download on computer to an SD card. Then you put the SD card in the pi and plug it in a  monitor, keyboard, and mouse   and you are in business - yes there is a regular window like desktop .
There are plenty of tutorials on youtube on how to do this. I like Explaining Computers youtube page but there are lots of others.
Once you get the pi up and running you don't even need the monitor or keyboard - there is a way to view everything on it from your Windows computer. As long as it is on your local network you can easily access it.
So to put in Brent's program on the Pi  you would just open a Cmd window pretty much like you did on Windows  and follow his directions.
This is how to put Ubuntu on raspberry pi 4 - you can use the same process to put on Raspbian Buster instead .
https://www.youtube.com/watch?v=RGaAZtA0ISQ
The only other consideration is that you can get a raspberry pi cheap but then you will need to get a power supply , case, SD card etc for it.
The old raspberry pi would run on any 5v supply but the newer ones need a bit more power so needs a decent 5v supply and one from a phone might not work
Rasberry Pi just came out with a new Pi 4 all mounted up in a keyboard and has the power supply ( I think) and operating system all installed. Might be a better option by the time you get all the other accessories for regular pi unless you already have them laying around anyway.
https://youtu.be/P1E5xszQqV8

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on January 04, 2021, 05:13:23 PM
Hi everyone! Happy New Year!

Mike-> glad to hear you're enjoying it, if you bump up your laptop's resolution you'll eliminate some of the graphics overlap.
A Pi really is just like a small Linux PC, and with the state of it's desktop it doesn't take long to get the hang of.
We have run CCDM on 3B+ and 4 series PI's with no issue.
They have USB ports so you can just straight copy the entire CCDM package onto the PI's desktop.
They typically come with python preloaded so generally all you have to do is load Pillow (similar to done in Windows) then copy CCDM to the desktop and edit the config file.

Mike and Larry -> Since you're both talking about trying it, one thing I have noticed bringing CCDM to a PI is there are some paths in the config file that might require the full paths to be specified (the default in the config file is relative paths) depending on what release of Rapsbian you run. Maybe it's a security thing, I never dug into it. I believe Stretch wanted full paths specified and Buster was fine as is (relative paths) but don't quote me on that. If you decide to try it and run into trouble getting it off the ground, let me know and I can walk you through the path edits, it will take less than a minute.


Mike, back to one of your previous comments; As for seeing Absorb on the Overview Tab there actually is a text field showing the current charge stage (below shows a system in Bulk, obviously):

(http://fort-wisers.ca/Albums/Camp%20Pics%20for%20Forum%20Use/CCDM%20Screen%20Shot%20(21).png)

So if the Classic goes into Absorb, you will see it here, if it drops back to Bulk (sudden cloud cover as you mentioned) you will see this charge stage drop back if the power being generated is not enough to maintain the Absorb voltage.
But you're correct, it doesn't stand out, so you've brought up a great point that we can work on to improve.
Let me look at the LED color scheme for some other controllers that use LEDs only for charge stage visualization and we can set the back ground color of this charge stage text field to match.
How does that sound?


Cheers, as always, keep the comments coming.
I'm hoping to set a target date for a number of the updates we've talked about soon......

Anyone else out there want to try what Larry and Mike have accomplished?

Cheers:
Brent





Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on January 05, 2021, 12:00:58 AM
Brent ,
I dug out my Pi3B+ but then got into other projects on it instead ! ( using sdr on a pi )
I already have Graham and Matt's Classic to MQTT program on it.
If you could make a docker install like Matt did - that would be great. Makes installing a lot easier for sure.
Andreas Spies and others have a docker install tool that will install those and other programs . It is called IOTstack
https://sensorsiot.github.io/IOTstack/Getting-Started/
So even though I dug out my pi to install CCDM on it - I haven't gotten to it yet .
I did find out a new tool that makes life a lot easier for me on the pi. I have Kitty for terminal program which is nice. But I also put on Notepad ++ which will connect to the pi ( with a plug in ) so you can look at files much easier than using terminal program. I also got another add on for Notepad ++ which will compare two different files. I had messed something up so was able to open the original I had on windows and the one on the pi - then click compare and it showed the two with any differences all colored.
I know you programmers probably have and use all kinds of tools like this - but this was new to me and made life easier .
I also have used the pi desktop via VNC Viewer but it seems kind of sluggish - I need to plug direct into the pi and see if it is different than going through vnc viewer.
So I will get back to the CCDM on the pi one of these late nights .

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on January 05, 2021, 04:11:35 AM
Morning Larry,

Let me see if I can free up some time to check out the link you sent and investigate docker, thanks for posting!

Yes, finding the time always seems to be an issue doesn't it?
Good luck with your PI....

Brent
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on January 05, 2021, 11:43:30 AM
Quote from: Fort Wisers on January 05, 2021, 04:11:35 AM
Morning Larry,

Let me see if I can free up some time to check out the link you sent and investigate docker, thanks for posting!

Yes, finding the time always seems to be an issue doesn't it?
Good luck with your PI....

Brent

Probably not worth the time right now figuring out how to build docker container - the time is probably better put into making all the refinements you want to the CCDM .
Docker is nice but  probably takes some time to build a container  - learning curve. I am only a happy end user of others efforts !
But the IOTstack tool makes it easy to install other programs on a pi - such as Mosquito , Node Red, Influx, Grafana , etc .
I am running CCDM today now since the sun is out.
I think I will see if I can get the CCDM installed on my pi now.
Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on January 05, 2021, 12:53:02 PM
Here are my notes for installing CCDM on Raspberry Pi in case it helps others.
First I want to point out that CCDM will not connect to the Classic if another program is using the Classic on IP such as the Midnite Local Status app or Android Classic Monitoring app. Only one IP connection at a time will work . ( it okay to have MyMidnite running and doesn't effect MyMidnite data getting sent out from Classic )

I am using a Raspberry Pi 3B+
running Buster Raspian 

I followed the instructions in Documentation in  CCDM package from Github
Using  checks python , pip , and pillow  I found everything already installed.
I am using SSH from my windows 10 computer and  terminal program called Kitty connected to the Pi ( same process  should work if you are running in a terminal on the pi desktop  )

To download files from github use this command
git clone https://github.com/Brent-Lekx-Toniolo/Charge-Controller-Data-Manager-CCDM.git


navigate to software folder
cd Charge-Controller-Data-Manager-CCDM/Software

to edit config file to change to my Classic IP address
sudo nano CCDM_config.py

after editing
control X  and say yes to save changes and yes to save in file

I then went to Raspberry Pi desktop   used file manager and opened up CCDM software folder.  ( I am still using my Window 10 computer and went to desktop with VNC Viewer)
I double clicked on CC_Data_Manager.py
and a program called Thonny opened up and at the top is a > Run button which when I clicked it the CCDM program opened up and ran on desktop just fine

Larry








Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on January 07, 2021, 01:49:08 AM
Hey folks, sorry for the silence these last couple days....

Nice work Larry!
I have not run CCDM through thonny, I've always run it directly through python through bash / terminal.
I would be interested to see if it still generates the daily log files  each night running via thonny, if you happened to let it run overnight, let me know.

Take care:
Brent

Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on January 07, 2021, 10:55:09 AM
Quote from: Fort Wisers on January 07, 2021, 01:49:08 AM
Hey folks, sorry for the silence these last couple days....

Nice work Larry!
I have not run CCDM through thonny, I've always run it directly through python through bash / terminal.
I would be interested to see if it still generates the daily log files  each night running via thonny, if you happened to let it run overnight, let me know.

Take care:
Brent

I haven't left it on overnight yet. Or checked the saved logs - guess I did have it on one night past midnight.
The thing is I have to shut it off sometimes because I can't see all the info I need sometimes since I have two controllers or if I need to use Local Status App to change an Aux setting.
What I  want to do is figure out how to use Influx DB and Graphana to make graphs of days data . It will just take me watching some tutorials to know how to do it.
I guess it might be easier to do the graphing using mqtt output from Graham and Matt's raspberry pi program.
Something else to learn !
Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on January 07, 2021, 01:29:20 PM
Hi again folks.....

Larry -> Adding a few graphs on to CCDM is something I'd like to accomplish.
The bit I looked into it, it would be best to add another package (similar to how we added Pillow when required) to leverage from to create plots.
It's on the list (so to speak) but I wanted to get the basic functionality and install method hammered home first.
Now you mentioned having to shut down to gather data from your other controllers.....
Here's a test for you....rename the original CCDM folder to CCDM1 and then make a copy and call that folder CCDM2 (or something like that).
Leave the original config file in or CCDM1 folder as you had it working, modify the config file in CCDM2 to point to the IP address of your second classic.
Once you've made the copies and edited the configs, simply open the first the first CC_Data_Manager as you normally would, then minimize it and open CC_Data_Manager in the second folder.
The only downfall is if you only have one monitor you'll have to flip between the two (minimize one, maximize the other) to gain full view of what's going on.
If you happen to have two monitors then you can dock one instance of CCDM to each monitor.

I have trial ran multiple instances of CCDM here in theory but never actually on two real CCs.....
But, in theory you should be able to run as many CCDM instances as your PC can handle.
Just be sure to edit the config files in each folder so that you don't have two CCDM instances trying to poll the same charge controller!
If you have a really big monitor, there is a way we can override the "auto sizing" CCDM does based on your monitor resolution so that you could potentially fit two CCDM instances into the space of one monitor, this will have limits in practicality though.

The long term plan (as you may have seen in the code) is to run one instance of CCDM to handle data reads from up to 4 controllers.
Again, it's on the list.....sorry, that's becoming my catch phrase.


Mike had a great question in a PM, and I hope he doesn't mind me answering it here, just so others see the answer.
(Mike if you're upset I answered it here instead of in the PM, please feel free to chew me out)
His question was how does CCDM decide on when to show a cloudy vs partly sunny vs sunny icon on the overview screen?

So, one thing I hadn't mentioned to you guys is this.....
In that same config file you modified for IP address, scroll until you find this line:
CC_EXPECTED_MAX_POWER = [700, 700, 700, 700]

Now set the first 700 to the power rating of your solar array....so if you have an array that can produce a total of 2000 watts, you'd change the line to this:
CC_EXPECTED_MAX_POWER = [2000, 700, 700, 700]

Now onto answering Mike's question.
In Bulk Charge Mode:
- if the incoming power is <20% of the expected max power, the cloudy icon is shown
- if the incoming power is >=20% but <70% of expected incoming, then the partly sunny icon is shown
- if the incoming power is >70% of expected incoming power, then the sunny icon is shown
My thinking behind doing these icons was a quick visual on how the incoming power compares to the real exposure. Meaning if we're in Bulk and I notice it's really sunny out but only see clouds on CCDM it's likely the panels are either dirty or I have a bad wire / connection somewhere between the array and the CC.
In Absorb and Float:
In these charge modes the incoming power is now not based entirely on array sunlight exposure, it's based upon CC input throttling (assuming there's at least enough available input power to maintain the mode).
The charge controller throttles the incoming power to achieve only enough power required to run loads and maintain the absorb or float charge voltage.
So, in these charges modes, I can't truly tell if the array is under cloud, sun or otherwise, so I just show sunny (IE it's a good day when you hit Absorb / Float).
In Sleep:
You get the wolf howling at the moon icon (our 12 year old daughters idea lol).

If you want to see the code behind the above, it's between lines 534 and 560 in the CCDM_UI_Class.py file....the method is called update_dynamic_images.


I hope that helps!
Take care and enjoy the end of the week:
Brent



Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on January 07, 2021, 08:33:36 PM
I will give that multiple CCDM a try sometime Brent.
I have to flip between the two already for both Local Status app and Grahams Classic Monitoring app. Though Graham has one screen that has spot you can click that will show the total kwh between both Classics though everything else you need to switch  controller screens.
I will try out the PV total parameter with different values sometime too. 
The Midnite already does some kind of cloud monitoring - at least in the Local Status app there is a place it tells you if there is clouding on the panels - so must be a modbus message.
It is the icon that shows up on the largest dial on Local Status - it also displays if input voltage is lower than output voltage. Maybe these are in Reason for Resting codes ?  And there is something  if the clock on computer is set different then on Classic.

Appreciate your development but no hurry on it !

Larry 


Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on January 08, 2021, 07:48:30 AM
Hey Larry,
I believe the feature you're referring to is partial shading detection, this is something a little different than just cloudy.
So if the CC does a sweep to determine the Maximum Power Point (MPP) on the input side (IE what's coming in from your panels) and the incoming voltage at that MPP is less than half (don't quote me on that value) of the VoC (Voltage, Open Circuit - the incoming voltage without any load) then it's likely that a part of your array is in decent light and the other part is shaded (generally caused by tree branches etc).
Where-as a simple cloudy day (or any cause where basically all of the array is under low light conditions) will result is nearly normal incoming voltages at MPP but low input current.
Anyhow, CCDM does show partial shading (note the feature has to be enabled in your classic).....if you go to the Misc Tab and look at the Charge Controller Info Flags section there is an indicator to show "PV partial Shading Detected".

This said though, it would be very little work to add this into the mix of icons.
All I described previous would take effect if there is no partial sharing detected, if partial shading is detected we could show a different icon, consider this added to the list!
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on January 08, 2021, 11:36:54 AM
Quote from: Fort Wisers on January 08, 2021, 07:48:30 AM
Hey Larry,
I believe the feature you're referring to is partial shading detection, this is something a little different than just cloudy.
So if the CC does a sweep to determine the Maximum Power Point (MPP) on the input side (IE what's coming in from your panels) and the incoming voltage at that MPP is less than half (don't quote me on that value) of the VoC (Voltage, Open Circuit - the incoming voltage without any load) then it's likely that a part of your array is in decent light and the other part is shaded (generally caused by tree branches etc).
Where-as a simple cloudy day (or any cause where basically all of the array is under low light conditions) will result is nearly normal incoming voltages at MPP but low input current.
Anyhow, CCDM does show partial shading (note the feature has to be enabled in your classic).....if you go to the Misc Tab and look at the Charge Controller Info Flags section there is an indicator to show "PV partial Shading Detected".

This said though, it would be very little work to add this into the mix of icons.
All I described previous would take effect if there is no partial sharing detected, if partial shading is detected we could show a different icon, consider this added to the list!

I learned a new one - never realized that partial shading notification was an option. I found it in the Tweaks section menu.

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on January 08, 2021, 01:48:46 PM
I have both of my controllers running at the same time the way you said to do it.
The thing that would be nice is if there was a display of the data without the graphics so I could shrink  the window size and put them side by side .
If I Shrink  the windows in present format I can't see a lot of the data unless I open them up full size.

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on January 08, 2021, 02:54:24 PM
Hey Larry, there is actually a way we can accomplish this......

Step 1: go into your good old config files, find the following:
UI_VIEW_STYLES = {
                "Application_Version": CCDM_VERSION,
                "UI_Mode": "graphics",
                "Tab_BG_Color": "default",
                "Widget_Group_Type": "tile",            #Valid inputs: None, "tile"
                "Widget_Group_BG": "light blue",
                "EntryWidget_BG": "gray90",
                "Base_Font_Size": 14                    #Valid range: 8-14 (might be limited based on screen res check)
                }   

This is the parameter we're after:

                "UI_Mode": "graphics",

Change the UI_Mode to "lists-only" so that you end up with this:

                "UI_Mode": "lists-only",

This will run CCDM without graphics, I think maybe the icons are still displayed but that's it......I can't remember.....

Step 2:
In order to override the auto-sizing thing CCDM does based on your PC monitor res, you need to edit the CCDM_UI_Class file (my plan is to move this editing to config in later revs).
Open the file and find these two lines (the are together, lines 93 and 94 if you're using notepad++ or similar to edit):
        self.Detected_Screen_Width = self.UI_root.winfo_screenwidth()
        self.Detected_Screen_Height = self.UI_root.winfo_screenheight()

Change them to look like this:
        self.Detected_Screen_Width = 1024
        self.Detected_Screen_Height = 768

This will force your instances of CCDM to run as a 1024 x 768 window instead of reverting you your PC monitors res settings.
So, assuming your PC's monitor is running a higher resolution than 1024 x 768, CCDM will now not take up your full monitor, so you might be able to place them side by side, one above / one below etc....whatever works to get the view you want.

A few words of warning, don't set the width x height to lower then 1024x768, CCDM will simply say "nope, can't go lower than this" (we could in theory change some code to ignore that warning)". That 1024x768 was a lower end screen res I decided upon based on what we're trying to fit on the screen vs font / data element usable size. Finally, 1024 x 768 likely won't fit completely side by side or over under unless you have a really high res monitor but MAYBE these steps will get you close to where you would like to be or decent enough so that you can at least see the majority of what you want to see side by side without having to flip through various views?
In all honesty I have not tested lists-only UI Mode in a number of builds, nor have I tested every single possible combination of widths and heights so expect some issues with overlap and other unknowns as you squash and pull the sizing around, while CCDM can resize and move things around during this resizing, it does have limits, and a number of the limits may not be checked in code.

Another option is to just do step 2, leave it in graphics mode and just override the opening resolution.

But, basically play around to help get something that will fit two instances in a usable manner on your screen. If your PC is already running a low res, you may have to play with that as well to make enough room for two CCDM instances.....

Have fun!
Have a great weekend:
Brent


Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on January 08, 2021, 07:40:13 PM
I did the changes and those worked Brent .
Thanks

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on January 08, 2021, 08:05:12 PM
That's great Larry, thanks for trialing it and for the screen shot!
Have yourself a great weekend:
Brent
Title: Re: CCDM - Charge Controller Data Manager
Post by: qrper on January 09, 2021, 11:05:05 AM
Brent....

A Raspberry PI4 should be here soon. I got a monitor coming as well so I can dedicate it to CCDM all the time. I went with PI4 simply because I could get the 4 GB of ram and only 1 GB for the RB3+. I didn't scourer the 'net looking, but rather did a Amazon purchase.
Everything should be here sunday, so it looks like Sunday night is going to be a Crown Royal, Diet Coke and Prozac kind of night.

mike
Title: Re: CCDM - Charge Controller Data Manager
Post by: qrper on January 09, 2021, 11:27:46 AM
Brent,

here's a screen shot of what I'm seeing. There are dozens of blocks of these errors flying by mixed in-between what appears to be downloads from the Classic.

mike
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on January 09, 2021, 05:00:08 PM
Quote from: qrper on January 09, 2021, 11:27:46 AM
Brent,

here's a screen shot of what I'm seeing. There are dozens of blocks of these errors flying by mixed in-between what appears to be downloads from the Classic.

mike

I get those errors on the Classic that I don't have a Whizbang installed on Mike.
Do you have a Whizbang ?

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: qrper on January 09, 2021, 05:30:38 PM
Quote from: ClassicCrazy on January 09, 2021, 05:00:08 PM
Quote from: qrper on January 09, 2021, 11:27:46 AM
Brent,

here's a screen shot of what I'm seeing. There are dozens of blocks of these errors flying by mixed in-between what appears to be downloads from the Classic.

mike

I get those errors on the Classic that I don't have a Whizbang installed on Mike.
Do you have a Whizbang ?

Larry

yes, Larry, I have the whizbang installed in the system and CCDM reports it's there and displays the results

mike
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on January 09, 2021, 06:43:34 PM
Quote from: qrper on January 09, 2021, 05:30:38 PM
Quote from: ClassicCrazy on January 09, 2021, 05:00:08 PM
Quote from: qrper on January 09, 2021, 11:27:46 AM
Brent,

here's a screen shot of what I'm seeing. There are dozens of blocks of these errors flying by mixed in-between what appears to be downloads from the Classic.

mike

I get those errors on the Classic that I don't have a Whizbang installed on Mike.
Do you have a Whizbang ?

Larry

yes, Larry, I have the whizbang installed in the system and CCDM reports it's there and displays the results

mike

This is the modbus document in case you want to figure out which registry numbers are the ones with the errors .
http://www.midnitesolar.com/pdfs/classic_register_map_Rev-C5-December-8-2013.pdf

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on January 09, 2021, 09:03:58 PM
Hey guys!

Good luck with the PI tomorrow Mike.

Now this register read error is an interesting one.....
The screen shot Mike sent show's a successful read cycle ("Gathering data from....." message with no errors under it) and then a read failure of literally every register CCDM reads.
Then back to a successful read.
Larry do you see yours the same way on the controller you get errors on (good read, then bad read, then good read and so on....)?

A few questions for both of you:
Can I trouble you guys to grab Firmware numbers from your Classics?
Can you check what A-RST is set to on your controllers (under the tweaks menu)
Is any other software program running that will poll the controller for data?

Thanks, enjoy the rest of your weekend!

Brent

Title: Re: CCDM - Charge Controller Data Manager
Post by: qrper on January 10, 2021, 11:54:29 AM
Quote from: Fort Wisers on January 09, 2021, 09:03:58 PM
Hey guys!

Good luck with the PI tomorrow Mike.

Now this register read error is an interesting one.....
The screen shot Mike sent show's a successful read cycle ("Gathering data from....." message with no errors under it) and then a read failure of literally every register CCDM reads.
Then back to a successful read.
Larry do you see yours the same way on the controller you get errors on (good read, then bad read, then good read and so on....)?

A few questions for both of you:
Can I trouble you guys to grab Firmware numbers from your Classics?
Can you check what A-RST is set to on your controllers (under the tweaks menu)
Is any other software program running that will poll the controller for data?

Thanks, enjoy the rest of your weekend!

Brent

brent,

the read failure comes in hunks. It does not appear to be a pattern. I get scads of good reads, the a block of bad reads.

Firmware for my classic is:
2193 02/06/2018

No other software running that would be talking to the classic

Tweaks menu? From the midnite local app? Or on the controller itself?

Mike
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on January 10, 2021, 11:57:28 AM
So sorry Mike, I should have explained that better, tweaks on the Classic Controller itself.
Cheers:
Brent
Title: Re: CCDM - Charge Controller Data Manager
Post by: qrper on January 10, 2021, 12:52:47 PM
Quote from: Fort Wisers on January 10, 2021, 11:57:28 AM
So sorry Mike, I should have explained that better, tweaks on the Classic Controller itself.
Cheers:
Brent

Sometimes, i can be incredibly stupid! The second I posted my reply, I knew what you wanted. So I checked the Classic and A-RST is set to OFF

Mike
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on January 10, 2021, 02:39:20 PM
from what I saw the errors I had on the one controller were identical to what Mike was seeing.
I will investigate the firmware,  settings, and any differences later.
I do know both my Classics are on same firmware which is 2197 mngp
                                                                                             2245 Classic

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on January 11, 2021, 08:47:36 AM
Morning guys,

Larry -> if both your CCs are on the same firmware and one controller read generates random errors but the other doesn't then that pretty much rules out firmware!
Thanks to for checking.

Mike -> You're too hard on yourself! Thanks for checking the status of A-Rst and your firmware.

Mike and Larry -> A-rst in tweaks (on the CC) can be set to ON, this will reboot your CC at midnight, therefore flushing out all networking errors in the classic, so you can try and set this to On.
Doing some reading, this helped solve some disconnect errors others had with other applications and issues with Classics falling off networks. However, what we're seeing here (random read failures on some controllers but not all) is a little different so I'm not expecting A-rst to fix this.
Maybe we try that and leave, allow the classic to reboot overnight and see if that cures the issue?
A quick check, if you didn't feel like waiting until the next day, would to be to just hard reboot your classics and see how CCDM responds (have the errors stopped)?
If A-rst / reboots don't work, I have another idea....


One more question for you guys, in your CC's, how is your CC getting an IP address? Is it set statically or DHCP?

I'll admit, I'm at a bit of a loss, I'll have to do some playing next time we're at the cabin on the real controller, in the meantime I'll keep reading here in hopes that something pops out at me.
Our classic is running at FW 2126, so I'm behind, maybe this is a good excuse to finally uprev just as a sanity check and to keep the classic up to date.

Thanks guys!
Brent
Title: Re: CCDM - Charge Controller Data Manager
Post by: qrper on January 11, 2021, 01:01:29 PM
Quote from: Fort Wisers on January 11, 2021, 08:47:36 AM
Morning guys,

Larry -> if both your CCs are on the same firmware and one controller read generates random errors but the other doesn't then that pretty much rules out firmware!
Thanks to for checking.

Mike -> You're too hard on yourself! Thanks for checking the status of A-Rst and your firmware.

Mike and Larry -> A-rst in tweaks (on the CC) can be set to ON, this will reboot your CC at midnight, therefore flushing out all networking errors in the classic, so you can try and set this to On.
Doing some reading, this helped solve some disconnect errors others had with other applications and issues with Classics falling off networks. However, what we're seeing here (random read failures on some controllers but not all) is a little different so I'm not expecting A-rst to fix this.
Maybe we try that and leave, allow the classic to reboot overnight and see if that cures the issue?
A quick check, if you didn't feel like waiting until the next day, would to be to just hard reboot your classics and see how CCDM responds (have the errors stopped)?
If A-rst / reboots don't work, I have another idea....


One more question for you guys, in your CC's, how is your CC getting an IP address? Is it set statically or DHCP?

I'll admit, I'm at a bit of a loss, I'll have to do some playing next time we're at the cabin on the real controller, in the meantime I'll keep reading here in hopes that something pops out at me.
Our classic is running at FW 2126, so I'm behind, maybe this is a good excuse to finally uprev just as a sanity check and to keep the classic up to date.

Thanks guys!
Brent

Brent/Larry

I had a slice of Raspberry PI this morning. I purchased a 'kit' of all the required parts including a pre-loaded sim card. Everything went together without hassle.
I had a terrible time getting the Raspberry to connect to my wifi. I figured it out after a few million tries.
And Brent, downloaded the files and everything came to an abrupt halt trying to figure out Linux.
Clicking on the CCDM file, it opened the python window.... Hummmm.... Thinking back to my old days of binary files on the Apple, I tried typing 'run' but that didn't work either. So why not click the 'run' button.

Whoa, there be CCDM on the Raspberry PI. Changed the configure file to match my Classic and the program works fine.

I still have some errors from the Classic like I posted, but it appears not as many. I don't know.

Will set the A-rst to on later today.

Happy camper here. Now if there was only a way to allow more than one connection at a time to a Classic. That would be cool.

A Linux question.

When CCDD has been downloaded and put into a folder. Where does the space come from? Is that stored on the SD card or on the PI's internal RAM?

mike
Title: Re: CCDM - Charge Controller Data Manager
Post by: mcsarge on January 11, 2021, 02:10:54 PM
Quote from: qrper on January 11, 2021, 01:01:29 PM
Quote from: Fort Wisers on January 11, 2021, 08:47:36 AM
Morning guys,

Larry -> if both your CCs are on the same firmware and one controller read generates random errors but the other doesn't then that pretty much rules out firmware!
Thanks to for checking.

Mike -> You're too hard on yourself! Thanks for checking the status of A-Rst and your firmware.

Mike and Larry -> A-rst in tweaks (on the CC) can be set to ON, this will reboot your CC at midnight, therefore flushing out all networking errors in the classic, so you can try and set this to On.
Doing some reading, this helped solve some disconnect errors others had with other applications and issues with Classics falling off networks. However, what we're seeing here (random read failures on some controllers but not all) is a little different so I'm not expecting A-rst to fix this.
Maybe we try that and leave, allow the classic to reboot overnight and see if that cures the issue?
A quick check, if you didn't feel like waiting until the next day, would to be to just hard reboot your classics and see how CCDM responds (have the errors stopped)?
If A-rst / reboots don't work, I have another idea....


One more question for you guys, in your CC's, how is your CC getting an IP address? Is it set statically or DHCP?

I'll admit, I'm at a bit of a loss, I'll have to do some playing next time we're at the cabin on the real controller, in the meantime I'll keep reading here in hopes that something pops out at me.
Our classic is running at FW 2126, so I'm behind, maybe this is a good excuse to finally uprev just as a sanity check and to keep the classic up to date.

Thanks guys!
Brent

Brent/Larry

I had a slice of Raspberry PI this morning. I purchased a 'kit' of all the required parts including a pre-loaded sim card. Everything went together without hassle.
I had a terrible time getting the Raspberry to connect to my wifi. I figured it out after a few million tries.
And Brent, downloaded the files and everything came to an abrupt halt trying to figure out Linux.
Clicking on the CCDM file, it opened the python window.... Hummmm.... Thinking back to my old days of binary files on the Apple, I tried typing 'run' but that didn't work either. So why not click the 'run' button.

Whoa, there be CCDM on the Raspberry PI. Changed the configure file to match my Classic and the program works fine.

I still have some errors from the Classic like I posted, but it appears not as many. I don't know.

Will set the A-rst to on later today.

Happy camper here. Now if there was only a way to allow more than one connection at a time to a Classic. That would be cool.

A Linux question.

When CCDD has been downloaded and put into a folder. Where does the space come from? Is that stored on the SD card or on the PI's internal RAM?

mike

In the Pi World, everything that would be on a disk in a normal computer is on the SD card (it acts as a disk).

Typically, when you launch a python program you must use the python command and a reference to the file to run (like the old basic command:
basic myprogram.bas)

python /home/pi/folder/MyCoolProgram.py or
python3 /home/pi/folder/MyCoolProgramThatRequiresPython3.py

if you "cd" (change directory) into the folder where your python file is located, then you can just do:

cd /home/pi/folder
python MyCoolProgram.py

Matt
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on January 11, 2021, 02:12:01 PM
Nice work Mike!

To answer your question, the CCDM package itself (folder, files, documents etc) takes up space on the micro SD card (looks like a cell phone sim card), this space will always be gone unless you delete the CCDM package entirely. So if you want to minimize the space taken up one thing you can do is delete the documentation folder in the CCDM package.
That will eliminate the Getting Started guide, you can simply open  the guide online through the GitHub account or keep as a copy on another PC that isn't as limited as a PI is in terms of storage space.
This use of SD card space goes for anything you put onto your PI. Think of the micro SD card like the Hard Drive on your PC.

When you actually run CCDM, the program itself will use up a small portion of your RAM to create objects / variables etc etc...basically to create itself (this we call an instance).
However, when you close the program, garbage collection processes will free up that portion of RAM and return it for other programs to use.
So this use of RAM is only applicable when running the program.
That also goes for other programs you run.

Hope that helps!
Take care:
Brent


**EDIT** Matt posted his reply to the thread while I was typing this in and beat me to the punch! Thanks Matt, especially for the point about starting the program via terminal


Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on January 12, 2021, 02:38:53 PM
Brent,
I see the error block come up occasionally on both of my Classics.
I had an issue this morning with the networked follow me shared battery temperature ( not related to CCDM) so I did a VMM reset on the second Classic.
It didn't seem to change those errors.
Could they just be a timing issue reading those blocks on the network ? Although it is always the same errors on both Classics ( and Mike's) when they come.
It doesn't seem to effect CCDM though.

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on January 12, 2021, 03:13:41 PM
Hey gang!
How often would you say is occasionally Larry?

So its not fixed via a Classic reboot (not surprised by that one).

On this end polling at 0.5 seconds has not been an issue.
The network of our system is very simple, one router, one pi, one classic. All Static IPs (static on the Intranet end, not static on the internet end).
I guess anything is possible in terms of network traffic, but generally 0.5 second polling rate is pretty darn slow from a network perspective.

I do somewhat wonder if we're occasionally interrupting the classic while it's doing other things and can't service the modbus request?

So, onto my other idea.....
Perhaps we try this, in config find the following:
CC_POLLING_RATE = 0.5   #Set general system update rate (in secs)
Let's increase that to 2 so it looks like this:
CC_POLLING_RATE = 2   #Set general system update rate (in secs)

If that helps then we can try dropping to 1.5, then 1.
If it doesn't help then I'll have to trial a few things at our cabin to try and replicate the issue, I never pushed the system below 0.5 to see how close to a lower margin we are.
I'd also like to uprev our firmware just because it's long over due!
Our province just issued a "stay at home order" it might be a while until anything can take place on our system.
Normally I have internet access to VNC into the cabin system, but we shut our inverter down during the winter to protect against the possibility of the system draining should panels become snow loaded.

In the meantime, I'm glad it's not causing any real grief, but I'd like to get to the bottom of it.

As always, thanks for all the feedback!
Brent

Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on January 13, 2021, 02:35:02 AM
At first I thought that the errors I saw were coming from one Classic being on Follow Me.
But then I today I saw them on both.
I still haven't figured out why I lost the network battery temperature sensor in Follow Me after it worked for so long.
I thought I had some problem today because no power was coming out of one of my systems. Turns out it was because when the battery temp compensation failed the system thought it was full because the other system had the battery voltage up higher . Weird issue - that would suck to have that happen on a remote system. I got it working again by plugging in the second battery temperature sensor.
I just read the knowledge base on follow me problems - guess I need to test my connecting cable and there is an easy way to do it.
I will take a look at CCDM  again when I have some time to study what it is doing a bit more.
Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: qrper on January 13, 2021, 10:59:30 AM
Quote from: Fort Wisers on January 12, 2021, 03:13:41 PM
Hey gang!
How often would you say is occasionally Larry?

So its not fixed via a Classic reboot (not surprised by that one).

On this end polling at 0.5 seconds has not been an issue.
The network of our system is very simple, one router, one pi, one classic. All Static IPs (static on the Intranet end, not static on the internet end).
I guess anything is possible in terms of network traffic, but generally 0.5 second polling rate is pretty darn slow from a network perspective.

I do somewhat wonder if we're occasionally interrupting the classic while it's doing other things and can't service the modbus request?

So, onto my other idea.....
Perhaps we try this, in config find the following:
CC_POLLING_RATE = 0.5   #Set general system update rate (in secs)
Let's increase that to 2 so it looks like this:
CC_POLLING_RATE = 2   #Set general system update rate (in secs)

If that helps then we can try dropping to 1.5, then 1.
If it doesn't help then I'll have to trial a few things at our cabin to try and replicate the issue, I never pushed the system below 0.5 to see how close to a lower margin we are.
I'd also like to uprev our firmware just because it's long over due!
Our province just issued a "stay at home order" it might be a while until anything can take place on our system.
Normally I have internet access to VNC into the cabin system, but we shut our inverter down during the winter to protect against the possibility of the system draining should panels become snow loaded.

In the meantime, I'm glad it's not causing any real grief, but I'd like to get to the bottom of it.

As always, thanks for all the feedback!
Brent

Brent,

The midnight Classic reset didn't stop the errors here either.
Other than the Whizbang shunt, there is nothing connected to my Classic 150, so it's not talking to any other device.

Mike
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on January 15, 2021, 06:03:44 AM
Morning! Happy Friday!

Anyone try playing with the CC_POLLING_RATE values yet?
If you haven't no worries....
I have a number of changes developed towards 0.0.2, just need to find the time for a bit of testing.

Have yourselves a fantastic weekend:
Brent
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on January 15, 2021, 02:19:11 PM
Quote from: Fort Wisers on January 15, 2021, 06:03:44 AM
Morning! Happy Friday!

Anyone try playing with the CC_POLLING_RATE values yet?
If you haven't no worries....
I have a number of changes developed towards 0.0.2, just need to find the time for a bit of testing.

Have yourselves a fantastic weekend:
Brent

Brent
I just changed the poll rate to 2.0 and have seen the error block but not as often as before - just occasionally and mainly from one controller.

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on January 18, 2021, 06:25:24 AM
Quote from: ClassicCrazy on January 15, 2021, 02:19:11 PM

Brent
I just changed the poll rate to 2.0 and have seen the error block but not as often as before - just occasionally and mainly from one controller.

Larry

Interesting......
Next time we're at the cabin I'll do a Firmware Update on the Classic and perform some tests.
As always, thanks for the feedback.
Have a good week:
Brent
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on January 18, 2021, 02:56:53 PM
Quote from: Fort Wisers on January 18, 2021, 06:25:24 AM
Quote from: ClassicCrazy on January 15, 2021, 02:19:11 PM

Brent
I just changed the poll rate to 2.0 and have seen the error block but not as often as before - just occasionally and mainly from one controller.

Larry

Interesting......
Next time we're at the cabin I'll do a Firmware Update on the Classic and perform some tests.
As always, thanks for the feedback.
Have a good week:
Brent

Brent - Midnite has Classic Firmware 2193 on their webpage but Bob had put out another one that got rid of an annoying tone if you were using the voice options. Not sure if they incorporated that fix into 2193 or not. But this is the firmware I am using 2245 - look here http://midniteftp.com/forum/index.php?topic=4212.msg41349#msg41349

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on January 19, 2021, 02:25:26 AM
Quote from: ClassicCrazy on January 18, 2021, 02:56:53 PM
Brent - Midnite has Classic Firmware 2193 on their webpage but Bob had put out another one that got rid of an annoying tone if you were using the voice options. Not sure if they incorporated that fix into 2193 or not. But this is the firmware I am using 2245 - look here http://midniteftp.com/forum/index.php?topic=4212.msg41349#msg41349

Larry

Thanks Larry, I appreciate your insight on this one.
Take care:
Brent
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on January 26, 2021, 02:17:24 AM
Brent
You should have this discussion  moved to the open source section of the forums .
You might be interested in this that was posted on  a discussion there. It tells how to go about making an IOT Stack container for docker
https://gist.github.com/Paraphraser/378d17e759901d4871e5be4327e3f3c8

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on January 27, 2021, 08:26:44 AM
Quote from: ClassicCrazy on January 26, 2021, 02:17:24 AM
Brent
You should have this discussion  moved to the open source section of the forums .
You might be interested in this that was posted on  a discussion there. It tells how to go about making an IOT Stack container for docker
https://gist.github.com/Paraphraser/378d17e759901d4871e5be4327e3f3c8

Larry

Hey Larry!
I shall check out the link sometime soon hopefully. Things got a little busy on this end with the kids transitioning from virtual school to back to school so everything else went on hold.
Good idea about moving this to the Open Source section, to be honest I didn't even realize the forum had a dedicated section but will check it out as well, as time permits.
Take care:
Brent
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on January 27, 2021, 07:05:08 PM
Quote from: Fort Wisers on January 27, 2021, 08:26:44 AM
Quote from: ClassicCrazy on January 26, 2021, 02:17:24 AM
Brent
You should have this discussion  moved to the open source section of the forums .
You might be interested in this that was posted on  a discussion there. It tells how to go about making an IOT Stack container for docker
https://gist.github.com/Paraphraser/378d17e759901d4871e5be4327e3f3c8

Larry

Hey Larry!
I shall check out the link sometime soon hopefully. Things got a little busy on this end with the kids transitioning from virtual school to back to school so everything else went on hold.
Good idea about moving this to the Open Source section, to be honest I didn't even realize the forum had a dedicated section but will check it out as well, as time permits.
Take care:
Brent

No problems or hurry. I understand the too busy with things !

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on February 05, 2021, 12:15:20 PM
Moderators -> Could you move this entire thread to the Open Source section of the forum (as per Larry's suggestion).

Larry and Mike (and anyone else following) -> I hope to post "0.0.2 - beta" by the end of Feb.
Nothing too serious in terms of updates, just a number of the small additions / tweaks we've discussed so far
Title: Re: CCDM - Charge Controller Data Manager
Post by: FNG on February 06, 2021, 06:58:22 AM
Moved
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on February 06, 2021, 07:16:44 AM
Quote from: FNG on February 06, 2021, 06:58:22 AM
Moved
Thank you!
Have a great weekend:
Brent
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on March 01, 2021, 05:37:16 PM
Posted up v0.0.2-beta of CCDM

Changes / Additions include:

- Added CCDM Configuration file data to Config Tab
- Added wind turbine image for Midnite Classics running in MPPT Wind Mode
- Broke out Config file to "default" and non default (user) to prevent over-write on future upgrades
- Added some extra text on various widgets to better explain data point (per end users feedback)
- Added ability to change between DegC and DegF for temperature data points
- Added partial shading icon
- Added ability to enter UI opening size overrides in config file
- Added Net Amp hours data point   
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on March 01, 2021, 05:58:06 PM
Hi again moderators, could I ask for another move? Can we move this thread to the General Info section of Open Source since this project is not just for Rasp Pi?
Thanks, sorry for the trouble!
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on March 01, 2021, 07:31:51 PM
Quote from: Fort Wisers on March 01, 2021, 05:37:16 PM
Posted up v0.0.2-beta of CCDM
https://github.com/Brent-Lekx-Toniolo/Charge-Controller-Data-Manager-CCDM/releases/tag/v0.0.2-beta (https://github.com/Brent-Lekx-Toniolo/Charge-Controller-Data-Manager-CCDM/releases/tag/v0.0.2-beta)

Changes / Additions include:

- Added CCDM Configuration file data to Config Tab
- Added wind turbine image for Midnite Classics running in MPPT Wind Mode
- Broke out Config file to "default" and non default (user) to prevent over-write on future upgrades
- Added some extra text on various widgets to better explain data point (per end users feedback)
- Added ability to change between DegC and DegF for temperature data points
- Added partial shading icon
- Added ability to enter UI opening size overrides in config file
- Added Net Amp hours data point

I erased the old files and extracted the new zip.
All I had to do was edit config default file with ip address and it worked. I did this for both classics .
I don't understand what you mean by default and non default files ?
When the sun is  out again I will let it run and see how it goes. I haven't been using CCDM for awhile because I was playing around with the MQTT Classic Monitor for awhile. And then I was just using regular Local Status because I had to change Aux setups .
I like the F temps now
Thanks

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on March 01, 2021, 08:27:26 PM
Hey Larry!
Thanks for taking the time to download the latest and get it setup!

So I have broke out the ability to create a user config file from the default config file.
The package you download will come with "CCDM_config_default.py" file only.
You can take this, rename it to "CCDM_config.py" and edit it with your custom config settings (favorite temperature display, controller IP addresses etc).
Then, when I release the next version of CCDM you can use this edited config file (copy and paste your edited config file to the new package) and not lose your edits.

OR you can simply edit the default file, CCDM will accept either.

Have fun, thanks again:
Brent

Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on March 02, 2021, 12:23:28 AM
I think I tried editing and making a config.py without the default and it wouldn't work.
But could be I messed something up with name or file type . Maybe I will try again tomorrow.

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on March 02, 2021, 04:55:59 AM
Hey Larry,
The naming has to be either:

CCDM_config_default.py (the default that comes with the package)
OR
CCDM_config.py (user edited version of above)

When it CCDM launches, it looks for a user edited version, if it can't find it, it will revert back to the default (so don't delete the default version).
My only reasoning for adding this feature is so, in the future, when a user downloads a new package of CCDM, they can simply copy and paste their user edited version of the file from a previous package. This avoids you having to update the IP address etc each time you download a new version (that's the hope anyhow!).

Good luck, thanks for your time:

Brent
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on March 02, 2021, 11:45:59 AM
Okay - I saved file to config without default and it is working fine.
I turned off graphics to lists only. There is one graphic that still stays on . ( photo below shows it )
Is there an easy  way to force all the lists to bunch together to take up the space where the graphics were ?
When I want to minimize the screen I can drag the right side over to make the window smaller but I can't drag the left side over . Maybe t this is a windows thing. I am running this on windows 10 right now.
My goal was to be able to shrink both CCDM windows from the two controllers to get them both to show side by side on my monitor.  Maybe you have plans in future to show multiple controllers in one running instance ?

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on March 02, 2021, 03:50:48 PM
Hey Larry,

Hmmm seems I messed something up with the dynamic images section, none of the images should be displaying in lists-only display mode.
Perhaps I need to make myself a formal regression testing checklist for this package.
With all the sizing options and also different display modes it's often longer re-checking all the old options after code changes then it is adding the new code.

I will have a look (hopefully tonight or tomorrow morning) and then post a fix and send a response about your sizing question.
Sorry for the trouble, thanks for the feedback:
Brent
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on March 02, 2021, 05:44:12 PM
It is zero trouble here !
No hurry or worries .

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on March 03, 2021, 03:05:40 PM
Quote from: ClassicCrazy on March 02, 2021, 05:44:12 PM
It is zero trouble here !
No hurry or worries .

Larry

Phew! As you can see, I didn't get to it last night or this morning......I will get onto it ASAP.
Take care:
Brent
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on March 24, 2021, 03:54:41 AM
Quote from: ClassicCrazy on March 02, 2021, 11:45:59 AM
Okay - I saved file to config without default and it is working fine.
I turned off graphics to lists only. There is one graphic that still stays on . ( photo below shows it )
Is there an easy  way to force all the lists to bunch together to take up the space where the graphics were ?
When I want to minimize the screen I can drag the right side over to make the window smaller but I can't drag the left side over . Maybe t this is a windows thing. I am running this on windows 10 right now.
My goal was to be able to shrink both CCDM windows from the two controllers to get them both to show side by side on my monitor.  Maybe you have plans in future to show multiple controllers in one running instance ?

Larry


Hi Larry (and all),
So sorry for the delay, work has been nuts and we are now neck deep into a bunch of home renovations.

I finally got a chance to do a quick change for you in regards to the above.
If you go and download the latest (0.0.2 build 20210323) and switch to lists-only (as you have been doing, or simply use your previous config file) you will see the dynamic graphics are gone and I moved
the Charge Controller Details widget to this area where the graphics were showing up, when in lists-only UI mode.

From here, if required, you can re-size the standard opening width and height in the config file by adjusting the values of these:

"Width_Override": 0,                    #Set UI Width override here (Minimum width = 1024), leave zero to allow CCDM to auto size to screen resolution
"Height_Override": 0                    #Set UI Height override here (Minimum Height = 768), leave zero to allow CCDM to auto size to screen resolution

I hope this helps you get what you need!
To answer your question, yes the long term plan is to be able to run multiple Charge Controllers in a single CCDM instance.
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on March 24, 2021, 11:18:54 AM
I will give the new version a try later tonight or tomorrow - thanks for the update.

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on March 25, 2021, 08:09:50 PM
I did the update - all seemed to work fine .
thanks
Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on March 26, 2021, 06:16:59 AM
Hi Larry, thanks for taking the time to check it all out, this is much appreciated.
have a great weekend:
Brent
Title: Re: CCDM - Charge Controller Data Manager
Post by: MountianComm on June 08, 2021, 12:09:28 AM
Fort Wisers,
I have to thank you for this program. It is exactly what I needed. I have a classic 150 at a remote communications site that is 100% solar powered. I was finally able to get an internet connection going. For the pi that is running CCDM I also have tailscale running which is a virtual VPN. As long at the pi has an internet connection I can use VNC on my phone or computer to log into the pi and check the charge controller status.

Right now we only have one internet connection. It is thru a pi with a SIM card pi hat. This pi is at another location the two sites are tied together thru a MW IP bridge.

For those needing a remote monitoring option I think a pi with CCDM, tailscale and a cellular pi hat would make a great option.

Waiting to see if the email works now.

TNX Jim.
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on June 08, 2021, 06:48:52 PM
Quote from: MountianComm on June 08, 2021, 12:09:28 AM
Fort Wisers,
I have to thank you for this program. It is exactly what I needed. I have a classic 150 at a remote communications site that is 100% solar powered. I was finally able to get an internet connection going. For the pi that is running CCDM I also have tailscale running which is a virtual VPN. As long at the pi has an internet connection I can use VNC on my phone or computer to log into the pi and check the charge controller status.

Right now we only have one internet connection. It is thru a pi with a SIM card pi hat. This pi is at another location the two sites are tied together thru a MW IP bridge.

For those needing a remote monitoring option I think a pi with CCDM, tailscale and a cellular pi hat would make a great option.

Waiting to see if the email works now.

TNX Jim.


Hi Jim,

Thanks for the kind words and feedback, I'm glad it's working for your project.

Some words of caution on the email log function:
The password and other email information is currently stored in a simple text based .py file on the pi, so this information is vulnerable should your pi get hacked.
The SMTP connection implementation in CCDM is of type SMTP_SSL, so data transfer to and from your email account server is somewhat secure but SSL is considered out of date.
Upgrades to encapsulate email information (account, password etc) into a secure DB and upgrade the SMTP implementation to TLS are on the "to do" list.

I threw together the email portion in a real hurry and have yet to clean up some of this portion.
So if you attempt to use it, create a separate "from" email account that will be used for CCDM email messaging alone.
We've been running with a separate "from" account for months now with zero issues......but that doesn't mean it's not vulnerable.
This is why the email option doesn't currently show up in the documentation.

If you get it working, expect to see something like this in your email inbox each 24 hour period:

(http://www.fort-wisers.ca/Albums/Camp%20Pics%20for%20Forum%20Use/CCDM%20Email%20Example.jpg)

I hope to get a bit of work done on CCDM soon and will post on this thread as new versions / builds are posted up!
Have fun and take care:
Brent
Title: Re: CCDM - Charge Controller Data Manager
Post by: MountianComm on June 11, 2021, 02:43:33 AM
Brent,
Its a work in progress I get it.  I went back into my email config and found a bad email address.  Hopefully it works tonight..... Just got a notification from gmail a less secure device was trying to use my account.  for those using a gmail turn on the less secure device for this to work correctly

I cant seem to find the values for the battery widget.  I found it once by accident but I entered the wrong capacity.  I put in the 20 hr discharge capacity not the 5 hour discharge capacity that the system discharges at. 

Does the current release support a second charge controller?  I hope to be adding a second independent CC and solar array to the site this summer.

My application is a remote communications building on top of a mountain at 7300'  At present I have a 2.8kWH array with one Classic 150.  I will be adding a second classic with a 1.5 kWH array.  Our internet is currently thru a RPI with a cell HAT at another location.  I am adding an additional cell data connection at the site plus a primary MW IP to a third location with internet.  I have two additional sites that are 100% solar that will be part of this network.  I intend on using CCDM at these sites, However it doesn't look like CCDM supports the KID yet? 

great work.  TNX jim

Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on June 11, 2021, 10:24:52 AM
Quote from: MountianComm on June 11, 2021, 02:43:33 AM
Brent,
Its a work in progress I get it.  I went back into my email config and found a bad email address.  Hopefully it works tonight..... Just got a notification from gmail a less secure device was trying to use my account.  for those using a gmail turn on the less secure device for this to work correctly

I cant seem to find the values for the battery widget.  I found it once by accident but I entered the wrong capacity.  I put in the 20 hr discharge capacity not the 5 hour discharge capacity that the system discharges at. 

Does the current release support a second charge controller?  I hope to be adding a second independent CC and solar array to the site this summer.

My application is a remote communications building on top of a mountain at 7300'  At present I have a 2.8kWH array with one Classic 150.  I will be adding a second classic with a 1.5 kWH array.  Our internet is currently thru a RPI with a cell HAT at another location.  I am adding an additional cell data connection at the site plus a primary MW IP to a third location with internet.  I have two additional sites that are 100% solar that will be part of this network.  I intend on using CCDM at these sites, However it doesn't look like CCDM supports the KID yet? 

great work.  TNX jim

The Kid needs a serial connection to get data and the data that it provides is very limited. There is no modbus on it either.

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: MountianComm on June 11, 2021, 10:31:38 AM
I got that impression after posting this.  I went into the arduino forum and found dgd Ethernet Modbus port for KID project.  I was hoping to see if dgd project with the arduino and a network interface could work with this project. 

The next two solar sites are pole mounts  a classic would be way overkill for what I need.
Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on June 11, 2021, 05:43:05 PM
Quote from: MountianComm on June 11, 2021, 10:31:38 AM
I got that impression after posting this.  I went into the arduino forum and found dgd Ethernet Modbus port for KID project.  I was hoping to see if dgd project with the arduino and a network interface could work with this project. 

The next two solar sites are pole mounts  a classic would be way overkill for what I need.

Look in either node red or raspberry pi section. There was a project where Ricardo had  monitoring node red set up for the Kid

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on June 11, 2021, 09:22:24 PM
Hey Jim and Larry,

Fingers crossed on your email setting Jim!

Let me see if I can answer a few questions:

Battery Capacity should be set in the Classic controller under the Whizbang setup area, here you set-up the capacity, efficiency etc.
Now that said, don't be surprised if what CCDM shows you is something different, that setup value is the baseline capacity only.
Inside the Classic, from this baseline value, they take into account the configured battery efficiency as well as estimate the capacity based on battery temperature.
CCDM reads and displays this estimated capacity from the Classic.

The current CCDM release does not support reading data from multiple controllers, that's another feature on the todo list.
That said I think Larry had some luck simply making a second copy of the entire CCDM folder, configuring it to tie to his second classic and just running two CCDMs at once.
Perhaps that will work in your case to get you by until multi CC support is complete from one running instance.

Reading from the Kid (Larry is correct it is a serial interface as apposed to the Modbus TCP of the classics) is something that I've been toying adding with but have not actually added it to the official todo list, perhaps I should be thinking more serious about it. As Larry mentioned, the amount of data available from the Kid is not as extensive compared to what we can grab from the classics, but certainly enough to populate a good portion of CCDM.

That said, I actually plan on running a Kid myself on a smaller solar project we have at our cabin, if we do, that might fast track Kid I/F development as well.......just not sure on our timing on this project yet......
I would have to go over and check out the dgd project to see what has been done there, if they've bridged the serial I/F to TCP then this might help fast track things as well since then all I'm doing is adding a new CC type......(and not a new hardware I/F as well).



Take care and enjoy the weekend:
Brent




Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on June 12, 2021, 12:32:36 AM
Here is one post about Kid to Node Red
http://midniteftp.com/forum/index.php?topic=4074.0
And here is a node red flow from it
http://midniteftp.com/forum/index.php?topic=4066.msg39969#msg39969

Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: MountianComm on June 15, 2021, 02:52:22 AM
Brent,
Still no luck with the email messages.  I though when gmail kicked out a message saying a device attempted to access the account, and I went in an opened it up (in the gmail account security) I thought had this figured but I guess not.  maybe a future more diagnostic tool would be an email button that forced an email message?

I will keep checking back for updates.  The Kid addition would be great!  In my applications I check my system(s) daily to see what the SOC is in the morning, how soon do the batteries reach float etc.  I have to make sure my equipment isnt outpacing production.  Unlike a cabin  I have to keep equipment power 24/7

I really wish I could contribute here but my expertise is in building radio systems not coding.

TNX jim 

Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on June 15, 2021, 06:06:42 AM
Hey Jim!

Over the next week or so I'll give trial to a mock gmail account on this end to test and report back.
I'm currently using our own private mail sever so perhaps there's something I overlooked.
A "Test" button is a great idea.....

Even the feedback alone is a huge contribution to pushing things along, there's only so much I can test here at home / cabin and only so many scenarios that can be seen.
The more feedback the better, having guys like you, Larry and Mike trialing things etc has been great. I'm the one holding up the show in never finding time to develop further!


Thanks and enjoy your day:
Brent

Title: Re: CCDM - Charge Controller Data Manager
Post by: ClassicCrazy on June 15, 2021, 06:17:09 PM
Quote from: MountianComm on June 15, 2021, 02:52:22 AM
Brent,
Still no luck with the email messages.  I though when gmail kicked out a message saying a device attempted to access the account, and I went in an opened it up (in the gmail account security) I thought had this figured but I guess not.  maybe a future more diagnostic tool would be an email button that forced an email message?

I will keep checking back for updates.  The Kid addition would be great!  In my applications I check my system(s) daily to see what the SOC is in the morning, how soon do the batteries reach float etc.  I have to make sure my equipment isnt outpacing production.  Unlike a cabin  I have to keep equipment power 24/7

I really wish I could contribute here but my expertise is in building radio systems not coding.

TNX jim

I know when I set up a video camera to send emails to google - there was a special process to use on google. You have to get a code number from google if I remember correctly - you can't just put in your email and password and make it work. Somewhere in al the google setup there is a place to add other devices but I don't remember right now how I did it.
Larry
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on June 25, 2021, 05:15:08 AM
Hi everyone,
I'm terribly sorry for the delay in response, with work on the road last week and the kids school year coming to an end this week, time sure is rushing by!
I have yet to trial using a gmail account for CCDM to send emailed reports but it would not surprise me if Gmail has some extra protection to avoid all out email relaying.

However, I really liked Jim's idea of having a test button, so I quickly added this in.
Note: All the previous warnings about using the CCDM email function still apply as I have yet to update the security portions of the code


So if you download the latest build of CCDM you will see a new "Test Email" button on the configuration tab
Another note: If you download the latest the only files that have been updated are CC_Data_Manager.py and CC_UIClass.py so you can simply copy and paste them into your old package so you don't overwrite you config files

(http://www.fort-wisers.ca/Albums/Camp%20Pics%20for%20Forum%20Use/CCDM%20Screen%20Shot%20(25).jpg)

A few things need to be in place in order for the new button to be enabled:
1. You need to have both ENABLE_DAILY_LOGS and ENABLE_DAILY_EMAILS set to True in the CCDM_Config file
2. CCDM must be successfully connected to your charge controller
3. You need to have done your best to setup the CCDM_config_email file

Once you have the above, run CCDM as you normal would, head to the configuration tab and drag CCDM half way off the screen (leaving access to the "Test Email" button) so you can see the console running in the background. The console should be spitting out it's usual dialog about "Gathering Data......sleep.....gather data..sleeping" etc......
Press the "Test Email" button (it should change text to "Testing") and watch the console messages, you should see some new messages indicating it is attempting to generate a new log file (which is placed into CCDM_logs folder) and then use this log file to create and send an email.
IF everything is setup ok you'll see something like the following:

(http://www.fort-wisers.ca/Albums/Camp%20Pics%20for%20Forum%20Use/CCDM%20Screen%20Shot%20(26).jpg)

HOWEVER, if there was an issue CCDM will spit out a bit of a message to try and help you pinpoint the issue.
In the following example I purposely mistyped in the password for the email account I'm using to allow CCDM to send emails:

(http://www.fort-wisers.ca/Albums/Camp%20Pics%20for%20Forum%20Use/CCDM%20Screen%20Shot%20(27).jpg)

Hope this helps...
In closing I shall everyone a very happy summer! We shall see you all in the fall.....
Brent



Title: Re: CCDM - Charge Controller Data Manager
Post by: KeithBook on September 21, 2021, 03:27:24 AM
Hi...I continue pondering exactly the same thing. Best I can think of is effortlessness in light of the fact that in manual mode it's an implicit switch and surprisingly the cheapie PWMs guarantee to have over-burden security on the heap terminals. I don't exactly get what Zil is getting at since the heap terminals can be utilized when there is no sun oriented info, accordingly it's additionally provided by the battery,

In case it was dependent upon me, I'd wire it up to the battery with a wire and committed switch. Regardless of whether there was an explanation I chose to utilize the heap terminals I would meld that too. (I combine the heap terminal yield for the PWMs I use for planned open air lighting).

All that said, in fact there doesn't appear to be anything amiss with utilizing the heap terminals the manner in which the OP proposes as long as they are appraised for the current draw of the siphon and suitable wire size is utilized and so on.
Title: Re: CCDM - Charge Controller Data Manager
Post by: Fort Wisers on September 25, 2021, 06:29:46 AM
Quote from: KeithBook on September 21, 2021, 03:27:24 AM
Hi...I continue pondering exactly the same thing. Best I can think of is effortlessness in light of the fact that in manual mode it's an implicit switch and surprisingly the cheapie PWMs guarantee to have over-burden security on the heap terminals. I don't exactly get what Zil is getting at since the heap terminals can be utilized when there is no sun oriented info, accordingly it's additionally provided by the battery,

In case it was dependent upon me, I'd wire it up to the battery with a wire and committed switch. Regardless of whether there was an explanation I chose to utilize the heap terminals I would meld that too. (I combine the heap terminal yield for the PWMs I use for planned open air lighting).

All that said, in fact there doesn't appear to be anything amiss with utilizing the heap terminals the manner in which the OP proposes as long as they are appraised for the current draw of the siphon and suitable wire size is utilized and so on.


Not sure this response was meant to be in this thread? Seems unrelated....