My 'Classic Monitor' Android App is now available on Google Play
https://play.google.com/store/apps/details?id=ca.farrelltonsolar.classic (https://play.google.com/store/apps/details?id=ca.farrelltonsolar.classic)
or you can scan the QR code below with your device to open Google Play
Please note that this is a NOT a product of Midnite solar, nor do they support this application! The software is provided "AS IS", WITHOUT WARRANTY OF ANY KIND, express or implied.
The Classic will only support one TCP connection at a time, please make sure your local app (Android or PC...) is not running when you attempt to connect with this app.
This app is best viewed on an Android tablet device in landscape orientation. If your system has a WhizBang jr, the SOC display will be enabled, tap on it to get the 'Countertop' view.
Excellent work, Graham!
Thank you for your hard work.
-Andrew
Yes, thank you !
I just installed it. I'll be looking at it this week.
boB
This is very sweet. I use it on the road all the time to watch my system.
Yes its a great little app for a visual overview of your classic. I have been using it for some time. Favorite feature is the bidirectional gauge particularly how it calculates Amps X volts and displays it as a bidirectional watt meter dial. Makes great use of the WBJR. We now have a android tablet permanently mounted in our Kitchen to keep tabs on the system.
One question ,
I just downloaded the app again on a new android device and I noticed some changes the (Chart) tab shows some kind of graph.....is that section functional or still in development?
Great work :)
Kurt
Quote from: offgridQLD on November 13, 2014, 06:36:35 PM
Yes its a great little app for a visual overview of your classic. I have been using it for some time. Favorite feature is the bidirectional gauge particularly how it calculates Amps X volts and displays it as a bidirectional watt meter dial. Makes great use of the WBJR. We now have a android tablet permanently mounted in our Kitchen to keep tabs on the system.
One question ,
I just downloaded the app again on a new android device and I noticed some changes the (Chart) tab shows some kind of graph.....is that section functional or still in development?
Great work :)
Kurt
Thanks, I like your youtube video that used the app to compare your array outputs.
I added a couple of new features at the end of October, the chart and the upload to PVOutput.org
the chart is supposed to read the minute logs from the classic and display it as a power graph of the last 24 hours. I did have some issues reading the logs timestamp data, this may be because I have a Classic Lite that doesn't have an MNGP to set the clock. I got it to work, at least on my system, by assuming each log entry is at a 5 minute interval, then calculate the average hourly power reading for the chart.
Unfortunately my cottage (along with my classic) is now closed for the season so I won't be able to look at the time stamp issue until I reopen in the spring.
Are you getting any data in the chart?
Edit: Disregard my post, put the phone in landscape mode and all is well.
Hi Graham, thanks for this. I have it installed on a Samsung Galaxy Mega, Android 4.4.2, and I don't see the options at the top of the screen, "Gauge" / "Calendar" / "Chart". I have the latest version installed from the Play Store and SourceForge. All I get is the "tree" view with all the values populated. Any idea why I don't see the other options?
Glen
Quote from: Muskoka on November 14, 2014, 02:40:28 PM
Hi Graham, thanks for this. I have it installed on a Samsung Galaxy Mega, Android 4.4.2, and I don't see the options at the top of the screen, "Gauge" / "Calendar" / "Chart". I have the latest version installed from the Play Store and SourceForge. All I get is the "tree" view with all the values populated. Any idea why I don't see the other options?
Glen
I should probably include some documentation in the app at some point.
Here is some basic information about the app;
The gauges display in landscape orientation, you can adjust the scale of each gauge by tapping on it, once you're happy with the scale, you can lock it by checking the 'Lock Scale' box in the settings, this will save your scale values for the next time you start the app.
If you have a WhizBang Jr, the battery current gauge will be bi-directional indicating the current flowing in or out of the battery, you will also see the State Of Charge %, tap on it to get the large SOC view.
The main power gauge include two LED indicators that represent the state of the aux ports 1 and 2.
Swipe left or select the Calendar tab to view the calendar page, this will display the amount of kWh per day harvested by your system, (Float) will be included in the days where this states is achieved. You can navigate to earlier months with the < & > buttons on the page or return to the current month by pressing the crosshair button.
Swipe left again or select the chart tab to view a chart of the average power per hour of the last 24 hours.
Settings:
There are three sections in the settings page;
Connections.
Gauges.
PVOutput.
Under Connections you can set the modbus port (usually 502), you can also enter the static IP address of your classic or you can have the app scan your subnet for the classic by choosing a start address and the number of addresses to scan. It can take a few minutes to scan 255 addresses, once it finds the classic, it will remember this address and try it first the next time you start the app.
Under Gauges, you can have the bi-directional gauge display in watts rather than amps, you can also lock the scale as mentioned above.
PVOUtput
The latest feature allows you to record your daily energy log to the web even if your classic is not connected to the internet. When you display the calendar page, the app will save the day logs to a file on your device, once the app detect that it has access to the internet, it will upload the day logs to PVOutput.org. You will need to create an account on PVOutput.org, copy the API key and your System ID and paste the values into the PVoutput section of the settings. PVOutput requires a restricted the upload rate to one entry per 10 seconds, so it will take some time for the initial upload. The app remembers the last upload date and will only upload new values after the last upload. Note: this feature is still in beta and has not been fully tested.
Hope this helps.
Graham.
Graham, how long is the initial upload to PVOutput? Should I see some data after a few hours? It's all setup, but I still don't see any data.
Glen
Edit: I've downloaded the PVOutput Android app to test, and it's giving me a "Bad request 400:No System or Data Found" error, I have no idea why. If their app isn't working, it's likely why your app is not uploading data as well. Something is not setup right at my end, don't know what. Api key and System id are entered properly (copy/paste), other than that is their anything crucial that needs to be entered. I've filled all the pertinent fields, I think. When setting up your device there are 2 fields near the bottom about "Automatic Uploads (Primary and Secondary Device)", do these need to be populated, and if yes, with what? Nothing in those pull downs has anything to do with my system.
The data just "magically" appeared. All is well.
Glen
That PVOutput feature still needs some work, I was having the same problem uploading the data to their site then it just starts to work. I'll have to setup wireshark to see whats going on at the TCP level, I might be exceeding some restriction they have on their site...
Not sure what the 'primary and secondary device' is about, is this on the PVOutput settings page?
You can clear the last upload date by tapping on the "Clear Recorded Logs" in the settings page, this will re-upload the data the next time you start the app and view the calendar page.
Graham.
If you select "Edit" beside your "Registered Systems", about 2/3's the way down that page is a section called "Automatic Uploads" with a drop down for "Primary Device" and one for "Secondary Device". When my data didn't seem to be uploading I wondered if they needed to be populated.
Everything seems to be fine now. Thanks Graham.
Glen
I have two classic 150s . I can view both of them live using this app. I just enter the port number of each classic 502 or 503 to bring them up. Classic 502 has the wbjr shunt so I usually just bring up 502 as I get all wbjr data and then every now and then I might call up classic 503 to view it's kWh output for the day.
One thing I have noticed is if I view classic 502 and go to the calendar or chart I get identical data entry's for both 502 & 503. Yet the live gauge view is obviously different for each classic.
Any ideas ?
Edid: Never mind I just worked out that I needed to fully close the app and reopen it again under each port number to change the calender and chart data. Just swapping port setting with the app running will bring up each classics live gauge view but a restart of the app is required for the individual calender/chart data.
Kurt
Quotethe chart is supposed to read the minute logs from the classic and display it as a power graph of the last 24 hours. I did have some issues reading the logs timestamp data, this may be because I have a Classic Lite that doesn't have an MNGP to set the clock. I got it to work, at least on my system, by assuming each log entry is at a 5 minute interval, then calculate the average hourly power reading for the chart.
Unfortunately my cottage (along with my classic) is now closed for the season so I won't be able to look at the time stamp issue until I reopen in the spring.
Are you getting any data in the chart?
This is what I get when I call up the chart for each classic at 2:00pm today.
Classic (House) port 502, 2:00pm today
(https://farm9.staticflickr.com/8591/15623667670_182ee35446_n.jpg)
Classic (shed) port 503, 2:00pm today
(https://farm6.staticflickr.com/5604/15189065953_af358c3ccf_n.jpg)
Not sure what to make of the numbers I guess the vertical on the left is watts and the horizontal is time (though I not sure what to make of it) :o
Kurt
Quote from: offgridQLD on November 16, 2014, 10:31:08 PM
I have two classic 150s . I can view both of them live using this app. I just enter the port number of each classic 502 or 503 to bring them up. Classic 502 has the wbjr shunt so I usually just bring up 502 as I get all wbjr data and then every now and then I might call up classic 503 to view it's kWh output for the day.
One thing I have noticed is if I view classic 502 and go to the calendar or chart I get identical data entry's for both 502 & 503. Yet the live gauge view is obviously different for each classic.
Any ideas ?
I'm caching the file transfer data from the classic when you view the calendar for the first time, the transfer can initially take a few seconds. I should probably clear the cache whenever the settings are modified.
Graham.
I'm not an Android guy, but I do have a Playbook that can run converted Android Apps.
I'd like to be able to download the apk and then run it through a converter to see if it will run on the playbook, but I can't figure out how to get the file. I downloaded the Classic.zip file from sourceforge, but there isn't an APK in the zip. I can't get it on Google Play, because I don't have Android Device.
I won't actually be able to test the Playbook-Classic connection until the spring, but I would like to start playing.
Can anyone help?
Thanks, Jerry
Quote from: Rybren on November 21, 2014, 09:35:29 AM
I'm not an Android guy, but I do have a Playbook that can run converted Android Apps.
I'd like to be able to download the apk and then run it through a converter to see if it will run on the playbook, but I can't figure out how to get the file. I downloaded the Classic.zip file from sourceforge, but there isn't an APK in the zip. I can't get it on Google Play, because I don't have Android Device.
I won't actually be able to test the Playbook-Classic connection until the spring, but I would like to start playing.
Can anyone help?
Thanks, Jerry
You should be able to get the .apk file by clicking on the green 'download' button on the main page at http://sourceforge.net/projects/classicmonitor/ (http://sourceforge.net/projects/classicmonitor/)
Graham.
I've tried that. I end up with a file called Classic.zip. The contents of the zip file are shown on the image below
Maybe a dumb question... wife just got a MS SURFACE through work.
It looks like it is running on a newer version of windows called W8.1 RT???
This gadget runs like a smart phone AFAICS
does anyone know if it can have a second OS like Android or similar to run this APP? The operating instructions are none existent... seems like they expect you to be a whiz KID on a smartphone.... (that I don't want...)
tia
Quote from: Rybren on November 21, 2014, 01:19:18 PM
I've tried that. I end up with a file called Classic.zip. The contents of the zip file are shown on the image below
For some reason the .apk extension is being renamed to .zip. I renamed my apk to .zip and see the same content. You can try get the apk from under the 'file' tab here http://sourceforge.net/projects/classicmonitor/files/?source=navbar (http://sourceforge.net/projects/classicmonitor/files/?source=navbar).
I ran it through the blackberry tools and got it running on my playbook, I'll submit it to blackberry world once they enable my developer account.
I put a copy of the .bar file in dropbox https://www.dropbox.com/s/45dnswd6c48ipwu/Classic-release.bar?dl=0 (https://www.dropbox.com/s/45dnswd6c48ipwu/Classic-release.bar?dl=0) in case you want to try it now.
It worked with my modbus simulator once I entered the PCs IP address in the settings, for some reason the scan doesn't work.
Graham.
Quote from: Westbranch on November 21, 2014, 01:25:50 PM
Maybe a dumb question... wife just got a MS SURFACE through work.
It looks like it is running on a newer version of windows called W8.1 RT???
This gadget runs like a smart phone AFAICS
does anyone know if it can have a second OS like Android or similar to run this APP? The operating instructions are none existent... seems like they expect you to be a whiz KID on a smartphone.... (that I don't want...)
tia
You can use a product from Blue Stacks to run android apps on a surface pro but I'm not sure if this will run on WindowsRT
here is the link http://microsoft-news.com/run-android-apps-on-microsoft-surface-pro-3/ (http://microsoft-news.com/run-android-apps-on-microsoft-surface-pro-3/)
Graham.
thanks Graham, all I know from the Mrs. is it is a Surface 2, so I'll dig into it a bit more...
ADD: looks like it wont work at this time
These (Office) are the only applications you'll run from the desktop. Windows RT, unlike the full Windows 8, doesn't allow third-party applications to be installed there.
I read that RT is an interim stage in the development and to wait for the RT Preview version to be updated,
The first thing to say is that there is no going back if you install the Windows 8.1 RT Preview over standard Windows RT. You can't roll it back - you'll only be able to upgrade to the final version via Windows Update when it's released.
Quote from: Graham on November 22, 2014, 03:15:05 PM
Quote from: Westbranch on November 21, 2014, 01:25:50 PM
Maybe a dumb question... wife just got a MS SURFACE through work.
It looks like it is running on a newer version of windows called W8.1 RT???
This gadget runs like a smart phone AFAICS
does anyone know if it can have a second OS like Android or similar to run this APP? The operating instructions are none existent... seems like they expect you to be a whiz KID on a smartphone.... (that I don't want...)
tia
You can use a product from Blue Stacks to run android apps on a surface pro but I'm not sure if this will run on WindowsRT
here is the link http://microsoft-news.com/run-android-apps-on-microsoft-surface-pro-3/ (http://microsoft-news.com/run-android-apps-on-microsoft-surface-pro-3/)
Graham.
Thanks for mentioning this Graham (Blue Stacks), didn't know of it's existence. Works fine on my Windows 8 laptop and Windows 8 tablet.
For those interested in a cheap tablet with full Windows 8 pro, this is the one I have (link below) and it works great. Allows you to install anything you like, not just apps from the Windows store.
http://www.banggood.com/CUBE-U80GT-iWork8-Intel-Z3735E-Quad-Core-8-Inch-32GB-Windows-8-Tablet-p-936951.html
Glen
Quote from: Graham on November 22, 2014, 02:58:35 PM
I put a copy of the .bar file in dropbox https://www.dropbox.com/s/45dnswd6c48ipwu/Classic-release.bar?dl=0 (https://www.dropbox.com/s/45dnswd6c48ipwu/Classic-release.bar?dl=0) in case you want to try it now.
It worked with my modbus simulator once I entered the PCs IP address in the settings, for some reason the scan doesn't work.
Graham.
Sideloaded it onto my Playbook. It looks great! Thanks.
I can't wait for spring!
I've been working on a new version of this app for the last couple of weeks, if anyone is interested in a preview, I put an apk in my dropbox folder https://www.dropbox.com/s/u5li9b9nogsjxag/app-release.apk?dl=0 (https://www.dropbox.com/s/u5li9b9nogsjxag/app-release.apk?dl=0).
This version now requires Android 4 and above.
Any comments or issues found would be appreciated.
Currently trying to track down a crash with the tcp file transfer that I only get on my phone emulator for a Sony Experia, if you get the same, let me know what kind of phone/tablet you have...
here is the changelog for Version 2
<ul>
<li>Transfer to code to Github</li>
<li>Added support for multiple classics listed in a slide out navigation drawer.</li>
<li>Re-design of classic detection using UDP broadcasts.</li>
<li>Added temperature gauges.</li>
<li>Implemented calendar, day & hour chart using native code rather than using webview component.</li>
<li>Added info and message tabs.</li>
<li>Implemented new Android sliding tab view pager.</li>
<li>Implemented vertical pager for calendar view.</li>
<li>Re-design gauge component to support latest Android 5.0 API 21.</li>
<li>Added auto scale feature to gauges.</li>
<li>Updated PVOutput uploader to support multiple site IDs.</li>
<li>Implemented Android Services for Modbus, UPDListener and PVOutput uploader.</li>
<li>Updated French, Italian, Spanish localization resources.</li>
</ul>
Graham.
Graham, it looks, and works great. Thanks so much for this.
Samsung Mega - Android 4.4.2
Glen
Nice to see this already great app being improved opon even more. Looks very sharp.
I am having a bit of trouble with it (could be from my end) though I double checked using the loca app as a reference and have a solid connection to my two classics using the lacal app. But I seem to be getting a connection then drop out then reconnection at times every few seconds on off on off . also if I add my classic named (house) then once that showing data and the name house up the top as its ID go and add the IP address of the other classic name (shed) same IP but different port 503 vs 502 I loose the one named house and end up with (demo) showing as the name .
Yes I know you can't look at two classics at the same time but something strange is hapening with the alication of names to the ip's. When trying to add two to the selection tab.
Love the app though .
Kurt
Quote from: offgridQLD on January 05, 2015, 06:16:22 PM
Nice to see this already great app being improved opon even more. Looks very sharp.
I am having a bit of trouble with it (could be from my end) though I double checked using the loca app as a reference and have a solid connection to my two classics using the lacal app. But I seem to be getting a connection then drop out then reconnection at times every few seconds on off on off . also if I add my classic named (house) then once that showing data and the name house up the top as its ID go and add the IP address of the other classic name (shed) same IP but different port 503 vs 502 I loose the one named house and end up with (demo) showing as the name .
Yes I know you can't look at two classics at the same time but something strange is hapening with the alication of names to the ip's. When trying to add two to the selection tab.
Love the app though .
Kurt
I fixed one problem, my name updater code was stopping on the first match of the IP address, disregarding the port. (update in dropbox, please uninstall the old one first to clear the saved controller names)
The classic sends out a UDP broadcast on port 4626 every 3 seconds, the data in the packet has the TCP/IP address and port# of the sending device, my app listens for this for available classics on the subnet, the list should automatically find your two classics and update the entry with the name of each in within a number of seconds.
I switched my classic to a static address and it's still sending out the UDP broadcasts and the entry appears after a few seconds in the app .
not sure why your getting connections going on/off,
are you seeing data in the calendar and hour charts?
what is the SW version of your classic?
Graham.
Hi Graham,
The update fixed the two classic ID names. :)
I picked up on a small display issue on one of the gauges. The (State of charge) screen when you change to the bidirectional gauge that shows watts. The dial numbers stay as 0-10 and just pegs the needle at 10 I guess they should change to watts and scale appropriately . Though the center of the gauge shows watts. also in the same screen when your in bidirectional amp meter mode the amp number in the center only shows hole numbers 4A vs 4.6A though the needle on the dial shows the 0.6A resolution with no rounding.
The random dropouts then reconnect is strange. It can do it 5 times in a min fast drop out then fast reconnect or once ever 2 min and take 30 seconds to reconnect I little random but typically not giving me more than a few min without a dropout (always reconnects again)
I made a small 3 min youtube video to show how its behaving for me.
https://www.youtube.com/watch?v=Yo5MPyaVCrM&list=UUBz1EHupPX7EtOrasSNz70A (https://www.youtube.com/watch?v=Yo5MPyaVCrM&list=UUBz1EHupPX7EtOrasSNz70A)
Kurt
I'm not seeing any of the issues Kurt is. SOC screen works just fine, in Amps, or Watts. The readings are correct. Amp readings are in whole numbers, fine with me. Are we supposed to see 10th's?
Glen
Quote from: Muskoka on January 06, 2015, 11:27:51 AM
I'm not seeing any of the issues Kurt is. SOC screen works just fine, in Amps, or Watts. The readings are correct. Amp readings are in whole numbers, fine with me. Are we supposed to see 10th's?
Glen
It's because I was not using the absolute value to set the gauge scale, since Kurt's reading was minus 142 W, it didn't bump up the scale,
I wish the connection issue was as easy to fix!
I put another update in the dropbox folder with a few more fixes
fixed SOC power/current gauge auto scale when value is negative
SOC power/current gauge now has 1 decimal precision
Power tab Battery current is the current coming out of the classic, SOC tab current is the whizbang +/- current to the battery
Updated modbus TCPTransaction to resync TXID
Graham.
This latest update fixed all the small soc/power current tab display issues. :)
Though for me anyhow after trying this latest update . It went back to the old issue of not showing the classics name just dispays (demo) where the classics name should be.Edit: just reloaded the app and gave it 5 min now it is showing the classics name :)
Dropout issue still the same . I need to try the app on the local network at the location.
Kurt
Quote from: offgridQLD on January 06, 2015, 04:57:40 PM
This latest update fixed all the small soc/power current tab display issues. :)
Though for me anyhow after trying this latest update . It went back to the old issue of not showing the classics name just dispays (demo) where the classics name should be.Edit: just reloaded the app and gave it 5 min now it is showing the classics name :)
Dropout issue still the same . I need to try the app on the local network at the location.
Kurt
I put another update in dropbox, could you let me know if it's better, the same or worse?
In this latest build I updated the modbus library to the latest version that is supposed to better handle transaction Id's out of sequence. Plus I'm now caching the day and hour logs when you first connect, you should see a 'toast' popup saying the logs have been read several seconds after connecting. The cache expires after an hour for the hour log and at midnight for the day log.
+ when a new device is detected in the nav bar, it is not clickable until the entry gets updated with the controllers name, this should avoid you getting the 'Demo' mode which is the default when it can't figure out what kind of controller it is (like when I'm using my modbus simulator on a pc)
Using wireshark to monitor the tcp traffic, I find the classic to be less forgiving than the modbus simulator on a pc. The android O/S will favour the UI thread over the background threads as to give the user a smooth rendering of the display, normally the background modbus service thread will send out a modbus Register read request, get a reg reply from the classic, then it sends back an acknowledgment and repeats...
when you slide the tabs around the O/S puts more priority on the UI thread and that's when i sometimes see a delay in the final acknowledgement then things can go wrong. most of the time the classic will resend the last reply and get another ack and things are back to normal but once in a while the classic stops accepting any new requests, my app will try 3 more times then will close the tcp socket and attempt to reconnect which may work but sometimes gets refused for 30 seconds then finally reconnects.
+ if you see a big sine wave in the hour chart, that's the test pattern due the the logs transfer failing to complete, not sure if it's related to the issue above or something else but I'll keep looking...
thanks for the help
Graham.
Graham,
I have been using the latest version of your App over the weekend on location over my local network. Reading your last post on this thread + your post on the (More robust Ethernet communication) helped a lot in explaining some behavior.
Particularly how 3 tabs or views in memory at any time and any more requires a small break while the data is loaded (Good to know that's normal behavior) :)
Identifying classics by name (shed) (house) is working great now. Though I do have a question. What is the little yellow triangle with a explanation mark in the center? I see it some times in the Network tab to the right of the classic names.
I have turned off/disabled (NET access) at the classic. Just to prove (Mymidnite) requests wasn't contributing to any issues regarding the resets, not that I thought it was but just to satiny others concerns.
Personally I don't mind the odd loss off connection or brief break for data to load or reload. As long as it can recover by it's self shortly after. Though triggering the classics to reset and start out in bulk charge again as if it's a new day again. Along with loosing the tally of KWH's for the day is something I am concerned about. As it's a little more serious and a pain messing up your logged logged for the day.....Not blaming this app for this as I know it's a wide spread classic issue I experience the same issue on local App to if I mess about viewing the offline data windows.
I will keep playing around and see what I find. Thanks for a great app.
Kurt
Graham
Was just checking out the latest version that was updated from the Play Store. Looks great - I really like all the dial gauges and how you sweep from one screen to the other. Only thing I had to remember was to shut Local Status App off since only one device can work at a time . After I did that my android phone connected right up. Will give this a look tomorrow in the day light when there is some action from the panels ( hopefully ) .
My FET reads 6553.2 C on gauge needle pegged at 100 and Battery temperatures are reading 6542.7 degrees needle pegged at 100 also. Readings on MNGP are FET -0.4 and Battery -10.9 . PCB temp looks reasonable though same as on MNGP 12.8. Do you think the negative temps mess up something in your software and that is why it reads 6500+ C ?
I also like the power meter switch with a tap from amps to watts .
You did a great job on this Thank you for your efforts!
Where is the current app? Can I download it?
Quote from: offgridQLD on January 10, 2015, 07:34:57 PM
Identifying classics by name (shed) (house) is working great now. Though I do have a question. What is the little yellow triangle with a explanation mark in the center? I see it some times in the Network tab to the right of the classic names.
The triangle next to the device name will indicate that the controller is not reachable, as an example, when you are out of wifi range but for now it turns on a soon as the app gets a connection drop/reconnect and remains on until you restart the app. Once this issue gets resolved, I'll put it back to indicating 'reachable/ pingable'.
+ you can slide the item to the right to delete it, this will erase the stored log cache files for the controller, a new entry should appear a few seconds later, the logs will reload the next time you open it
I've been running a bunch of test with the service thread set at different priority levels to see if that had any affect on the connection dropout but, so far, I still see some reconnects regardless of the priority levels. I put the .pcap wireshark files in the dropbox area if anyone is interested. https://www.dropbox.com/sh/4ruj40a3ztcsyw6/AADlPafYWZ-PV5VtBoQdCohUa?dl=0 (https://www.dropbox.com/sh/4ruj40a3ztcsyw6/AADlPafYWZ-PV5VtBoQdCohUa?dl=0)
Graham.
Quote from: ClassicCrazy on January 11, 2015, 02:05:00 AM
Graham
My FET reads 6553.2 C on gauge needle pegged at 100 and Battery temperatures are reading 6542.7 degrees needle pegged at 100 also. Readings on MNGP are FET -0.4 and Battery -10.9 . PCB temp looks reasonable though same as on MNGP 12.8. Do you think the negative temps mess up something in your software and that is why it reads 6500+ C ?
You would think I could have found that bug early on given the fact I'm from Canada ;)
thanks for finding it, I'll post an update soon.
Quote from: Halfcrazy on January 11, 2015, 09:26:52 AM
Where is the current app? Can I download it?
I published version 2.0.2 to google play yesterday, it can take up to 24 hrs to propagate to google's servers
I have 3 apk files in my dropbox folder https://www.dropbox.com/sh/4ruj40a3ztcsyw6/AADlPafYWZ-PV5VtBoQdCohUa?dl=0 (https://www.dropbox.com/sh/4ruj40a3ztcsyw6/AADlPafYWZ-PV5VtBoQdCohUa?dl=0)
the only difference with each file is the modbus service thread priority level, the 'normal_priority' one is what is in google play.
Quote from: Graham on January 11, 2015, 09:42:46 AM
Quote from: ClassicCrazy on January 11, 2015, 02:05:00 AM
Graham
My FET reads 6553.2 C on gauge needle pegged at 100 and Battery temperatures are reading 6542.7 degrees needle pegged at 100 also. Readings on MNGP are FET -0.4 and Battery -10.9 . PCB temp looks reasonable though same as on MNGP 12.8. Do you think the negative temps mess up something in your software and that is why it reads 6500+ C ?
You would think I could have found that bug early on given the fact I'm from Canada ;)
thanks for finding it, I'll post an update soon.
Yes - pretty sure it is caused by negative temperature since this morning one temperature was above zero and the app and MNGP temperature were the same but the other temperature that was negative was still goofy .
Graham
Playstore had a new version it sent down to me yesterday . I have my settings so Playstore doesn't automatically update apps so I know when new ones come in - notifies me they are available first.
I can't find anywhere in your app that tells what version it is . Am I missing that somewhere ?
Larry
I also like how the dial gauges automatically scale - that is great.
Quote from: ClassicCrazy on January 11, 2015, 02:11:46 PM
Graham
Playstore had a new version it sent down to me yesterday . I have my settings so Playstore doesn't automatically update apps so I know when new ones come in - notifies me they are available first.
I can't find anywhere in your app that tells what version it is . Am I missing that somewhere ?
Larry
I will be adding the release version info in the about area starting at 2.0.3, the latest on google play is 2.0.2
for now you can go the android settings under apps find the classic, click it and you should get the App Info, the version is under the title of the app
Graham.
Updated my Android phone to 5.0 Lollipop and Cyangenmod 12 and the app is working great ! I turned on some big loads and see how much power I could squeeze out of my 2700 watt array on this sunny cold day
Attached is screen shot .
Well since it's freezing rain outside and there is not much else to do, I decided to add a few new features to the app that a number of users have requested...
1. You can now enter a URI in the Add IP Address dialog for remote access when using dyndns.
2. When the WhizbangJr is detected, another tab is displayed next to the "State Of Charge" called "Capacity", plus the Shunt temperature is added to the Temperature tab (picture below)
3. Added localization support for German.
Here is a link to the dropbox apk file https://www.dropbox.com/s/u5li9b9nogsjxag/app-release.apk?dl=0 (https://www.dropbox.com/s/u5li9b9nogsjxag/app-release.apk?dl=0)
if you're using dyndns could you give it a try and let me know if it works...
+let me know what you think of the new tab.
Once I get confirmation that the dyndns access works, I'll post the new release on google play.
Graham, curious about the source of the shunt temp reading. Do you have a sensor added?
It's Register 4372 which is the WhizBangJr temperature, I just thought the word "Shunt" would fit better on smaller devices
Graham
This new version of app will not connect and get any data for me. I have the newest Classic beta firmware updates and networking update so just to make sure that was not causing problem, I restored the older version of the app ( thank you Titanium Backup ! ) and it connected right away.
I then installed this new version again and same deal - no connection or data.
Larry
The google play store still has the old 2.0.5 version.
Are you letting it auto detect or are you entering the IP address/port in the add dialog?
I just installed version 1923 and it found it ok
I posted a video on youtube to give you an idea on how long it takes to detect the classic http://youtu.be/112fyUgRxEk (http://youtu.be/112fyUgRxEk)
let me know what kind of devices you're using so I can try it on my emulator
Graham
I think I know why it won't connect,
If you install the dropbox version, it doesn't uninstall the original version, it just replaces the apk file but uses to original configuration file that has the connection information for the classic
I posted another video where I first install the google play version (2.0.5) get it to connect, then install the dropbox version (2.1.0). the new version doesn't connect, then I slide the entry to the right to erase it and let it auto detect and it connect ok.
youtube video: http://youtu.be/YThdn4ist_A (http://youtu.be/YThdn4ist_A)
Got it working by watching how you did that in the video by sliding around the Classic and Network stuff .
I wouldn't have figured that out myself.
Looks good - will watch the dials for some more action tomorrow when the sun is up .
Larry
Graham,
New update is working fine. I read on the info screen that it also does limited support for Morningstar MPPT ? How do you set that up ? I tried Add and put in Morningstar 502 port and IP address but nothing showed up.
Is it possible for you to add feature that would calculate when system amps level off ? This would be used for identifying End Amps setpoint. I have monitored for this via Local Status App graph and also MyMidnite alpha webpage that also now shows system amps. But it would be a nice feature if something could plot it so it could be compared over a few days.
For example my battery manufacturer East Penn Deka has this criteria for ending Absorb and Equalize
End Condition Charge until change in current < 0.10A per Hr / Max Time: 12Hr
Just wondering if it is something that the app could easily pull out of the data ?
Larry
Quote from: ClassicCrazy on April 04, 2015, 01:44:58 PM
Graham,
New update is working fine. I read on the info screen that it also does limited support for Morningstar MPPT ? How do you set that up ? I tried Add and put in Morningstar 502 port and IP address but nothing showed up.
Is it possible for you to add feature that would calculate when system amps level off ? This would be used for identifying End Amps setpoint. I have monitored for this via Local Status App graph and also MyMidnite alpha webpage that also now shows system amps. But it would be a nice feature if something could plot it so it could be compared over a few days.
For example my battery manufacturer East Penn Deka has this criteria for ending Absorb and Equalize
End Condition Charge until change in current < 0.10A per Hr / Max Time: 12Hr
Just wondering if it is something that the app could easily pull out of the data ?
Larry
Hi Larry,
as far as I know , the classic does not record the whizbang jr current in the minute log, on page 28 of the classic register map http://fusion.midnitesolar.com/classic_register_map_Rev-C5-December-8-2013.pdf (http://fusion.midnitesolar.com/classic_register_map_Rev-C5-December-8-2013.pdf) table 4256 indicates 'output current Amps' which I believe is the current coming out of the classic not the WzBang current. Since my app is not something that would remain active 24/7 (especially with only one tcp connection supported by the classic), I must rely on the information recorded by the classic.
An alternative would be if M.S. would provide a Web API interface to the myMidnite data, then all the data recorded by the site could be made available to local & mobile apps etc., maybe we can suggest that in the 'New product Ideas and discussions' .
I'll have a look at the morningstar access, currently I'm limited to using my modbus simulator that has some recorded data from a TS-MPPT-60, I might have to wait until cottage season starts, in a month or so, in order to get access to one of my neighbours system who have not yet upgraded to a classic...
Graham.
Okay - I understand that your app just pulls from the Classic what is already there in a modbus register.
The new MyMidnite alpha website does let you export the data from it - I just am not well versed enough on how to make a nice looking graph in excel but I will figure it out sometime. The Local Status App also lets you export this data and it is higher resolution I believe.
Okay - just reread your reply - a web api is something different than exporting the data in excel. I looked web api up and can now add one more semi understanding of programming jargon to brain !
I also have the Tristar TS-MPPT-60 , still don't understand if you mean your app can get some data from it, or if that part needs further development. Not really necessary for me since the built in webpage on that gives me all the data I need - and also I have pretty much switched over all my solar to the Classic though still have a few panels on the Tristar.
Larry
Quote from: ClassicCrazy on April 05, 2015, 10:05:18 AM
Okay - I understand that your app just pulls from the Classic what is already there in a modbus register.
The new MyMidnite alpha website does let you export the data from it - I just am not well versed enough on how to make a nice looking graph in excel but I will figure it out sometime. The Local Status App also lets you export this data and it is higher resolution I believe.
Okay - just reread your reply - a web api is something different than exporting the data in excel. I looked web api up and can now add one more semi understanding of programming jargon to brain !
I also have the Tristar TS-MPPT-60 , still don't understand if you mean your app can get some data from it, or if that part needs further development. Not really necessary for me since the built in webpage on that gives me all the data I need - and also I have pretty much switched over all my solar to the Classic though still have a few panels on the Tristar.
Larry
The old version (1.7.x) of my app worked with a tristar last summer, I haven't had a chance to test the version 2.x of the app with a real tristar.
The app will try to access modbus register 4101, if it succeeds then it assumes a classic, if it fails then it tries address 0001 (triStar) if that succeeds then it assumes it's a tristar. Unfortunately my modbus simulator succeeds on either register.
I modified some of the code to enable remote access (dyndns) in version 2.1.x, this might have affected the tristar detection code...
Yes, a Web API is a web site that is consumable by another application,(http://en.wikipedia.org/wiki/Representational_state_transfer (http://en.wikipedia.org/wiki/Representational_state_transfer) )
I tried to setup the new myMidnite with version 1923 but it doesn't let me register, I might have to roll back to 1849 but I'm curious to see what's recorded on the site...
You might try sending them a PM. It seems that a lot of device codes don't automatically make it to their system
Graham - were you already registered on the old MyMidnite ? If so you don't need to register again but you need to put in the new mymidnite IP address into the classic so it goes to the new site.
Larry
tried the old username/password on the new site but it says 'Unrecognized username/password'
i can however log into the old myMidnite with that username /password.
I have set the DNS override...
Did you try restarting your classic ?
Seems like it took me awhile to get it to work or for it to show up on the new webpage. But I didn't know what I was doing so not sure exactly what made it finally show up .
Quote from: Graham on April 05, 2015, 10:48:32 AM
The old version (1.7.x) of my app worked with a tristar last summer, I haven't had a chance to test the version 2.x of the app with a real tristar.
The app will try to access modbus register 4101, if it succeeds then it assumes a classic, if it fails then it tries address 0001 (triStar) if that succeeds then it assumes it's a tristar.
Graham,
Do you have a modbus register map for the mppt Tristar or can you point me where to download it?
The only one I can find is corrupted and the d/l fails
dgd
Quote from: dgd on April 05, 2015, 04:45:58 PM
Quote from: Graham on April 05, 2015, 10:48:32 AM
The old version (1.7.x) of my app worked with a tristar last summer, I haven't had a chance to test the version 2.x of the app with a real tristar.
The app will try to access modbus register 4101, if it succeeds then it assumes a classic, if it fails then it tries address 0001 (triStar) if that succeeds then it assumes it's a tristar.
Graham,
Do you have a modbus register map for the mppt Tristar or can you point me where to download it?
The only one I can find is corrupted and the d/l fails
dgd
Do you mean this one dgd ? It just downloaded for me .
http://support.morningstarcorp.com/wp-content/uploads/2014/07/TSMPPT.APP_.Modbus.EN_.10.2.pdf
Thanks, thats it.
I needed to update adobe reader then it worked ok
dgd
Quote from: ClassicCrazy on April 05, 2015, 11:57:32 AM
Did you try restarting your classic ?
Seems like it took me awhile to get it to work or for it to show up on the new webpage. But I didn't know what I was doing so not sure exactly what made it finally show up .
I think Andrew has said in the past that any changes to the network parameters requires the Classic to be restarted. I wouldn't think that for effect the username/password not working on the new site. Just wouldn't see the Classic logging data.
Maybe set the Classic for auto restart at 23:59
The network parameters are weird -- in fact most changes do not require a restart; however, the DNS settings, for some unimaginable reason, I did differently from the other settings and so any changes to the DNS settings (including setting the classic FROM STATIC to DHCP resulting in getting a new DNS server from the DHCP server) will require a reboot. I believe I rectified this in the latest network code but we still haven't released this for general consumption yet.
Sorry for the mess.
Quote from: dgd on April 05, 2015, 04:45:58 PM
Quote from: Graham on April 05, 2015, 10:48:32 AM
The old version (1.7.x) of my app worked with a tristar last summer, I haven't had a chance to test the version 2.x of the app with a real tristar.
The app will try to access modbus register 4101, if it succeeds then it assumes a classic, if it fails then it tries address 0001 (triStar) if that succeeds then it assumes it's a tristar.
Graham,
Do you have a modbus register map for the mppt Tristar or can you point me where to download it?
The only one I can find is corrupted and the d/l fails
dgd
Here are the registers I use for Tristar, the values need to be converted using the scaling factor found in register 1 & 3
Register[] registers = modbusMaster.readMultipleRegisters(0, 80);
if (registers != null && registers.length == 80) {
readings.set(RegisterName.BatVoltage, VScale(registers[24].getValue()));
readings.set(RegisterName.PVVoltage, VScale(registers[27].getValue()));
readings.set(RegisterName.BatCurrent, IScale(registers[28].getValue()));
readings.set(RegisterName.PVCurrent, IScale(registers[29].getValue()));
readings.set(RegisterName.Power, PScale(registers[58].getValue()));
readings.set(RegisterName.EnergyToday, WHr(registers[68].getValue()));
readings.set(RegisterName.TotalEnergy, (float) registers[57].getValue());
}
private float WHr(float val) {
val /= 1000;
return val;
}
private float PScale(float val) {
val = val * v_pu * i_pu;
val /= 131072;
return val;
}
private float VScale(float val) {
val = val * v_pu;
val /= 32768;
return val;
}
private float IScale(float val) {
val = val * i_pu;
val /= 32768;
return val;
}
if (registers != null && registers.length == 4) {
foundTriStar = registers[0].toShort() != 0;
if (foundTriStar) {
float hi = registers[0].toShort();
float lo = registers[1].toShort();
lo = lo / 65536;
v_pu = hi + lo;
hi = (float) registers[2].toShort();
lo = (float) registers[3].toShort();
lo = lo / 65536;
i_pu = hi + lo;
reference = 0;
}
}
}
Thanks Graham
Those registers are all I probably need to get the Mppt Tristar interfaced via modbus RTU to my Arduino DUE web server. One of my customer sites has an unused mppt60 since I installed a Classic 150 last year, time now to borrow it and start playing :)
Dgd
Quote from: dgd on April 06, 2015, 01:28:25 PM
Thanks Graham
Those registers are all I probably need to get the Mppt Tristar interfaced via modbus RTU to my Arduino DUE web server. One of my customer sites has an unused mppt60 since I installed a Classic 150 last year, time now to borrow it and start playing :)
Dgd
BTW
these offsets are origin 0 so register[24] is modbus register address 25 (I always get this wrong...)
here is a table I used in my netduino project with the address @ origin 1
// TriStar modbus table
// new Register { Address = 1, Label = "V Scale", UnitOfMeasure = "", Conversion = socketAddress => U32(socketAddress)},
// new Register { Address = 3, Label = "A Scale", UnitOfMeasure = "", Conversion = socketAddress => U32(socketAddress)},
// new Register { Address = 25, Label = "Average battery voltage", UnitOfMeasure = "Volts", Conversion = socketAddress => VScale(socketAddress)},
// new Register { Address = 28, Label = "PV input voltage", UnitOfMeasure = "Volts", Conversion = socketAddress => VScale(socketAddress)},
// new Register { Address = 29, Label = "Average battery current", UnitOfMeasure = "Amps", Conversion = socketAddress => IScale(socketAddress)},
// new Register { Address = 30, Label = "Average PV current", UnitOfMeasure = "Amps", Conversion = socketAddress => IScale(socketAddress)},
// new Register { Address = 45, Label = "Info flag", UnitOfMeasure = "", Conversion = socketAddress => Info(socketAddress)},
// new Register { Address = 51, Label = "Battery charge state", UnitOfMeasure = "", Conversion = socketAddress => ChargeState(socketAddress)},
// new Register { Address = 58, Label = "Total kWhours", UnitOfMeasure = "kWh", Conversion = socketAddress => U16(socketAddress)},
// new Register { Address = 59, Label = "Average power to the battery", UnitOfMeasure = "Watts", Conversion = socketAddress => PScale(socketAddress)},
// new Register { Address = 69, Label = "Average energy to the battery", UnitOfMeasure = "kWh", Conversion = socketAddress => WHr(socketAddress)}
// new Tupple { Description = "(Start) System startup.", Value = 0 },
// new Tupple { Description = "(Night check) No power, detecting nightfall.", Value = 1 },
// new Tupple { Description = "(Disconnected) No power.", Value = 2 },
// new Tupple { Description = "(Night) No power, waiting for power source.", Value = 3 },
// new Tupple { Description = "(Fault) Detected fault.", Value = 4 },
// new Tupple { Description = "(Bulk) Max power point tracking until absorb voltage reached.", Value = 5 },
// new Tupple { Description = "(Absorb) Regulating battery voltage at absorb set point until the batteries are charged.", Value = 6 },
// new Tupple { Description = "(Float) Max power point tracking. Seeking float set point voltage.", Value = 7 },
// new Tupple { Description = "(Equalize) Regulating battery voltage at equalize set point.", Value = 8 },
// new Tupple { Description = "(Slave) State set by master charge controller.", Value = 9 }
Graham
Is it possible to have the PVoutput transfer work if using your app with BlueStacks? Are the daily logs save somewhere when using BlueStacks?
Quote from: Resthome on April 07, 2015, 07:46:45 PM
Graham
Is it possible to have the PVoutput transfer work if using your app with BlueStacks? Are the daily logs save somewhere when using BlueStacks?
It's the first time I hear about BlueStacks, I'll try it later this week.
Are you on Windows 7?
Graham.
Quote from: Graham on April 08, 2015, 09:10:15 AM
Quote from: Resthome on April 07, 2015, 07:46:45 PM
Graham
Is it possible to have the PVoutput transfer work if using your app with BlueStacks? Are the daily logs save somewhere when using BlueStacks?
It's the first time I hear about BlueStacks, I'll try it later this week.
Are you on Windows 7?
Graham.
I'm on Win8.1
Quote from: Resthome on April 07, 2015, 07:46:45 PM
Graham
Is it possible to have the PVoutput transfer work if using your app with BlueStacks? Are the daily logs save somewhere when using BlueStacks?
I finally got around to testing the app under bluestacks with the pvOutput upload
I ran wireshark to monitor the ip.dst==pvoutput.org with the test site http://pvoutput.org/list.jsp?id=30606&sid=28034 (http://pvoutput.org/list.jsp?id=30606&sid=28034)
it took a couple of minutes to get started but it worked,
you can clear the log file in the app in the settings and try the upload again by restarting the app after pressing clear logs...
Graham.
Clearing the logs seem to be the trick. Thanks Graham