@victronenergy/mfd-modules 9.5.3 → 9.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -2,6 +2,7 @@ import { PortalId, Topics } from "../Mqtt";
|
|
|
2
2
|
import { SwitchingDeviceInstanceId } from "./SwitchingDevice.provider";
|
|
3
3
|
import { SwitchableOutputStatus, SwitchableOutputType } from "../../utils/constants";
|
|
4
4
|
export type SwitchableOutputId = string;
|
|
5
|
+
export type SwitchableOutputUnit = string | "/S" | "/T" | "/V";
|
|
5
6
|
export interface SwitchableOutputState {
|
|
6
7
|
deviceId: SwitchingDeviceInstanceId;
|
|
7
8
|
outputId: SwitchableOutputId;
|
|
@@ -18,7 +19,7 @@ export interface SwitchableOutputState {
|
|
|
18
19
|
dimmingMax?: number;
|
|
19
20
|
stepSize?: number;
|
|
20
21
|
measurement?: number;
|
|
21
|
-
unit:
|
|
22
|
+
unit: SwitchableOutputUnit;
|
|
22
23
|
labels: string;
|
|
23
24
|
}
|
|
24
25
|
export interface SwitchableOutputProvider extends SwitchableOutputState {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwitchableOutput.provider.d.ts","sourceRoot":"/","sources":["src/Modules/SwitchableOutputs/SwitchableOutput.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAA2B,MAAM,SAAS,CAAA;AAEnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAEpF,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"SwitchableOutput.provider.d.ts","sourceRoot":"/","sources":["src/Modules/SwitchableOutputs/SwitchableOutput.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAA2B,MAAM,SAAS,CAAA;AAEnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAEpF,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAA;AACvC,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAE9D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,yBAAyB,CAAA;IACnC,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,oBAAoB,CAAA;IAC1B,MAAM,EAAE,sBAAsB,CAAA;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,CAAC,GAAG,CAAC,CAAA;IACpB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA;IACX,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,oBAAoB,CAAA;IAE1B,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,wBAAyB,SAAQ,qBAAqB;IACrE,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAA;IACjC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAA;IACnC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACzC;AAED,MAAM,WAAW,sBAAuB,SAAQ,MAAM;IACpD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,8BAA8B,GACzC,UAAU,QAAQ,EAClB,UAAU,yBAAyB,EACnC,UAAU,kBAAkB;;;;;;;;;;;;;;;;CAiB5B,CAAA;AAEF,eAAO,MAAM,8BAA8B,GACzC,UAAU,QAAQ,EAClB,UAAU,yBAAyB,EACnC,UAAU,kBAAkB;;;;CAK5B,CAAA;AAEF,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,yBAAyB,EACnC,QAAQ,EAAE,kBAAkB,GAC3B,wBAAwB,CAgB1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwitchableOutput.provider.js","sourceRoot":"/","sources":["src/Modules/SwitchableOutputs/SwitchableOutput.provider.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAoB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"SwitchableOutput.provider.js","sourceRoot":"/","sources":["src/Modules/SwitchableOutputs/SwitchableOutput.provider.ts"],"names":[],"mappings":"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","sourcesContent":["import { PortalId, Topics, useMqtt, useTopicsState } from \"../Mqtt\"\nimport { useMemo } from \"react\"\nimport { SwitchingDeviceInstanceId } from \"./SwitchingDevice.provider\"\nimport { SwitchableOutputStatus, SwitchableOutputType } from \"../../utils/constants\"\n\nexport type SwitchableOutputId = string\nexport type SwitchableOutputUnit = string | \"/S\" | \"/T\" | \"/V\"\n\nexport interface SwitchableOutputState {\n deviceId: SwitchingDeviceInstanceId\n outputId: SwitchableOutputId\n type: SwitchableOutputType\n status: SwitchableOutputStatus\n name: string\n customName: string\n group: string\n showUIControl: 0 | 1\n auto: 0 | 1\n state: 0 | 1\n dimming?: number\n dimmingMin?: number\n dimmingMax?: number\n // NOTE: stepSize can be of any precision, respect the precision in the UI\n stepSize?: number\n measurement?: number\n unit: SwitchableOutputUnit\n // NOTE: JSON encoded string array\n labels: string\n}\n\nexport interface SwitchableOutputProvider extends SwitchableOutputState {\n updateAuto: (auto: 0 | 1) => void\n updateState: (state: 0 | 1) => void\n updateDimming: (dimming: number) => void\n}\n\nexport interface SwitchableOutputTopics extends Topics {\n type?: string\n status?: string\n name?: string\n customName?: string\n group?: string\n showUIControl?: string\n auto?: string\n state?: string\n dimming?: string\n dimmingMin?: string\n dimmingMax?: string\n stepSize?: string\n measurement?: string\n unit?: string\n labels?: string\n}\n\nexport const getSwitchableOutputStateTopics = (\n portalId: PortalId,\n deviceId: SwitchingDeviceInstanceId,\n outputId: SwitchableOutputId\n) => ({\n type: `N/${portalId}/switch/${deviceId}/SwitchableOutput/${outputId}/Settings/Type`,\n status: `N/${portalId}/switch/${deviceId}/SwitchableOutput/${outputId}/Status`,\n name: `N/${portalId}/switch/${deviceId}/SwitchableOutput/${outputId}/Name`,\n customName: `N/${portalId}/switch/${deviceId}/SwitchableOutput/${outputId}/Settings/CustomName`,\n group: `N/${portalId}/switch/${deviceId}/SwitchableOutput/${outputId}/Settings/Group`,\n showUIControl: `N/${portalId}/switch/${deviceId}/SwitchableOutput/${outputId}/Settings/ShowUIControl`,\n auto: `N/${portalId}/switch/${deviceId}/SwitchableOutput/${outputId}/Auto`,\n state: `N/${portalId}/switch/${deviceId}/SwitchableOutput/${outputId}/State`,\n dimming: `N/${portalId}/switch/${deviceId}/SwitchableOutput/${outputId}/Dimming`,\n dimmingMin: `N/${portalId}/switch/${deviceId}/SwitchableOutput/${outputId}/Settings/DimmingMin`,\n dimmingMax: `N/${portalId}/switch/${deviceId}/SwitchableOutput/${outputId}/Settings/DimmingMax`,\n stepSize: `N/${portalId}/switch/${deviceId}/SwitchableOutput/${outputId}/Settings/StepSize`,\n measurement: `N/${portalId}/switch/${deviceId}/SwitchableOutput/${outputId}/Measurement`,\n unit: `N/${portalId}/switch/${deviceId}/SwitchableOutput/${outputId}/Settings/Unit`,\n labels: `N/${portalId}/switch/${deviceId}/SwitchableOutput/${outputId}/Settings/Labels`,\n})\n\nexport const getSwitchableOutputWriteTopics = (\n portalId: PortalId,\n deviceId: SwitchingDeviceInstanceId,\n outputId: SwitchableOutputId\n) => ({\n auto: `W/${portalId}/switch/${deviceId}/SwitchableOutput/${outputId}/Auto`,\n state: `W/${portalId}/switch/${deviceId}/SwitchableOutput/${outputId}/State`,\n dimming: `W/${portalId}/switch/${deviceId}/SwitchableOutput/${outputId}/Dimming`,\n})\n\nexport function useSwitchableOutput(\n deviceId: SwitchingDeviceInstanceId,\n outputId: SwitchableOutputId\n): SwitchableOutputProvider {\n const mqtt = useMqtt()\n const topics = useMemo(\n () => getSwitchableOutputStateTopics(mqtt.portalId, deviceId, outputId),\n [mqtt.portalId, deviceId, outputId]\n )\n const writeTopics = useMemo(\n () => getSwitchableOutputWriteTopics(mqtt.portalId, deviceId, outputId),\n [mqtt.portalId, deviceId, outputId]\n )\n\n const updateAuto = (auto: 0 | 1) => mqtt.publish(writeTopics!.auto, auto)\n const updateState = (state: 0 | 1) => mqtt.publish(writeTopics!.state, state)\n const updateDimming = (dimming: number) => mqtt.publish(writeTopics!.dimming, dimming)\n\n return { ...useTopicsState<SwitchableOutputState>(topics), updateAuto, updateState, updateDimming }\n}\n"]}
|