Files
sac4cps-backend/monolith/iots-right.json
rafaeldpsilva 4bedcecf5d feat: Implement HTTP Poller for IoT device data ingestion
- Added iots-right.json configuration file to define IoT devices and their sensors.
- Developed HttpPoller class to handle polling of IoT devices via HTTP.
- Created IoT configuration loader to validate and load device configurations from JSON.
- Introduced models for device status, polling metrics, and data sources.
- Implemented API routes for health checks, device status retrieval, and configuration management.
- Enhanced error handling and logging throughout the data ingestion process.
2025-12-22 16:35:22 +00:00

616 lines
14 KiB
JSON
Executable File

{
"iots": {
"battery": [
{
"name": "Battery_1",
"type": "battery",
"uri": "192.168.2.54",
"sensors": [
{
"type": "energy",
"tag": [
"battery",
"stored_energy"
],
"data": "DOUBLE"
},
{
"type": "charging_rate",
"tag": [
"battery",
"charging_rate"
],
"data": "DOUBLE"
}
]
},
{
"name": "Battery_2",
"type": "battery",
"uri": "192.168.2.55",
"sensors": [
{
"type": "energy",
"tag": [
"battery",
"stored_energy"
],
"data": "DOUBLE"
},
{
"type": "charging_rate",
"tag": [
"battery",
"charging_rate"
],
"data": "DOUBLE"
}
]
},
{
"name": "Battery_3",
"type": "battery",
"uri": "192.168.2.56",
"sensors": [
{
"type": "energy",
"tag": [
"battery",
"stored_energy"
],
"data": "DOUBLE"
},
{
"type": "charging_rate",
"tag": [
"battery",
"charging_rate"
],
"data": "DOUBLE"
}
]
}
],
"refrigerator": [
{
"name": "Fridge",
"type": "refrigerator",
"uri": "http://192.168.2.5:8520/enaplug/read/170307001",
"sensors": [
{
"type": "power",
"tag": [
"enaplug_170307001",
"act1"
],
"data": "DOUBLE"
},
{
"type": "voltage",
"tag": [
"enaplug_170307001",
"volt1"
],
"data": "DOUBLE"
},
{
"type": "current",
"tag": [
"enaplug_170307001",
"curr1"
],
"data": "DOUBLE"
},
{
"type": "doorOpen",
"tag": [
"enaplug_170307001",
"doorOpened"
],
"data": "BOOLEAN"
},
{
"type": "state",
"tag": [
"enaplug_170307001",
"state"
],
"data": "DOUBLE"
},
{
"type": "internal Temperature",
"tag": [
"enaplug_170307001",
"temp2"
],
"data": "DOUBLE"
},
{
"type": "external Temperature",
"tag": [
"enaplug_170307001",
"temp1"
],
"data": "DOUBLE"
},
{
"type": "humidity",
"tag": [
"enaplug_170307001",
"hum1"
],
"data": "DOUBLE"
}
]
}
],
"waterheater": [
{
"name": "Water Heater",
"type": "water heater",
"uri": "http://192.168.2.5:8520/enaplug/read/180717001",
"sensors": [
{
"type": "power",
"tag": [
"enaplug_180717001",
"act"
],
"data": "DOUBLE"
},
{
"type": "voltage",
"tag": [
"enaplug_180717001",
"volt"
],
"data": "DOUBLE"
},
{
"type": "current",
"tag": [
"enaplug_180717001",
"curr"
],
"data": "DOUBLE"
},
{
"type": "state",
"tag": [
"enaplug_180717001",
"state"
],
"data": "BOOLEAN"
},
{
"type": "temperature",
"tag": [
"enaplug_180717001",
"temp"
],
"data": "DOUBLE"
}
]
}
],
"microwave": [
{
"name": "Microwave",
"type": "microwave",
"uri": "http://192.168.2.5:8520/resource/AnalyzerKitHall_V2",
"sensors": [
{
"type": "power",
"tag": [
"AnalyzerKitHall_V2",
"microwave_active"
],
"data": "DOUBLE"
},
{
"type": "voltage",
"tag": [
"AnalyzerKitHall_V2",
"microwave_voltage"
],
"data": "DOUBLE"
},
{
"type": "current",
"tag": [
"AnalyzerKitHall_V2",
"microwave_current_x10"
],
"data": "DOUBLE"
}
]
}
],
"dishwasher": [
{
"name": "Dishwasher",
"type": "dishwasher",
"uri": "http://192.168.2.5:8520/resource/AnalyzerKitHall_V2",
"sensors": [
{
"type": "power",
"tag": [
"AnalyzerKitHall_V2",
"dishwasher_active"
],
"data": "DOUBLE"
},
{
"type": "voltage",
"tag": [
"AnalyzerKitHall_V2",
"dishwasher_voltage"
],
"data": "DOUBLE"
},
{
"type": "current",
"tag": [
"AnalyzerKitHall_V2",
"dishwasher_current_x10"
],
"data": "DOUBLE"
}
]
}
],
"kettle": [
{
"name": "Kettle",
"type": "kettle",
"uri": "http://192.168.2.5:8520/resource/AnalyzerKitHall_V2",
"sensors": [
{
"type": "power",
"tag": [
"AnalyzerKitHall_V2",
"kettle_active"
],
"data": "DOUBLE"
},
{
"type": "voltage",
"tag": [
"AnalyzerKitHall_V2",
"kettle_voltage"
],
"data": "DOUBLE"
},
{
"type": "current",
"tag": [
"AnalyzerKitHall_V2",
"kettle_current_x10"
],
"data": "DOUBLE"
}
]
}
],
"hvac": [
{
"name": "Air Conditioner Kitchen",
"type": "hvac",
"uri": "http://192.168.2.5:8520/resource/AnalyzerKitHall_V2",
"sensors": [
{
"type": "power",
"tag": [
"AnalyzerKitHall_V2",
"kitchen_ac_activePower"
],
"data": "DOUBLE"
},
{
"type": "voltage",
"tag": [
"AnalyzerKitHall_V2",
"kitchen_ac_voltage"
],
"data": "DOUBLE"
},
{
"type": "current",
"tag": [
"AnalyzerKitHall_V2",
"kitchen_ac_current_x10"
],
"data": "DOUBLE"
}
]
},
{
"name": "Air Conditioner Hallway",
"type": "hvac",
"uri": "http://192.168.2.5:8520/resource/AnalyzerKitHall_V2",
"sensors": [
{
"type": "power",
"tag": [
"AnalyzerKitHall_V2",
"hallway_ac_activePower"
],
"data": "DOUBLE"
},
{
"type": "voltage",
"tag": [
"AnalyzerKitHall_V2",
"hallway_ac_voltage"
],
"data": "DOUBLE"
},
{
"type": "current",
"tag": [
"AnalyzerKitHall_V2",
"hallway_ac_current_x10"
],
"data": "DOUBLE"
}
]
},
{
"name": "Air Conditioner 112_115",
"type": "hvac",
"uri": "http://192.168.2.5:8520/resource/Analyzer115_V1",
"sensors": [
{
"type": "power",
"tag": [
"Analyzer115_V1",
"P2_W"
],
"data": "DOUBLE"
},
{
"type": "voltage",
"tag": [
"Analyzer115_V1",
"U2N_Vx10"
],
"data": "DOUBLE"
},
{
"type": "current",
"tag": [
"Analyzer115_V1",
"Curr2_mA"
],
"data": "DOUBLE"
}
]
},
{
"name": "Air Conditioner 111_116",
"type": "hvac",
"uri": "http://192.168.2.5:8520/resource/Analyzer116_V1",
"sensors": [
{
"type": "power",
"tag": [
"Analyzer116_V1",
"P2_W"
],
"data": "DOUBLE"
},
{
"type": "voltage",
"tag": [
"Analyzer116_V1",
"U2N_V"
],
"data": "DOUBLE"
},
{
"type": "current",
"tag": [
"Analyzer116_V1",
"Curr2_A"
],
"data": "DOUBLE"
}
]
}
],
"sockets": [
{
"name": "Sockets 112_115",
"type": "sockets",
"uri": "http://192.168.2.5:8520/resource/Analyzer115_V1",
"sensors": [
{
"type": "power",
"tag": [
"Analyzer115_V1",
"P1_W"
],
"data": "DOUBLE"
},
{
"type": "voltage",
"tag": [
"Analyzer115_V1",
"U1N_Vx10"
],
"data": "DOUBLE"
},
{
"type": "current",
"tag": [
"Analyzer115_V1",
"Curr1_mA"
],
"data": "DOUBLE"
}
]
},
{
"name": "Sockets 111_116",
"type": "sockets",
"uri": "http://192.168.2.5:8520/resource/Analyzer116_V1",
"sensors": [
{
"type": "power",
"tag": [
"Analyzer116_V1",
"P3_W"
],
"data": "DOUBLE"
},
{
"type": "voltage",
"tag": [
"Analyzer116_V1",
"U3N_V"
],
"data": "DOUBLE"
},
{
"type": "current",
"tag": [
"Analyzer116_V1",
"Curr3_A"
],
"data": "DOUBLE"
}
]
}
],
"lamp": [
{
"name": "Lamp 1_111",
"type": "lamp",
"uri": "http://192.168.2.68:8089/desenrasca/lamp/111/1",
"sensors": [
{
"type": "power",
"tag": [
"consumption_w"
],
"data": "DOUBLE"
}
]
},
{
"name": "Lamp 1_112",
"type": "lamp",
"uri": "http://192.168.2.68:8089/desenrasca/lamp/112/1",
"sensors": [
{
"type": "power",
"tag": [
"consumption_w"
],
"data": "DOUBLE"
}
]
},
{
"name": "Lamp 2_112",
"type": "lamp",
"uri": "http://192.168.2.68:8089/desenrasca/lamp/112/2",
"sensors": [
{
"type": "power",
"tag": [
"consumption_w"
],
"data": "DOUBLE"
}
]
},
{
"name": "Lamp 3_112",
"type": "lamp",
"uri": "http://192.168.2.68:8089/desenrasca/lamp/112/3",
"sensors": [
{
"type": "power",
"tag": [
"consumption_w"
],
"data": "DOUBLE"
}
]
},
{
"name": "Lamp 1_115",
"type": "lamp",
"uri": "http://192.168.2.68:8089/desenrasca/lamp/115/1",
"sensors": [
{
"type": "power",
"tag": [
"consumption_w"
],
"data": "DOUBLE"
}
]
},
{
"name": "Lamp 2_115",
"type": "lamp",
"uri": "http://192.168.2.68:8089/desenrasca/lamp/115/2",
"sensors": [
{
"type": "power",
"tag": [
"consumption_w"
],
"data": "DOUBLE"
}
]
},
{
"name": "Lamp 3_115",
"type": "lamp",
"uri": "http://192.168.2.68:8089/desenrasca/lamp/115/3",
"sensors": [
{
"type": "power",
"tag": [
"consumption_w"
],
"data": "DOUBLE"
}
]
},
{
"name": "Lamp 1_116",
"type": "lamp",
"uri": "http://192.168.2.68:8089/desenrasca/lamp/116/1",
"sensors": [
{
"type": "power",
"tag": [
"consumption_w"
],
"data": "DOUBLE"
}
]
}
],
"generation": [
{
"name": "Generation",
"type": "generation",
"uri": "http://192.168.2.68:8089/desenrasca/generation/3750",
"sensors": [
{
"type": "generation",
"tag": [
"generation_w"
],
"data": "DOUBLE"
}
]
}
]
}
}