bt-sensors-plugin-sk
Version:
Bluetooth Sensors for Signalk - see https://www.npmjs.com/package/bt-sensors-plugin-sk#supported-sensors for a list of supported sensors
689 lines (645 loc) • 22.1 kB
JSON
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "https://signalk.org/specification/1.5.1/schemas/groups/electrical.json#",
"description": "Schema describing the electrical child-object of a Vessel.",
"title": "Electrical Properties",
"type": "object",
"definitions": {
"identity": {
"type": "object",
"title": "Electrical ID",
"description": " Common ID items shared by electrical items",
"properties": {
"name": {
"type": "string",
"description": "Unique ID of device (houseBattery, alternator, Generator, solar1, inverter, charger, combiner, etc.)"
},
"location": {
"type": "string",
"description": "Installed location of device on vessel"
},
"dateInstalled": {
"$ref": "../definitions.json#/definitions/timestamp",
"description": "Date device was installed"
},
"manufacturer": {
"properties": {
"name": {
"type": "string",
"description": "Manufacturer's name"
},
"model": {
"type": "string",
"description": "Model or part number"
},
"URL": {
"type": "string",
"description": "Web referance / URL"
}
}
}
}
},
"dcQualities": {
"type": "object",
"title": "DC Qualities",
"description": "DC common qualities",
"properties": {
"associatedBus": {
"type": "string",
"description": "Name of BUS device is associated with"
},
"voltage": {
"type": "object",
"description": "Voltage measured at or as close as possible to the device",
"units": "V",
"allOf": [{
"$ref": "../definitions.json#/definitions/numberValue"
}, {
"properties": {
"ripple": {
"description": "DC Ripple voltage",
"$ref": "../definitions.json#/definitions/numberValue",
"units": "V"
},
"meta": {
"type": "object",
"properties": {
"nominal": {
"type": "number",
"units": "V",
"description": "Designed 'voltage' of device (12v, 24v, 32v, 36v, 42v, 48v, 144v, etc.)"
},
"warnUpper": {
"type": "number",
"units": "V",
"description": "Upper operational voltage limit"
},
"warnLower": {
"type": "number",
"units": "V",
"description": "Lower operational voltage limit"
},
"faultUpper": {
"type": "number",
"units": "V",
"description": "Upper fault voltage limit - device may disable/disconnect"
},
"faultLower": {
"type": "number",
"units": "V",
"description": "Lower fault voltage limit - device may disable/disconnect"
}
}
}
}
}]
},
"current": {
"type": "object",
"description": "Current flowing out (+ve) or in (-ve) to the device. Reversed for batteries (+ve = charging).",
"units": "A",
"allOf": [{
"$ref": "../definitions.json#/definitions/numberValue"
}, {
"properties": {
"meta": {
"type": "object",
"properties": {
"warnUpper": {
"type": "number",
"description": "Upper operational current limit",
"units": "A"
},
"warnLower": {
"type": "number",
"description": "Lower operational current limit",
"units": "A"
},
"faultUpper": {
"type": "number",
"description": "Upper fault current limit - device may disable/disconnect",
"units": "A"
},
"faultLower": {
"type": "number",
"description": "Lower fault current limit - device may disable/disconnect",
"units": "A"
}
}
}
}
}]
},
"temperature": {
"type": "object",
"description": "Temperature measured within or on the device",
"units": "K",
"title": "temperature",
"allOf": [{
"$ref": "../definitions.json#/definitions/numberValue"
}, {
"properties": {
"warnUpper": {
"type": "number",
"description": "Upper operational temperature limit",
"units": "K"
},
"warnLower": {
"type": "number",
"description": "Lower operational temperature limit",
"units": "K"
},
"faultUpper": {
"type": "number",
"description": "Upper fault temperature limit - device may disable/disconnect",
"units": "K"
},
"faultLower": {
"type": "number",
"description": "Lower fault temperature limit - device may disable/disconnect",
"units": "K"
}
}
}]
}
}
},
"acQualities": {
"type": "object",
"title": "AC Qualities",
"description": "AC equipment common qualities",
"properties": {
"associatedBus": {
"type": "string",
"description": "Name of BUS device is associated with"
},
"lineNeutralVoltage": {
"$ref": "../definitions.json#/definitions/numberValue",
"description": "RMS voltage measured between phase and neutral",
"units": "V"
},
"lineLineVoltage": {
"$ref": "../definitions.json#/definitions/numberValue",
"description": "RMS voltage measured between phases",
"units": "V"
},
"current": {
"$ref": "../definitions.json#/definitions/numberValue",
"description": "RMS current",
"units": "A"
},
"frequency": {
"$ref": "../definitions.json#/definitions/numberValue",
"description": "AC frequency.",
"units": "Hz"
},
"reactivePower": {
"$ref": "../definitions.json#/definitions/numberValue",
"description": "Reactive power",
"units": "W"
},
"powerFactor": {
"$ref": "../definitions.json#/definitions/numberValue",
"description": "Power factor",
"unit": "ratio"
},
"powerFactorLagging": {
"description": "Lead/lag status.",
"example": "leading",
"type": "string",
"enum": [
"leading",
"lagging",
"error",
"not available"
]
},
"realPower": {
"$ref": "../definitions.json#/definitions/numberValue",
"description": "Real power.",
"units": "W"
},
"apparentPower": {
"$ref": "../definitions.json#/definitions/numberValue",
"description": "Apparent power.",
"units": "W"
}
}
},
"chargerQualities": {
"type": "object",
"title": "Charger Qualities",
"description": "Common charger qualities",
"properties": {
"chargingAlgorithm": {
"type": "object",
"description": "Algorithm being used by the charger",
"allOf": [
{
"$ref": "../definitions.json#/definitions/commonValueFields"
},
{
"properties": {
"value": {
"type": "string",
"enum": [
"trickle",
"two stage",
"three stage",
"four stage",
"constant current",
"constant voltage",
"custom profile"
]
}
}
}
]
},
"chargerRole": {
"type": "object",
"description": "How is charging source configured? Standalone, or in sync with another charger?",
"allOf": [
{
"$ref": "../definitions.json#/definitions/commonValueFields"
},
{
"properties": {
"value": {
"type": "string",
"enum": [
"standalone",
"master",
"slave",
"standby"
]
}
}
}
]
},
"chargingMode": {
"type": "object",
"description": "Charging mode i.e. float, overcharge, etc.",
"allOf": [
{
"$ref": "../definitions.json#/definitions/commonValueFields"
},
{
"properties": {
"value": {
"type": "string",
"enum": [
"bulk",
"acceptance",
"overcharge",
"float",
"equalize",
"unknown",
"other"
]
}
}
}
]
},
"setpointVoltage": {
"description": "Target regulation voltage",
"$ref": "../definitions.json#/definitions/numberValue",
"units": "V"
},
"setpointCurrent": {
"description": "Target current limit",
"$ref": "../definitions.json#/definitions/numberValue",
"units": "A"
}
}
}
},
"properties": {
"batteries": {
"description": "Data about the vessel's batteries",
"patternProperties": {
"(^[A-Za-z0-9]+$)": {
"type": "object",
"title": "Battery keyed by instance id",
"description": "Batteries, one or many, within the vessel",
"allOf": [{
"$ref": "#/definitions/identity"
},{
"$ref": "#/definitions/dcQualities"
}],
"properties": {
"chemistry": {
"type": "string",
"description": "Type of battery FLA, LiFePO4, etc."
},
"temperature": {
"type": "object",
"title": "temperature",
"description": "Additional / unique temperatures associated with a battery",
"properties": {
"limitDischargeLower": {
"type": "number",
"description": "Operational minimum temperature limit for battery discharge",
"units": "K"
},
"limitDischargeUpper": {
"type": "number",
"description": "Operational maximum temperature limit for battery discharge",
"units": "K"
},
"limitRechargeLower": {
"type": "number",
"description": "Operational minimum temperature limit for battery recharging",
"units": "K"
},
"limitRechargeUpper": {
"type": "number",
"description": "Operational maximum temperature limit for battery recharging",
"units": "K"
}
}
},
"capacity": {
"type": "object",
"description": "Data about the battery's capacity",
"title": "capacity",
"properties": {
"nominal": {
"type": "number",
"description": "The capacity of battery as specified by the manufacturer",
"units": "J"
},
"actual": {
"type": "number",
"description": "The measured capacity of battery. This may change over time and will likely deviate from the nominal capacity.",
"units": "J"
},
"remaining": {
"type": "number",
"description": "Capacity remaining in battery",
"units": "J"
},
"dischargeLimit": {
"type": "number",
"description": "Minimum capacity to be left in the battery while discharging",
"units": "J"
},
"stateOfCharge": {
"$ref": "../definitions.json#/definitions/numberValue",
"description": "State of charge, 1 = 100%",
"units": "ratio"
},
"stateOfHealth": {
"$ref": "../definitions.json#/definitions/numberValue",
"description": "State of Health, 1 = 100%",
"units": "ratio"
},
"dischargeSinceFull": {
"$ref": "../definitions.json#/definitions/numberValue",
"description": "Cumulative discharge since battery was last full",
"units": "C"
},
"timeRemaining": {
"$ref": "../definitions.json#/definitions/numberValue",
"description": "Time to discharge to discharge limit at current rate",
"units": "s"
}
}
},
"lifetimeDischarge": {
"type": "number",
"description": "Cumulative charge discharged from battery over operational lifetime of battery",
"units": "C"
},
"lifetimeRecharge": {
"type": "number",
"description": "Cumulative charge recharged into battery over operational lifetime of battery",
"units": "C"
}
}
}
}
},
"inverters": {
"description": "Data about the Inverter that has both DC and AC qualities",
"patternProperties": {
"(^[A-Za-z0-9]+$)": {
"type": "object",
"title": "Inverter",
"description": "DC to AC inverter, one or many, within the vessel",
"allOf": [{
"$ref": "#/definitions/identity"
}],
"properties": {
"dc": {
"$ref": "#/definitions/dcQualities"
},
"ac": {
"$ref": "#/definitions/acQualities"
},
"inverterMode": {
"type": "object",
"description": "Mode of inverter",
"allOf": [
{
"$ref": "../definitions.json#/definitions/commonValueFields"
},
{
"properties": {
"value": {
"type": "string",
"enum": [
"idle",
"inverting",
"disabled",
"standby",
"faulted",
"unknown",
"other"
]
}
}
}
]
}
}
}
}
},
"chargers": {
"description": "Data about AC sourced battery charger",
"patternProperties": {
"(^[A-Za-z0-9]+$)": {
"type": "object",
"title": "Charger",
"description": "Battery charger",
"allOf": [{
"$ref": "#/definitions/identity"
},{
"$ref": "#/definitions/dcQualities"
},{
"$ref": "#/definitions/chargerQualities"
}]
}
}
},
"alternators": {
"description": "Data about an Alternator charging device",
"patternProperties": {
"(^[A-Za-z0-9]+$)": {
"type": "object",
"title": "Alternator",
"description": "Mechanically driven alternator, includes dynamos",
"allOf": [{
"$ref": "#/definitions/identity"
},{
"$ref": "#/definitions/dcQualities"
},{
"$ref": "#/definitions/chargerQualities"
}],
"properties": {
"revolutions": {
"description": "Alternator revolutions per second (x60 for RPM)",
"$ref": "../definitions.json#/definitions/numberValue",
"units": "Hz"
},
"pulleyRatio": {
"description": "Mechanical pulley ratio of driving source (Used to back calculate engine RPMs)",
"$ref": "../definitions.json#/definitions/numberValue",
"units": "ratio"
},
"fieldDrive": {
"description": "% (0..100) of field voltage applied",
"$ref": "../definitions.json#/definitions/numberValue",
"units": "%"
},
"regulatorTemperature": {
"description": "Current temperature of critical regulator components",
"$ref": "../definitions.json#/definitions/numberValue",
"units": "K"
}
}
}
}
},
"solar": {
"description": "Data about Solar charging device(s)",
"patternProperties": {
"(^[A-Za-z0-9]+$)": {
"type": "object",
"title": "Solar",
"description": "Photovoltaic charging devices",
"allOf": [{
"$ref": "#/definitions/identity"
},{
"$ref": "#/definitions/dcQualities"
},{
"$ref": "#/definitions/chargerQualities"
}],
"properties": {
"controllerMode": {
"type": "object",
"description": "The current state of the engine",
"allOf": [
{
"$ref": "../definitions.json#/definitions/commonValueFields"
},
{
"properties": {
"value": {
"type": "string",
"enum": [
"off",
"idle",
"direct",
"PWM",
"MPPT"
]
}
}
}
]
},
"panelVoltage": {
"description": "Voltage being supplied from Solar Panels to controller",
"$ref": "../definitions.json#/definitions/numberValue",
"units": "V"
},
"panelCurrent": {
"description": "Amperage being supplied from Solar Panels to controller",
"$ref": "../definitions.json#/definitions/numberValue",
"units": "A"
},
"panelPower": {
"description": "Power being supplied from Solar Panels to controller",
"$ref": "../definitions.json#/definitions/numberValue",
"units": "W"
},
"panelTemperature": {
"description": "Temperature of panels",
"$ref": "../definitions.json#/definitions/numberValue",
"units": "K"
},
"yieldToday": {
"description": "Total energy generated by Solar Panels today",
"$ref": "../definitions.json#/definitions/numberValue",
"units": "J"
},
"load": {
"type": "object",
"description": "State of load port on controller (if applicable)",
"allOf": [
{
"$ref": "../definitions.json#/definitions/commonValueFields"
},
{
"properties": {
"value": {
"type": "string",
"enum": [
"enabled",
"disabled"
]
}
}
}
]
},
"loadCurrent": {
"description": "Amperage being supplied to load directly connected to controller",
"$ref": "../definitions.json#/definitions/numberValue",
"units": "A"
}
}
}
}
},
"ac": {
"description": "AC buses",
"patternProperties": {
"(^[A-Za-z0-9]+$)": {
"type": "object",
"title": "AC Bus keyed by instance id",
"description": "AC Bus, one or many, within the vessel",
"allOf": [{
"$ref": "#/definitions/identity"
}],
"properties": {
"phase": {
"type": "object",
"description": "Single or A,B or C in 3 Phase systems ",
"patternProperties": {
"(single)|([A-C])": {
"$ref": "#/definitions/acQualities"
}
}
}
}
}
}
}
}
}