Skip to content

Commit

Permalink
karl's improvements
Browse files Browse the repository at this point in the history
• Added minmax for yesterday dev states for temp and humidity.
• Fixed min/max setting at midnight bug.
• Added device refresh for self.tempList[sensor] if states or props updated.
• Added _getCurrentSensorValue method to always return the latest current value for comparisons (date time, etc.)
• Added decimalPlaces for temp and humidity consistently (now not string but number); also if decimalPlaces == 0 use integer not float for value.
• Added check if key is already in update list, use the last value.
• Optimization of calling _finalizeStatesChanges() only once for each data processing, reducing updates by factor 2-3. Because using _getCurrentSensorValue is used in comparisons it should be fine to not update more frequently.
• Added "reset sensor" menu option (only currently implemented for rain sensor).
• Added updating device state list in device startup in case devices.xml changes.
  • Loading branch information
Matt Bendiksen authored and Matt Bendiksen committed Mar 9, 2018
1 parent af46fe7 commit 3c04d74
Show file tree
Hide file tree
Showing 6 changed files with 454 additions and 206 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

.DS_Store
2 changes: 1 addition & 1 deletion RFXCOM.indigoPlugin/Contents/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>PluginVersion</key>
<string>2.1.3</string>
<string>2.1.7</string>
<key>ServerApiVersion</key>
<string>2.0.0</string>
<key>IwsApiVersion</key>
Expand Down
80 changes: 80 additions & 0 deletions RFXCOM.indigoPlugin/Contents/Server Plugin/Devices.xml
Original file line number Diff line number Diff line change
Expand Up @@ -378,6 +378,16 @@
<TriggerLabel>Max. temperature</TriggerLabel>
<ControlPageLabel>Max. temperature</ControlPageLabel>
</State>
<State id="minYesterdaytemperature">
<ValueType>Integer</ValueType>
<TriggerLabel>Min. temperature yesterday</TriggerLabel>
<ControlPageLabel>Min. temperature yesterday</ControlPageLabel>
</State>
<State id="maxYesterdaytemperature">
<ValueType>Integer</ValueType>
<TriggerLabel>Max. temperature yesterday</TriggerLabel>
<ControlPageLabel>Max. temperature yesterday</ControlPageLabel>
</State>
<State id="humidity">
<ValueType>Integer</ValueType>
<TriggerLabel>Humidity</TriggerLabel>
Expand All @@ -393,6 +403,16 @@
<TriggerLabel>Max. humidity</TriggerLabel>
<ControlPageLabel>Max. humidity</ControlPageLabel>
</State>
<State id="maxYesterdayhumidity">
<ValueType>Integer</ValueType>
<TriggerLabel>Max. humidity yesterday</TriggerLabel>
<ControlPageLabel>Max. humidity yesterday</ControlPageLabel>
</State>
<State id="minYesterdayhumidity">
<ValueType>Integer</ValueType>
<TriggerLabel>Min. humidity yesterday</TriggerLabel>
<ControlPageLabel>Min. humidity yesterday</ControlPageLabel>
</State>
<State id="type">
<ValueType>Integer</ValueType>
<TriggerLabel>Type</TriggerLabel>
Expand Down Expand Up @@ -575,6 +595,16 @@
<TriggerLabel>Max. temperature</TriggerLabel>
<ControlPageLabel>Max. temperature</ControlPageLabel>
</State>
<State id="minYesterdaytemperature">
<ValueType>Integer</ValueType>
<TriggerLabel>Min. temperature yesterday</TriggerLabel>
<ControlPageLabel>Min. temperature yesterday</ControlPageLabel>
</State>
<State id="maxYesterdaytemperature">
<ValueType>Integer</ValueType>
<TriggerLabel>Max. temperature yesterday</TriggerLabel>
<ControlPageLabel>Max. temperature yesterday</ControlPageLabel>
</State>
<State id="humidity">
<ValueType>Integer</ValueType>
<TriggerLabel>Humidity</TriggerLabel>
Expand All @@ -590,6 +620,16 @@
<TriggerLabel>Max. humidity</TriggerLabel>
<ControlPageLabel>Max. humidity</ControlPageLabel>
</State>
<State id="maxYesterdayhumidity">
<ValueType>Integer</ValueType>
<TriggerLabel>Max. humidity yesterday</TriggerLabel>
<ControlPageLabel>Max. humidity yesterday</ControlPageLabel>
</State>
<State id="minYesterdayhumidity">
<ValueType>Integer</ValueType>
<TriggerLabel>Min. humidity yesterday</TriggerLabel>
<ControlPageLabel>Min. humidity yesterday</ControlPageLabel>
</State>
<State id="barometer">
<ValueType>Integer</ValueType>
<TriggerLabel>Humidity</TriggerLabel>
Expand Down Expand Up @@ -674,6 +714,16 @@
<TriggerLabel>Max. humidity</TriggerLabel>
<ControlPageLabel>Max. humidity</ControlPageLabel>
</State>
<State id="maxYesterdayhumidity">
<ValueType>Integer</ValueType>
<TriggerLabel>Max. humidity yesterday</TriggerLabel>
<ControlPageLabel>Max. humidity yesterday</ControlPageLabel>
</State>
<State id="minYesterdayhumidity">
<ValueType>Integer</ValueType>
<TriggerLabel>Min. humidity yesterday</TriggerLabel>
<ControlPageLabel>Min. humidity yesterday</ControlPageLabel>
</State>
<State id="type">
<ValueType>Integer</ValueType>
<TriggerLabel>Type</TriggerLabel>
Expand Down Expand Up @@ -760,6 +810,16 @@
<TriggerLabel>Max. temperature</TriggerLabel>
<ControlPageLabel>Max. temperature</ControlPageLabel>
</State>
<State id="minYesterdaytemperature">
<ValueType>Integer</ValueType>
<TriggerLabel>Min. temperature yesterday</TriggerLabel>
<ControlPageLabel>Min. temperature yesterday</ControlPageLabel>
</State>
<State id="maxYesterdaytemperature">
<ValueType>Integer</ValueType>
<TriggerLabel>Max. temperature yesterday</TriggerLabel>
<ControlPageLabel>Max. temperature yesterday</ControlPageLabel>
</State>
<State id="type">
<ValueType>Integer</ValueType>
<TriggerLabel>Type</TriggerLabel>
Expand Down Expand Up @@ -949,6 +1009,16 @@
<TriggerLabel>Max. temperature</TriggerLabel>
<ControlPageLabel>Max. temperature</ControlPageLabel>
</State>
<State id="minYesterdaytemperature">
<ValueType>Integer</ValueType>
<TriggerLabel>Min. temperature yesterday</TriggerLabel>
<ControlPageLabel>Min. temperature yesterday</ControlPageLabel>
</State>
<State id="maxYesterdaytemperature">
<ValueType>Integer</ValueType>
<TriggerLabel>Max. temperature yesterday</TriggerLabel>
<ControlPageLabel>Max. temperature yesterday</ControlPageLabel>
</State>
<State id="humidity">
<ValueType>Integer</ValueType>
<TriggerLabel>Humidity</TriggerLabel>
Expand All @@ -964,6 +1034,16 @@
<TriggerLabel>Max. humidity</TriggerLabel>
<ControlPageLabel>Max. humidity</ControlPageLabel>
</State>
<State id="maxYesterdayhumidity">
<ValueType>Integer</ValueType>
<TriggerLabel>Max. humidity yesterday</TriggerLabel>
<ControlPageLabel>Max. humidity yesterday</ControlPageLabel>
</State>
<State id="minYesterdayhumidity">
<ValueType>Integer</ValueType>
<TriggerLabel>Min. humidity yesterday</TriggerLabel>
<ControlPageLabel>Min. humidity yesterday</ControlPageLabel>
</State>
<State id="voltage">
<ValueType>Integer</ValueType>
<TriggerLabel>Voltage</TriggerLabel>
Expand Down
12 changes: 12 additions & 0 deletions RFXCOM.indigoPlugin/Contents/Server Plugin/MenuItems.xml
Original file line number Diff line number Diff line change
Expand Up @@ -62,5 +62,17 @@
<Name>Stop Mertik..</Name>
<ConfigUI actionId="StopMertik"/>
</MenuItem>
<MenuItem id="resetDevice">
<Name>Reset device</Name>
<ConfigUI>
<Field id="selectedDevice" type="menu" defaultValue="0">
<Label>select Unifi-CLient device:</Label>
<List class="self" filter="" method="filterdevices" dynamicReload="no"/>
</Field>
<Field id="confirmDevice" type="button" tooltip="" >
<Label>Click to RESET</Label><Title>EXECUTE</Title> <CallbackMethod>buttonConfirmRESETCALLBACK</CallbackMethod>
</Field>
</ConfigUI>
</MenuItem>

</MenuItems>
Loading

0 comments on commit 3c04d74

Please sign in to comment.