@@ -196,54 +196,54 @@ def loop(self):
196196 self .measurement_measurement_id ,
197197 max_age = self .measurement_max_age )
198198
199- if not last_measurement :
200- self .logger .error ("Could not acquire a measurement" )
199+ if not last_measurement or last_measurement [1 ] is None :
200+ self .logger .error ("No measurement available. Cannot operate without measurement. Turning output Off." )
201+ self .control .output_off (self .output_device_id , output_channel = self .output_channel )
201202 return
202203
203204 if self .direction == 'raise' :
204- if last_measurement [1 ] > ( self .setpoint + self .hysteresis ) :
205+ if last_measurement [1 ] > self .setpoint + self .hysteresis :
205206 self .logger .debug ("Raise: Off" )
206207 self .control .output_off (
207208 self .output_raise_device_id , output_channel = self .output_raise_channel )
208- elif last_measurement [1 ] < ( self .setpoint - self .hysteresis ) :
209+ elif last_measurement [1 ] < self .setpoint - self .hysteresis :
209210 self .logger .debug ("Raise: On" )
210211 self .control .output_on (
211212 self .output_raise_device_id , output_channel = self .output_raise_channel )
212213
213214 elif self .direction == 'lower' :
214- if last_measurement [1 ] < ( self .setpoint - self .hysteresis ) :
215+ if last_measurement [1 ] < self .setpoint - self .hysteresis :
215216 self .logger .debug ("Lower: Off" )
216217 self .control .output_off (
217218 self .output_lower_device_id , output_channel = self .output_lower_channel )
218- elif last_measurement [1 ] > ( self .setpoint + self .hysteresis ) :
219+ elif last_measurement [1 ] > self .setpoint + self .hysteresis :
219220 self .logger .debug ("Lower: On" )
220221 self .control .output_on (
221222 self .output_lower_device_id , output_channel = self .output_lower_channel )
222223
223224 elif self .direction == 'both' :
224- if ( self .setpoint - self .hysteresis ) < last_measurement [1 ] < ( self .setpoint + self .hysteresis ) :
225+ if self .setpoint - self .hysteresis < last_measurement [1 ] < self .setpoint + self .hysteresis :
225226 self .logger .debug ("Lower: Off, Raise: Off" )
226227 self .control .output_off (
227228 self .output_raise_device_id , output_channel = self .output_raise_channel )
228229 self .control .output_off (
229230 self .output_lower_device_id , output_channel = self .output_lower_channel )
230231
231- elif last_measurement [1 ] > ( self .setpoint + self .hysteresis ) :
232+ elif last_measurement [1 ] > self .setpoint + self .hysteresis :
232233 self .logger .debug ("Lower: On, Raise: Off" )
233234 self .control .output_off (
234235 self .output_raise_device_id , output_channel = self .output_raise_channel )
235236 self .control .output_on (
236237 self .output_lower_device_id , output_channel = self .output_lower_channel )
237238
238- elif last_measurement [1 ] < ( self .setpoint - self .hysteresis ) :
239+ elif last_measurement [1 ] < self .setpoint - self .hysteresis :
239240 self .logger .debug ("Lower: Off, Raise: On" )
240241 self .control .output_off (
241242 self .output_lower_device_id , output_channel = self .output_lower_channel )
242243 self .control .output_on (
243244 self .output_raise_device_id , output_channel = self .output_raise_channel )
244245 else :
245- self .logger .error (
246- "Unknown controller direction: '{}'" .format (self .direction ))
246+ self .logger .error ("Unknown controller direction: '{}'" .format (self .direction ))
247247
248248 output_raise_state = self .control .output_state (
249249 self .output_raise_device_id , self .output_raise_channel )
0 commit comments