Refactor sensor ID usage and types, add CO2 metrics, update docs

- Standardize on `sensor.sensor_id` throughout components and stores -
Add average and max CO2 metrics to sensor store and HomeView - Improve
type safety for sensors, actions, and API calls - Update AGENTS.md with
repository guidelines - Refine settings store types and utility
functions - Add WindowWithAuth interface for auth store access - Minor
bug fixes and code cleanup
This commit is contained in:
rafaeldpsilva
2025-10-01 14:04:25 +01:00
parent a518665673
commit f96456ed29
12 changed files with 189 additions and 76 deletions

View File

@@ -3,12 +3,15 @@
* Provides reactive API state management
*/
import { ref, reactive } from 'vue'
import {
sensorsApi,
roomsApi,
analyticsApi,
import {
sensorsApi,
roomsApi,
analyticsApi,
healthApi,
type SensorInfo,
type SensorDevice,
type SensorType,
type SensorStatus,
type SensorMetadata,
type RoomInfo,
type RoomData,
type AnalyticsSummary,
@@ -69,23 +72,23 @@ export function useSensorsApi() {
error: null
})
const sensors = ref<SensorInfo[]>([])
const currentSensor = ref<SensorInfo | null>(null)
const sensors = ref<SensorDevice[]>([])
const currentSensor = ref<SensorDevice | null>(null)
const sensorData = ref<DataResponse | null>(null)
const { handleApiCall } = useApi()
const fetchSensors = async (params?: {
room?: string
sensor_type?: any
status?: any
sensor_type?: SensorType
status?: SensorStatus
}) => {
const result = await handleApiCall(
() => sensorsApi.getSensors(params),
state
)
if (result) {
sensors.value = result
if (result && result.sensors) {
sensors.value = result.sensors
}
return result
}
@@ -129,7 +132,7 @@ export function useSensorsApi() {
const updateSensorMetadata = async (
sensorId: string,
metadata: Record<string, any>
metadata: SensorMetadata
) => {
return handleApiCall(
() => sensorsApi.updateSensorMetadata(sensorId, metadata),