I can't find the issue. Maybe fresh (competent) eyes can help.
The system is designed to keep the house cold, but to avoid freezing.
Every six hours, I run the python script previously discussed. I measure temperature at several locations with phidget temp sensors. Every time a temperature changes value, there is an associated trigger that takes the temperature and modifies the variable for that spot. The script gathers the cold threshold for each location, as well as the current temperature from the device.
If a location is cold, the associated heater is turned on. The last action in the script is to send an email with the temperature, threshold and device state (T/F).
For each location, there are two additional triggers - a cold one with a lower threshold that the one in the script (as a safety measure), and a temp OK one, which turns off the heater.
Everything is working, with the exception of the Living Room sensor and the house thermostat.
At 0600, the email reports the same temperature for the last 3 mornings (2.9C). The threshold for increasing the thermostat from 5C to 7C is 4C. Today, for the first time, the thermostat was set to 7C (as designed), but at 0609, it was returned to 5C.
I don't believe the temperature has ever gone below 5C - certainly not below 3C, based on values before and after 0600.
This morning's emails:
0600 #1, created by the script which runs every 6 hours:
Outside: -2.2
Crawl space: 7.8
Street water: 6.0
Main Water Valve (open=T): False
5 Drain Valves (open=T): False
HwTank: 12.0
HwTankPwr (on=T): False
lRm: 2.9
Upstairs: 5.5
Thermostat set to: 7
HtrSump: 19.1
HtrSumpTape (on=T): False
WineCab: 8.4
wine cabinet heater (on=T): True
Occupied: False
The email was created by FD Status Email (action group)
0600 #2 - when action is taken to warm up, the trigger sends an email. This time, the script actually did its job - why it did today, and not the previous two days is a mystery (or a clue?):
lR Temp: 2.9
Upstairs Temp: 5.5
Thermostat set to : 7
NB: the thermostat setting is a variable value, not necessarily the actual setting.
0609:
lR Temp: 6.0
Upstairs Temp: 5.5
Thermostat set to : 5
NB: the thermostat setting is a variable value, not necessarily the actual setting.
email sent by AG - "FD House Heater set to 5C email"
There is no way the temperature in the living room went from 2.9C to 6C in 9 minutes.
What seems to be happening is a 'rogue' temperature value is being assigned to the lRmTemp variable. However, every time I have compared the device with the variable, they always match. The backup up trigger for the living room is triggered when the lRmtemp is <2C. The script imports the lrTemp as an integer - and I'm guessing the Indigo trigger is testing against the device state, which I assume is floating.
To check for errors, I have copied the device / variable IDs, and searched for them in Indigo devices and variables. I have also searched for "lrC" in the python script, and haven't found any rogue instances. I have also looked for any variable value or phidgets device state which could be 2.9. The events log only shows the script running at 0600, and nothing that indicates a variable assignment. Is there a way to log values with a trigger? - I could add a script to do this.
What am I missing? There has to be a simple answer.