Looking for Beta Testers

Posted on
Sun Feb 10, 2019 1:45 pm
Busta999 offline
User avatar
Posts: 539
Joined: Mar 30, 2016
Location: Wales UK

Re: Looking for Beta Testers

DaveL17 wrote:

It sounds like there are three things going on.

1. Fill when fill turned off.


Yup correct
DaveL17 wrote:
2. Too many ticks error - this may be related to all data being zero.


No
All data valid and created by latest version of MapPlotLib
Even with one entry ten minutes a go it is reporting data from 1968 - this bug is deep....
This bug is showing up in logs - will attach compressed log

DaveL17 wrote:
3. rgba error with color "Invalid rgb arg".
.


This was the problem with data = 0.0

No longer get this issue as I turned on the device - it created some data - but may well return once threes days of 0.0 are all thats left in csv file

DaveL17 wrote:
I'll see what I can do to recreate the errors you're seeing with the data you've provided. If you can share the plugin private log file it would be super helpful.
Code: Select all
/Library/Application Support/Perceptive Automation/Indigo 7.2/Logs/com.fogbert.indigoplugin.matplotlib/plugin.log

I really appreciate the help!

Posted on
Sun Feb 10, 2019 2:43 pm
DaveL17 offline
User avatar
Posts: 4694
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Looking for Beta Testers

Thanks. I think I've improved the code to handle the fill issue. I have pushed v0.7.28 which hopefully addresses that.

I have created new devices with data files that have all zero values, and have also used yours. Unfortunately, I don't see the 'too many ticks' error. I have also tried numerous different colors with this data and did not see the 'rgba error'. The fact that I'm not seeing the errors you're seeing doesn't not diminish the fact that you're seeing them--it just means that I'm having a tough time recreating them.

For one of the charts that is showing the errors, please run the following Python code and share the results:
Code: Select all
dev = indigo.devices[DEVICE ID GOES HERE].ownerProps
indigo.server.log(u"{0}".format(dev))

You should see something like this:
Code: Select all
Feb 10, 2019 at 2:38:36 PM
   Script                          com.fogbert.indigoplugin.matplotlib : (dict)
     barLabel1 : false (bool)
     barLabel2 : false (bool)
     barLabel3 : false (bool)
     barLabel4 : false (bool)
     chartTitle : Title (string)
     customAxisLabelX : X Axis (string)
     customAxisLabelY : Y Axis (string)
     customLineSegments : None (string)
     customLineStyle : - (string)
     customSizeChart : false (bool)
     customSizeFont : false (bool)
     customSizeHeight : None (string)
     customSizeWidth : None (string)
     customTickFontSize : 8 (integer)
     customTicksLabelY :  (string)
     customTicksY :  (string)
     customTitleFontSize : 10 (integer)
     enableCustomLineSegmentsSetting : true (bool)
     fileName : chart_line.png (string)
     groupLabel1 : false (bool)
     groupLabel2 : false (bool)
     groupLabel3 : false (bool)
     groupLabel4 : false (bool)
     isChart : true (bool)
     line1Annotate : false (bool)
     line1BestFit : false (bool)
     line1BestFitColor : FF 00 00 (string)
     line1Color : 00 00 FF (string)
     line1Fill : false (bool)
     line1Legend :  (string)
     line1Marker : None (string)
     line1MarkerColor : FF FF FF (string)
     line1Source : one.csv (string)
     line1Style : - (string)
     line1adjuster :  (string)
     line2Annotate : false (bool)
     line2BestFit : false (bool)
     line2BestFitColor : FF 00 00 (string)
     line2Color : FF FF FF (string)
     line2Fill : false (bool)
     line2Legend :  (string)
     line2Marker : None (string)
     line2MarkerColor : FF FF FF (string)
     line2Source : None (string)
     line2Style : - (string)
     line2adjuster :  (string)
     line3Annotate : false (bool)
     line3BestFit : false (bool)
     line3BestFitColor : FF 00 00 (string)
     line3Color : FF FF FF (string)
     line3Fill : false (bool)
     line3Legend :  (string)
     line3Marker : None (string)
     line3MarkerColor : FF FF FF (string)
     line3Source : None (string)
     line3Style : - (string)
     line3adjuster :  (string)
     line4Annotate : false (bool)
     line4BestFit : false (bool)
     line4BestFitColor : FF 00 00 (string)
     line4Color : FF FF FF (string)
     line4Fill : false (bool)
     line4Legend :  (string)
     line4Marker : None (string)
     line4MarkerColor : FF FF FF (string)
     line4Source : None (string)
     line4Style : - (string)
     line4adjuster :  (string)
     line5Annotate : false (bool)
     line5BestFit : false (bool)
     line5BestFitColor : FF 00 00 (string)
     line5Color : FF FF FF (string)
     line5Fill : false (bool)
     line5Legend :  (string)
     line5Marker : None (string)
     line5MarkerColor : FF FF FF (string)
     line5Source : None (string)
     line5Style : - (string)
     line5adjuster :  (string)
     line6Annotate : false (bool)
     line6BestFit : false (bool)
     line6BestFitColor : FF 00 00 (string)
     line6Color : FF FF FF (string)
     line6Fill : false (bool)
     line6Legend :  (string)
     line6Marker : None (string)
     line6MarkerColor : FF FF FF (string)
     line6Source : None (string)
     line6Style : - (string)
     line6adjuster :  (string)
     lineLabel1 : true (bool)
     lineLabel2 : false (bool)
     lineLabel3 : false (bool)
     lineLabel4 : false (bool)
     lineLabel5 : false (bool)
     lineLabel6 : false (bool)
     plotLine1Max : false (bool)
     plotLine1Min : false (bool)
     plotLine2Max : false (bool)
     plotLine2Min : false (bool)
     plotLine3Max : false (bool)
     plotLine3Min : false (bool)
     plotLine4Max : false (bool)
     plotLine4Min : false (bool)
     plotLine5Max : false (bool)
     plotLine5Min : false (bool)
     plotLine6Max : false (bool)
     plotLine6Min : false (bool)
     rectWide : false (bool)
     refreshInterval : 900 (string)
     showLegend : false (bool)
     showxAxisGrid : false (bool)
     showyAxisGrid : false (bool)
     suppressLine1 : false (bool)
     suppressLine2 : false (bool)
     suppressLine3 : false (bool)
     suppressLine4 : false (bool)
     suppressLine5 : false (bool)
     suppressLine6 : false (bool)
     xAxisBins : daily (string)
     xAxisLabel : false (bool)
     xAxisLabelFormat : %A (string)
     y2AxisLabel : false (bool)
     yAxisLabel : false (bool)
     yAxisMax : None (string)
     yAxisMin : None (string)
     yAxisPrecision : 0 (string)
     yMirrorValues : false (bool)
     yMirrorValuesAlsoY1 : true (bool)

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Sun Feb 10, 2019 3:15 pm
Busta999 offline
User avatar
Posts: 539
Joined: Mar 30, 2016
Location: Wales UK

Re: Looking for Beta Testers

:-(


I am doing something stupid here sorry ...

Code: Select all
>>> dev = indigo.devices.1050563971.ownerPropsindigo.server.log(u"{0}".format(dev))
  File "<console>", line 1
    dev = indigo.devices.1050563971.ownerPropsindigo.server.log(u"{0}".format(dev))
                                  ^
SyntaxError: invalid syntax
>>>

Posted on
Sun Feb 10, 2019 4:00 pm
DaveL17 offline
User avatar
Posts: 4694
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Looking for Beta Testers

Busta999 wrote:
:-(


I am doing something stupid here sorry ...

Code: Select all
>>> dev = indigo.devices.1050563971.ownerPropsindigo.server.log(u"{0}".format(dev))
  File "<console>", line 1
    dev = indigo.devices.1050563971.ownerPropsindigo.server.log(u"{0}".format(dev))
                                  ^
SyntaxError: invalid syntax
>>>

Sorry for the slow reply -- the boards went down for maintenance for a bit. Not stupid--you just need to keep the brackets around the ID number.
Code: Select all
dev = indigo.devices.[1050563971].ownerProps
indigo.server.log(u"{0}".format(dev))

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Sun Feb 10, 2019 4:00 pm
Busta999 offline
User avatar
Posts: 539
Joined: Mar 30, 2016
Location: Wales UK

Re: Looking for Beta Testers

Code: Select all
dev = indigo.devices[1050563971].ownerProps
indigo.server.log(u"{0}".format(dev))


10 Feb 2019, 21:34:59
   Interactive Shell               com.fogbert.indigoplugin.matplotlib : (dict)
     bar1Color : FF FF FF (string)
     bar1ColorOther : FF FF FF (string)
     bar1Source : None (string)
     bar2Color : FF FF FF (string)
     bar2ColorOther : FF FF FF (string)
     bar2Source : None (string)
     bar3Color : FF FF FF (string)
     bar3ColorOther : FF FF FF (string)
     bar3Source : None (string)
     bar4Color : FF FF FF (string)
     bar4ColorOther : FF FF FF (string)
     bar4Source : None (string)
     chartTitle :  (string)
     customAxisLabelX :  (string)
     customAxisLabelY : Outside (string)
     customLineSegments : (0, "blue") (string)
     customLineStyle : - (string)
     customSizeChart : true (bool)
     customSizeFont : true (bool)
     customSizeHeight : 75 (string)
     customSizeWidth : 150 (string)
     customTickFontSize : 6 (string)
     customTicksLabelY : -5,0,10,15 (string)
     customTicksY : -5,0,10,15 (string)
     customTitleFontSize : 12 (string)
     enableCustomLineSegmentsSetting : true (bool)
     fileName : Chart Mini - Trend Outdoors.png (string)
     isChart : true (bool)
     line1Annotate : false (bool)
     line1BestFit :  (string)
     line1BestFitColor : FF 00 00 (string)
     line1Color : 00 FF FF (string)
     line1ColorOther : FF FF FF (string)
     line1Fill : false (bool)
     line1Legend :  (string)
     line1Marker : None (string)
     line1MarkerColor : FF FF FF (string)
     line1MarkerColorOther : FF FF FF (string)
     line1Source : Trend - Temp Outdoors.csv (string)
     line1Style : - (string)
     line1adjuster :  (string)
     line2Annotate : false (bool)
     line2BestFit :  (string)
     line2BestFitColor : FF 00 00 (string)
     line2Color : 00 80 00 (string)
     line2ColorOther : FF FF FF (string)
     line2Fill : true (bool)
     line2Legend :  (string)
     line2Marker : None (string)
     line2MarkerColor : FF 00 00 (string)
     line2MarkerColorOther : FF FF FF (string)
     line2Source : None.csv (string)
     line2Style : - (string)
     line2adjuster :  (string)
     line3Annotate : false (bool)
     line3BestFit :  (string)
     line3BestFitColor : FF 00 00 (string)
     line3Color : 7F 7F 7F (string)
     line3ColorOther : FF FF FF (string)
     line3Fill : false (bool)
     line3Legend :  (string)
     line3Marker : None (string)
     line3MarkerColor : FF FF FF (string)
     line3MarkerColorOther : FF FF FF (string)
     line3Source : None.csv (string)
     line3Style : - (string)
     line3adjuster :  (string)
     line4Annotate : false (bool)
     line4BestFit :  (string)
     line4BestFitColor : FF 00 00 (string)
     line4Color : FF FF FF (string)
     line4ColorOther : FF FF FF (string)
     line4Fill : false (bool)
     line4Legend :  (string)
     line4Marker : None (string)
     line4MarkerColor : FF FF FF (string)
     line4MarkerColorOther : FF FF FF (string)
     line4Source : None (string)
     line4Style : None (string)
     line4adjuster :  (string)
     line5Annotate : false (bool)
     line5BestFit :  (string)
     line5BestFitColor : FF 00 00 (string)
     line5Color : FF 00 00 (string)
     line5Fill :  (string)
     line5Legend :  (string)
     line5Marker :  (string)
     line5MarkerColor : FF 00 00 (string)
     line5Source :  (string)
     line5Style :  (string)
     line5adjuster :  (string)
     line6Annotate : false (bool)
     line6BestFit :  (string)
     line6BestFitColor : FF 00 00 (string)
     line6Color : FF 00 00 (string)
     line6Fill :  (string)
     line6Legend :  (string)
     line6Marker :  (string)
     line6MarkerColor : FF 00 00 (string)
     line6Source :  (string)
     line6Style :  (string)
     line6adjuster :  (string)
     lineLabel1 : true (bool)
     lineLabel2 : false (bool)
     lineLabel3 : false (bool)
     lineLabel4 : false (bool)
     lineLabel5 : false (bool)
     lineLabel6 : false (bool)
     plotLine1Max : false (bool)
     plotLine1Min : false (bool)
     plotLine2Max : false (bool)
     plotLine2Min : false (bool)
     plotLine3Max : false (bool)
     plotLine3Min : false (bool)
     plotLine4Max : false (bool)
     plotLine4Min : false (bool)
     plotLine5Max : false (bool)
     plotLine5Min : false (bool)
     plotLine6Max : false (bool)
     plotLine6Min : false (bool)
     rectWide : false (bool)
     refreshInterval : 900 (integer)
     showLegend : false (bool)
     showxAxisGrid : false (bool)
     showyAxisGrid : false (bool)
     suppressBar1 : false (bool)
     suppressBar2 : false (bool)
     suppressBar3 : false (bool)
     suppressBar4 : false (bool)
     suppressBar5 : false (bool)
     suppressBar6 : false (bool)
     suppressGroup1 : false (bool)
     suppressGroup2 : false (bool)
     suppressGroup3 : false (bool)
     suppressGroup4 : false (bool)
     suppressGroup5 : false (bool)
     suppressGroup6 : false (bool)
     suppressLine1 : false (bool)
     suppressLine2 : false (bool)
     suppressLine3 : false (bool)
     suppressLine4 : false (bool)
     suppressLine5 : false (bool)
     suppressLine6 : false (bool)
     xAxisBins : quarter-hourly (string)
     xAxisLabel : true (bool)
     xAxisLabelFormat : None (string)
     yAxisLabel : true (bool)
     yAxisMax : 15 (string)
     yAxisMin : -5 (string)
     yAxisPrecision : 1 (string)
     yMirrorValues : false (bool)
     yMirrorValuesAlsoY1 : false (bool)

Posted on
Sun Feb 10, 2019 4:02 pm
Busta999 offline
User avatar
Posts: 539
Joined: Mar 30, 2016
Location: Wales UK

Re: Looking for Beta Testers

DaveL17 wrote:
Sorry for the slow reply -- the boards went down for maintenance for a bit.


Yeh I noticed :-)

Jon was watching the thread and texted me the right way to do it :-)

Hopefully that helps

It is for the Mini Graph for outdoor temp

Posted on
Mon Feb 11, 2019 6:50 am
DaveL17 offline
User avatar
Posts: 4694
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Looking for Beta Testers

Thanks for sharing that data. In looking it over, the 'line_x_BestFit' field type should be fixed with the latest build--you'll notice that they're improperly defined as strings rather than boolean values. This should be fixed automatically when the newest version is installed. I see a few more things that I might refine in the future, but I don't see anything else that should be causing a problem.

The color issue is a head scratcher. It looks like all the fields are populated with a valid color value. There may be a bug injecting something bad when the fields are processed, but that's not something I'm seeing on my end. I'll continue to see if I can find that one.

I haven't been able to recreate the 'too many ticks' error that you saw. I'll continue to work on it, but would appreciate seeing the plugin log file data from the point where that error shows up.

Appreciate the help very much!
Dave

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Mon Feb 11, 2019 7:11 am
Busta999 offline
User avatar
Posts: 539
Joined: Mar 30, 2016
Location: Wales UK

Re: Looking for Beta Testers

Ok

Installed 7.28

Fill bug resolved :-)

The 116241 ticks issue - no progress.

So I will replicate the Graph as a new Graph and see how it does.

Posted on
Mon Feb 11, 2019 7:20 am
DaveL17 offline
User avatar
Posts: 4694
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Looking for Beta Testers

Busta999 wrote:
Ok

Installed 7.28

Fill bug resolved :-)

The 116241 ticks issue - no progress.

So I will replicate the Graph as a new Graph and see how it does.

Good deal on the fill bug. Thanks!

For the ticks issue: Please do the following -- within the plugin configuration window, enable debug logging and tick the Verbose Logging checkbox. Then, reload the plugin and let it run until the 'too many ticks' error shows up. Then turn those debug settings off again (they will log a lot of information.) Then, please send me a link to the plugin log file (you can do in a PM if you're concerned about what's inside). That file is located at:
Code: Select all
/Library/Application Support/Perceptive Automation/Indigo 7.2/Logs/com.fogbert.indigoplugin.matplotlib/plugin.log


Getting ready to start the day job, but will get to it ASAP.

Cheers,
Dave

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Mon Feb 11, 2019 7:23 am
Busta999 offline
User avatar
Posts: 539
Joined: Mar 30, 2016
Location: Wales UK

Re: Looking for Beta Testers

Yep it worked.

Replicating every setting and it worked without issue.

I renamed the ticks one - and it is still glitching - will do as you request and revert to you.

Something glitchy in there somewhere but not visible.

So that is everything now.

The Power Tool chargers cv data will clear out in the next 24 hours so we will see if the issue of a csv only having 0.0 data returns :-)


I am only using line drawings - if it helps I can test a wider range ?

Mike

Posted on
Mon Feb 11, 2019 7:39 am
Busta999 offline
User avatar
Posts: 539
Joined: Mar 30, 2016
Location: Wales UK

Re: Looking for Beta Testers

Ok attached compressed was 700Kb :-)

I stopped the plugin

deleted the plugin.log

turned plugin back on

enabled full debug verbose

forced redraw of graphs

error in indigo log

stopped debugging/verbose

zipped and returned to here - not allowed to upload zips here so changed .zip to .log

you will need to unzip

done
Attachments
plugin.log.log
(94.45 KiB) Downloaded 6 times

Posted on
Mon Feb 11, 2019 7:46 am
Busta999 offline
User avatar
Posts: 539
Joined: Mar 30, 2016
Location: Wales UK

Re: Looking for Beta Testers

Enhancement Requests

1. Legend extended so it can run all the way across the bottom of the graph - at the moment it wraps to a second line even though it is only using the middle half of the graph - if all 6 lines are used and text is too long it wraps rather than - see below

Image-1.jpeg
example of text/legend wrapping
Image-1.jpeg (127.6 KiB) Viewed 215 times



2. Legend Font Size - can this be configured it is very small text

Posted on
Mon Feb 11, 2019 4:52 pm
DaveL17 offline
User avatar
Posts: 4694
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Looking for Beta Testers

Busta999 wrote:
Enhancement Requests

1. Legend extended so it can run all the way across the bottom of the graph - at the moment it wraps to a second line even though it is only using the middle half of the graph - if all 6 lines are used and text is too long it wraps rather than - see below

2. Legend Font Size - can this be configured it is very small text

Responding to this one first.

1: I'll take a look at the code, I think the number of legend entries is limited to five across, but I need to double-check that. It's a little bit of give and take on this one because adjusting the legend appearance can actually become unwieldy if I don't rein it in somewhat. Which leads me to:

2: You can adjust the legend font size in the plugin configuration dialog.

I'll add number one to the feature request list. There might be something I can do.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Mon Feb 11, 2019 4:57 pm
Busta999 offline
User avatar
Posts: 539
Joined: Mar 30, 2016
Location: Wales UK

Re: Looking for Beta Testers

Dave

Appreciated :-)

Mike


Sent from my iPad using Tapatalk

Posted on
Mon Feb 11, 2019 5:12 pm
DaveL17 offline
User avatar
Posts: 4694
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Looking for Beta Testers

Busta999 wrote:
Ok attached compressed was 700Kb :-)

I stopped the plugin

deleted the plugin.log

turned plugin back on

enabled full debug verbose

forced redraw of graphs

error in indigo log

stopped debugging/verbose

zipped and returned to here - not allowed to upload zips here so changed .zip to .log

you will need to unzip

done

Although 700K really isn't that big of a file, you can see that it did 700K over the course of about 30 seconds. That's why I don't want anyone to turn that on without a need for it -- and to not leave it on for too long. I think I understand what's going on with the "too many ticks" error now.

Your chart Chart Mini - Trend Outdoor Temp - OLD has 3 lines:
- line 1 goes from 2019-02-11 10:34:00.121467 to 2019-02-11 13:20:00.952835 (or about 3 hours)
- line 2 and 3 [AV Daily Power Usage] each have only one observation, both with the timestamp of 1970-01-01 00:00:00, and a data point equal to zero.

The 1970 date is significant. When the plugin finds that the data file is gone or contains no observations, it assigns at least one observation and gives it the timestamp of 1970-01-01 00:00:00 (epoch time). This timestamp then ensures that the next time the CSV data are updated that a "real" observation will be logged. So Matplotlib is trying to plot ticks from 1970-01-01 to 2019-02-11 which is way too many. (I'm curious what would happen if you changed the X axis scale to 'Every Year'. I must admit that I have no idea where the 1968 or the 2021 in the error is coming from. :D This is something that I should be able to handle in code--now that I know where the problem lies.

There is also another error in your log that I will also try to track down. Being able to see your log has been hugely helpful. Thanks so much for the help!

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Who is online

Users browsing this forum: No registered users and 1 guest