- 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.
616 lines
14 KiB
JSON
Executable File
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"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
} |