diff --git a/api/ecobee_sensor.php b/api/ecobee_sensor.php index fc95b0f..5981e2b 100644 --- a/api/ecobee_sensor.php +++ b/api/ecobee_sensor.php @@ -15,6 +15,32 @@ class ecobee_sensor extends cora\crud { 'public' => [] ]; + /** + * Normal read_id, but filter out unsupported sensor types. + * + * @param array $attributes + * @param array $columns + * + * @return array + */ + public function read_id($attributes = [], $columns = []) { + $ecobee_sensors = parent::read_id($attributes, $columns); + + $return = []; + foreach($ecobee_sensors as $ecobee_sensor) { + if ( + in_array( + $ecobee_sensor['type'], + ['ecobee3_remote_sensor', 'thermostat'] + ) === true + ) { + $return[$ecobee_sensor['ecobee_sensor_id']] = $ecobee_sensor; + } + } + + return $return; + } + /** * Sync sensors. */ diff --git a/api/sensor.php b/api/sensor.php index 11b63a3..3f1e903 100644 --- a/api/sensor.php +++ b/api/sensor.php @@ -19,6 +19,32 @@ class sensor extends cora\crud { 'sync' => 300 // 5 Minutes ]; + /** + * Normal read_id, but filter out unsupported sensor types. + * + * @param array $attributes + * @param array $columns + * + * @return array + */ + public function read_id($attributes = [], $columns = []) { + $sensors = parent::read_id($attributes, $columns); + + $return = []; + foreach($sensors as $sensor) { + if ( + in_array( + $sensor['type'], + ['ecobee3_remote_sensor', 'thermostat'] + ) === true + ) { + $return[$sensor['sensor_id']] = $sensor; + } + } + + return $return; + } + /** * Sync all sensors connected to this account. Once Nest support is * added this will need to check for all connected accounts and run the diff --git a/js/component/card/sensors.js b/js/component/card/sensors.js index 3d82d71..8675b25 100644 --- a/js/component/card/sensors.js +++ b/js/component/card/sensors.js @@ -20,10 +20,7 @@ beestat.component.card.sensors.prototype.decorate_contents_ = function(parent) { if (sensor.thermostat_id === beestat.setting('thermostat_id')) { if (sensor.type === 'thermostat') { internal_sensor = sensor; - } else if ( - sensor.type === 'ecobee3_remote_sensor' || - sensor.type === 'switch_plus' - ) { + } else { sensors.push(sensor); } }