name: "Network Power Meter"
manufacturer: "Dent Instruments"
model: "PS3037"
description: "Power Scout Meter"
labels:
- "modbus"
- "powerscout"
deviceResources:
-
name: "Current"
description: "Average current of all phases"
attributes:
{ primaryTable: "HOLDING_REGISTERS", startingAddress: "9" }
properties:
value:
{ type: "UINT16", scale: "1"}
units:
{ type: "String", readWrite: "R", defaultValue: "min"}
-
name: "Energy"
description: "System Total True Energy"
attributes:
{ primaryTable: "HOLDING_REGISTERS", startingAddress: "4001" }
properties:
value:
{ type: "FLOAT32", scale: "1"}
units:
{ type: "String", readWrite: "R", defaultValue: "min"}
-
name: "Power"
description: "System Total True Power "
attributes:
{ primaryTable: "HOLDING_REGISTERS", startingAddress: "4003" }
properties:
value:
{ type: "UINT16", scale: "1"}
units:
{ type: "String", readWrite: "R", defaultValue: "min"}
-
name: "Voltage"
description: "Voltage Line to line (Volts) Average"
attributes:
{ primaryTable: "HOLDING_REGISTERS", startingAddress: "4017" }
properties:
value:
{ type: "UINT16", scale: "1"}
units:
{ type: "String", readWrite: "R", defaultValue: "min"}
-
name: "DemandWindowSize"
description: "Demand window size in minutes; default is 15 min"
attributes:
{ primaryTable: "HOLDING_REGISTERS", startingAddress: "4603" }
properties:
value:
{ type: "UINT16", readWrite: "R", scale: "1"}
units:
{ type: "String", readWrite: "R", defaultValue: "min"}
-
name: "LineFrequency"
description: "Line frequency setting for metering: 50=50 Hz, 60=60Hz"
attributes:
{ primaryTable: "HOLDING_REGISTERS", startingAddress: "4609" }
properties:
value:
{ type: "UINT16", readWrite: "R", scale: "1"}
units:
{ type: "String", readWrite: "R", defaultValue: "Hz"}
deviceCommands:
-
name: "Current"
get:
- { index: "1", operation: "get", deviceResource: "Current" }
-
name: "Values"
get:
- { index: "1", operation: "get", deviceResource: "Energy" }
- { index: "2", operation: "get", deviceResource: "Power" }
- { index: "3", operation: "get", deviceResource: "Voltage" }
-
name: "Configuration"
set:
- { index: "1", operation: "set", deviceResource: "DemandWindowSize" }
- { index: "2", operation: "set", deviceResource: "LineFrequency" }
get:
- { index: "1", operation: "get", deviceResource: "DemandWindowSize" }
- { index: "2", operation: "get", deviceResource: "LineFrequency" }
coreCommands:
-
name: "Current"
get:
path: "/api/v1/device/{deviceId}/Current"
responses:
-
code: "200"
description: "Get the Current"
expectedValues: ["Current"]
-
code: "500"
description: "internal server error"
expectedValues: []
-
name: "Values"
get:
path: "/api/v1/device/{deviceId}/Values"
responses:
-
code: "200"
description: "Get the Values"
expectedValues: ["Energy","Power","Voltage"]
-
code: "500"
description: "internal server error"
expectedValues: []
-
name: "Configuration"
get:
path: "/api/v1/device/{deviceId}/Configuration"
responses:
-
code: "200"
description: "Get the Configuration"
expectedValues: ["DemandWindowSize","LineFrequency"]
-
code: "500"
description: "internal server error"
expectedValues: []
put:
path: "/api/v1/device/{deviceId}/Configuration"
parameterNames: ["DemandWindowSize","LineFrequency"]
responses:
-
code: "204"
description: "Set the Configuration"
expectedValues: []
-
code: "500"
description: "internal server error"
expectedValues: []