Skip to content

Commit a257af6

Browse files
committed
- Moves refresh interval to chart settings. Users can now establish
individual refresh rates for each chart. - Adds weekly option to refresh interval. - Better sorting of CSV sources within device configuration dialogs. - Significantly reduces debug logging. - Code refinements.
1 parent cb5ed2b commit a257af6

File tree

6 files changed

+674
-670
lines changed

6 files changed

+674
-670
lines changed

_changelog.txt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
11

2+
v0.7.04
3+
- Moves refresh interval to chart settings. Users can now establish
4+
individual refresh rates for each chart.
5+
- Adds weekly option to refresh interval.
6+
- Better sorting of CSV sources within device configuration dialogs.
7+
- Significantly reduces debug logging.
8+
- Code refinements.
9+
210
v0.7.03
311
- Fixes bug in setting of marker style for lines 5 and 6.
412
- Fixes bug in setting of marker color for all lines.
@@ -146,7 +154,7 @@ v0.4.09
146154
v0.4.08
147155
- Adds a new Action Item to refresh individual charts. Useful when a single
148156
data point changes (i.e., device state or variable value).
149-
- Makes the cleanString() method optional for multiline text charts.
157+
- Makes the clean_string() method optional for multiline text charts.
150158
- Removes the need to manually refresh the list of values to chart when
151159
selecting a data source for multiline text charts (removes the 'Refresh'
152160
button).

matplotlib.indigoPlugin/Contents/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<plist version="1.0">
44
<dict>
55
<key>PluginVersion</key>
6-
<string>0.7.03</string>
6+
<string>0.7.04</string>
77
<key>ServerApiVersion</key>
88
<string>2.0</string>
99
<key>IwsApiVersion</key>

matplotlib.indigoPlugin/Contents/Server Plugin/DLFramework/DLFramework.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import ast
1010
import indigo
1111
import operator as op
12+
import os
1213
import platform
1314
import sys
1415

@@ -44,6 +45,7 @@ def pluginEnvironment(self):
4445
indigo.server.log(u"{0:<31} {1}".format("Indigo version:", indigo.server.version))
4546
indigo.server.log(u"{0:<31} {1}".format("Python version:", sys.version.replace('\n', '')))
4647
indigo.server.log(u"{0:<31} {1}".format("Mac OS Version:", platform.mac_ver()[0]))
48+
indigo.server.log(u"{0:<31} {1}".format("Process ID:", os.getpid()))
4749
indigo.server.log(u"{0:=^130}".format(""))
4850

4951
def convertDebugLevel(self, debug_val):

matplotlib.indigoPlugin/Contents/Server Plugin/Devices.xml

Lines changed: 155 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,22 @@
2121
<Label>Enter the number of observations that you would like to retain in your CSV files.</Label>
2222
</Field>
2323

24+
<Field id="refreshInterval" type="menu" defaultValue="900" tooltip="How frequently would you like the plugin to update the CSV data?">
25+
<Label>Refresh Interval:</Label>
26+
<List>
27+
<Option value="0">None - Manual Refresh Only</Option>
28+
<Option value="-1">%%separator%%</Option>
29+
<Option value="60">Every Minute</Option>
30+
<Option value="300">Every 5 Minutes</Option>
31+
<Option value="600">Every 10 Minutes</Option>
32+
<Option value="900">Every 15 Minutes</Option>
33+
<Option value="1800">Every 30 Minutes</Option>
34+
<Option value="3600">Every Hour</Option>
35+
<Option value="86400">Every Day</Option>
36+
<Option value="604800">Every Week</Option>
37+
</List>
38+
</Field>
39+
2440
<Field id="addItemLabel" type="label" alignText="right">
2541
<Label>Add Data Item</Label>
2642
</Field>
@@ -41,7 +57,7 @@
4157

4258
<Field id="addSource" type="menu">
4359
<Label>ID:</Label>
44-
<List class="self" filter="" method="csvSource" dynamicReload="true"/>
60+
<List class="self" filter="" method="csv_source" dynamicReload="true"/>
4561
<CallbackMethod>_dummyCallback</CallbackMethod>
4662
</Field>
4763

@@ -50,10 +66,10 @@
5066
<List class="self" filter="" method="deviceStateValueList" dynamicReload="true"/>
5167
</Field>
5268

53-
<Field id="csvItemAdd" type="button">
69+
<Field id="csv_item_add" type="button">
5470
<Label/>
5571
<Title>Add Item</Title>
56-
<CallbackMethod>csvItemAdd</CallbackMethod>
72+
<CallbackMethod>csv_item_add</CallbackMethod>
5773
</Field>
5874

5975
<Field id="numObsLabel" type="label" alignText="right">
@@ -66,10 +82,10 @@
6682
<Label>Use this section to update or delete existing items.</Label>
6783
</Field>
6884

69-
<Field id="csvItemList" type="menu">
85+
<Field id="csv_item_list" type="menu">
7086
<Label>Item List</Label>
71-
<List class="self" filter="" method="csvItemList" dynamicReload="true"/>
72-
<CallbackMethod>csvItemSelect</CallbackMethod>
87+
<List class="self" filter="" method="csv_item_list" dynamicReload="true"/>
88+
<CallbackMethod>csv_item_select</CallbackMethod>
7389
</Field>
7490

7591
<Field id="isColumnSelected" type="checkbox" hidden="true" default="False">
@@ -98,7 +114,7 @@
98114

99115
<Field id="editSource" type="menu" enabledBindingId="isColumnSelected">
100116
<Label>ID:</Label>
101-
<List class="self" filter="" method="csvSource" dynamicReload="true"/>
117+
<List class="self" filter="" method="csv_source" dynamicReload="true"/>
102118
<CallbackMethod>_dummyCallback</CallbackMethod>
103119
</Field>
104120

@@ -107,20 +123,20 @@
107123
<List class="self" filter="" method="deviceStateValueList" dynamicReload="true"/>
108124
</Field>
109125

110-
<Field id="csvItemUpdate" type="button" enabledBindingId="isColumnSelected">
126+
<Field id="csv_item_update" type="button" enabledBindingId="isColumnSelected">
111127
<Label/>
112128
<Title>Update Item</Title>
113-
<CallbackMethod>csvItemUpdate</CallbackMethod>
129+
<CallbackMethod>csv_item_update</CallbackMethod>
114130
</Field>
115131

116132
<Field id="label2.5" type="label" fontColor="darkgray" alignWithControl="true" fontSize="small">
117133
<Label>or</Label>
118134
</Field>
119135

120-
<Field id="csvItemDelete" type="button" enabledBindingId="isColumnSelected">
136+
<Field id="csv_item_delete" type="button" enabledBindingId="isColumnSelected">
121137
<Label/>
122138
<Title>Delete Item</Title>
123-
<CallbackMethod>csvItemDelete</CallbackMethod>
139+
<CallbackMethod>csv_item_delete</CallbackMethod>
124140
</Field>
125141

126142
<Field id="bottomSeparator" type="separator"/>
@@ -164,6 +180,22 @@
164180
<Label>Output File Name:</Label>
165181
</Field>
166182

183+
<Field id="refreshInterval" type="menu" defaultValue="900" tooltip="How frequently would you like the plugin to redraw this chart?">
184+
<Label>Refresh Interval:</Label>
185+
<List>
186+
<Option value="0">None - Manual Refresh Only</Option>
187+
<Option value="-1">%%separator%%</Option>
188+
<Option value="60">Every Minute</Option>
189+
<Option value="300">Every 5 Minutes</Option>
190+
<Option value="600">Every 10 Minutes</Option>
191+
<Option value="900">Every 15 Minutes</Option>
192+
<Option value="1800">Every 30 Minutes</Option>
193+
<Option value="3600">Every Hour</Option>
194+
<Option value="86400">Every Day</Option>
195+
<Option value="604800">Every Week</Option>
196+
</List>
197+
</Field>
198+
167199
<Field id="outputFileSpace" type="label"/>
168200

169201
<Field id="chartControlsLabel" type="label" alignText="right">
@@ -537,6 +569,22 @@ number and the color value should be enclosed in double quotes. Multiple entries
537569
<Label>Output File Name:</Label>
538570
</Field>
539571

572+
<Field id="refreshInterval" type="menu" defaultValue="900" tooltip="How frequently would you like the plugin to redraw this chart?">
573+
<Label>Refresh Interval:</Label>
574+
<List>
575+
<Option value="0">None - Manual Refresh Only</Option>
576+
<Option value="-1">%%separator%%</Option>
577+
<Option value="60">Every Minute</Option>
578+
<Option value="300">Every 5 Minutes</Option>
579+
<Option value="600">Every 10 Minutes</Option>
580+
<Option value="900">Every 15 Minutes</Option>
581+
<Option value="1800">Every 30 Minutes</Option>
582+
<Option value="3600">Every Hour</Option>
583+
<Option value="86400">Every Day</Option>
584+
<Option value="604800">Every Week</Option>
585+
</List>
586+
</Field>
587+
540588
<Field id="chartControlsLabel" type="label" alignText="right">
541589
<Label>Chart Controls</Label>
542590
</Field>
@@ -655,6 +703,22 @@ number and the color value should be enclosed in double quotes. Multiple entries
655703
<Label>Output File Name:</Label>
656704
</Field>
657705

706+
<Field id="refreshInterval" type="menu" defaultValue="900" tooltip="How frequently would you like the plugin to redraw this chart?">
707+
<Label>Refresh Interval:</Label>
708+
<List>
709+
<Option value="0">None - Manual Refresh Only</Option>
710+
<Option value="-1">%%separator%%</Option>
711+
<Option value="60">Every Minute</Option>
712+
<Option value="300">Every 5 Minutes</Option>
713+
<Option value="600">Every 10 Minutes</Option>
714+
<Option value="900">Every 15 Minutes</Option>
715+
<Option value="1800">Every 30 Minutes</Option>
716+
<Option value="3600">Every Hour</Option>
717+
<Option value="86400">Every Day</Option>
718+
<Option value="604800">Every Week</Option>
719+
</List>
720+
</Field>
721+
658722
<Field id="customSizeHeight" type="textfield" defaultValue="None"
659723
tooltip="This value will override the size value set in the main plugin configuration. The value will be used for height. To set it back to the default size, enter None.">
660724
<Label>Custom Height:</Label>
@@ -712,6 +776,22 @@ number and the color value should be enclosed in double quotes. Multiple entries
712776
<Label>Output File Name:</Label>
713777
</Field>
714778

779+
<Field id="refreshInterval" type="menu" defaultValue="900" tooltip="How frequently would you like the plugin to redraw this chart?">
780+
<Label>Refresh Interval:</Label>
781+
<List>
782+
<Option value="0">None - Manual Refresh Only</Option>
783+
<Option value="-1">%%separator%%</Option>
784+
<Option value="60">Every Minute</Option>
785+
<Option value="300">Every 5 Minutes</Option>
786+
<Option value="600">Every 10 Minutes</Option>
787+
<Option value="900">Every 15 Minutes</Option>
788+
<Option value="1800">Every 30 Minutes</Option>
789+
<Option value="3600">Every Hour</Option>
790+
<Option value="86400">Every Day</Option>
791+
<Option value="604800">Every Week</Option>
792+
</List>
793+
</Field>
794+
715795
<Field id="outputFileSpace" type="label"/>
716796

717797
<Field id="chartControlsLabel" type="label" alignText="right">
@@ -1384,6 +1464,22 @@ There are presently no configurations available for this device.
13841464
<Label>Output File Name:</Label>
13851465
</Field>
13861466

1467+
<Field id="refreshInterval" type="menu" defaultValue="900" tooltip="How frequently would you like the plugin to redraw this chart?">
1468+
<Label>Refresh Interval:</Label>
1469+
<List>
1470+
<Option value="0">None - Manual Refresh Only</Option>
1471+
<Option value="-1">%%separator%%</Option>
1472+
<Option value="60">Every Minute</Option>
1473+
<Option value="300">Every 5 Minutes</Option>
1474+
<Option value="600">Every 10 Minutes</Option>
1475+
<Option value="900">Every 15 Minutes</Option>
1476+
<Option value="1800">Every 30 Minutes</Option>
1477+
<Option value="3600">Every Hour</Option>
1478+
<Option value="86400">Every Day</Option>
1479+
<Option value="604800">Every Week</Option>
1480+
</List>
1481+
</Field>
1482+
13871483
<Field id="sourceSpace1" type="label"/>
13881484

13891485
<Field id="sourceLabel" type="label" alignText="right">
@@ -1492,6 +1588,22 @@ There are presently no configurations available for this device.
14921588
<Label>Output File Name:</Label>
14931589
</Field>
14941590

1591+
<Field id="refreshInterval" type="menu" defaultValue="900" tooltip="How frequently would you like the plugin to redraw this chart?">
1592+
<Label>Refresh Interval:</Label>
1593+
<List>
1594+
<Option value="0">None - Manual Refresh Only</Option>
1595+
<Option value="-1">%%separator%%</Option>
1596+
<Option value="60">Every Minute</Option>
1597+
<Option value="300">Every 5 Minutes</Option>
1598+
<Option value="600">Every 10 Minutes</Option>
1599+
<Option value="900">Every 15 Minutes</Option>
1600+
<Option value="1800">Every 30 Minutes</Option>
1601+
<Option value="3600">Every Hour</Option>
1602+
<Option value="86400">Every Day</Option>
1603+
<Option value="604800">Every Week</Option>
1604+
</List>
1605+
</Field>
1606+
14951607
<Field id="sourceSpace1" type="label"/>
14961608

14971609
<Field id="sourceLabel1" type="label" alignText="right">
@@ -1624,6 +1736,22 @@ There are presently no configurations available for this device.
16241736
<Label>Output File Name:</Label>
16251737
</Field>
16261738

1739+
<Field id="refreshInterval" type="menu" defaultValue="900" tooltip="How frequently would you like the plugin to redraw this chart?">
1740+
<Label>Refresh Interval:</Label>
1741+
<List>
1742+
<Option value="0">None - Manual Refresh Only</Option>
1743+
<Option value="-1">%%separator%%</Option>
1744+
<Option value="60">Every Minute</Option>
1745+
<Option value="300">Every 5 Minutes</Option>
1746+
<Option value="600">Every 10 Minutes</Option>
1747+
<Option value="900">Every 15 Minutes</Option>
1748+
<Option value="1800">Every 30 Minutes</Option>
1749+
<Option value="3600">Every Hour</Option>
1750+
<Option value="86400">Every Day</Option>
1751+
<Option value="604800">Every Week</Option>
1752+
</List>
1753+
</Field>
1754+
16271755
<Field id="outputFileSpace" type="label"/>
16281756

16291757
<Field id="chartControlsLabel" type="label" alignText="right">
@@ -2038,6 +2166,22 @@ There are presently no configurations available for this device.
20382166
<Label>Output File Name:</Label>
20392167
</Field>
20402168

2169+
<Field id="refreshInterval" type="menu" defaultValue="900" tooltip="How frequently would you like the plugin to redraw this chart?">
2170+
<Label>Refresh Interval:</Label>
2171+
<List>
2172+
<Option value="0">None - Manual Refresh Only</Option>
2173+
<Option value="-1">%%separator%%</Option>
2174+
<Option value="60">Every Minute</Option>
2175+
<Option value="300">Every 5 Minutes</Option>
2176+
<Option value="600">Every 10 Minutes</Option>
2177+
<Option value="900">Every 15 Minutes</Option>
2178+
<Option value="1800">Every 30 Minutes</Option>
2179+
<Option value="3600">Every Hour</Option>
2180+
<Option value="86400">Every Day</Option>
2181+
<Option value="604800">Every Week</Option>
2182+
</List>
2183+
</Field>
2184+
20412185
<Field id="outputFileSpace" type="label"/>
20422186

20432187
<Field id="chartControlsLabel" type="label" alignText="right">

matplotlib.indigoPlugin/Contents/Server Plugin/PluginConfig.xml

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -64,21 +64,6 @@
6464
tooltip="Enter the path to the folder where your charts should be saved.">
6565
<Label>Save Images To:</Label>
6666
</Field>
67-
<!-- Refresh Interval -->
68-
<Field id="refreshInterval" type="menu" defaultValue="900" tooltip="How frequently you would like the plugin to redraw the charts.">
69-
<Label>Refresh Interval:</Label>
70-
<List>
71-
<Option value="0">None - Manual Refresh Only</Option>
72-
<Option value="-1">%%separator%%</Option>
73-
<Option value="60">Every Minute</Option>
74-
<Option value="300">Every 5 Minutes</Option>
75-
<Option value="600">Every 10 Minutes</Option>
76-
<Option value="900">Every 15 Minutes</Option>
77-
<Option value="1800">Every 30 Minutes</Option>
78-
<Option value="3600">Every Hour</Option>
79-
<Option value="86400">Every Day</Option>
80-
</List>
81-
</Field>
8267

8368
<!-- Chart Resolution -->
8469
<Field id="chartResolution" type="textfield" defaultValue="100" tooltip="Enter your preference for the resolution of your chart in DPI (100).">

0 commit comments

Comments
 (0)