@victronenergy/mfd-modules 9.8.3 → 9.9.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.
- package/dist/src/Modules/App/App.provider.js +3 -3
- package/dist/src/Modules/App/App.provider.js.map +1 -1
- package/dist/src/Modules/SwitchableOutputs/SwitchableOutput.provider.d.ts +1 -0
- package/dist/src/Modules/SwitchableOutputs/SwitchableOutput.provider.d.ts.map +1 -1
- package/dist/src/Modules/SwitchableOutputs/SwitchableOutput.provider.js +1 -0
- package/dist/src/Modules/SwitchableOutputs/SwitchableOutput.provider.js.map +1 -1
- package/package.json +1 -1
|
@@ -34,17 +34,17 @@ export var useApp = function () {
|
|
|
34
34
|
}
|
|
35
35
|
}, [firmwareVersion]);
|
|
36
36
|
useEffect(function () {
|
|
37
|
-
if (temperatureUnit) {
|
|
37
|
+
if (temperatureUnit !== undefined) {
|
|
38
38
|
appStore.setUnit("temperature", temperatureUnit);
|
|
39
39
|
}
|
|
40
40
|
}, [temperatureUnit]);
|
|
41
41
|
useEffect(function () {
|
|
42
|
-
if (speedUnit) {
|
|
42
|
+
if (speedUnit !== undefined) {
|
|
43
43
|
appStore.setUnit("speed", speedUnit);
|
|
44
44
|
}
|
|
45
45
|
}, [speedUnit]);
|
|
46
46
|
useEffect(function () {
|
|
47
|
-
if (volumeUnit) {
|
|
47
|
+
if (volumeUnit !== undefined) {
|
|
48
48
|
appStore.setUnit("volume", volumeUnit);
|
|
49
49
|
}
|
|
50
50
|
}, [volumeUnit]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.provider.js","sourceRoot":"/","sources":["src/Modules/App/App.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAY,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC1D,OAAO,EAA0C,WAAW,EAAE,MAAM,aAAa,CAAA;AAEjF,MAAM,CAAC,IAAM,MAAM,GAAG;IACpB,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,IAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,IAAM,SAAS,GAAG,UAAC,QAAkB,IAAK,OAAA,CAAC;QACzC,MAAM,EAAE,YAAK,QAAQ,4CAAyC;QAC9D,eAAe,EAAE,YAAK,QAAQ,8BAA2B;QACzD,KAAK,EAAE;YACL,WAAW,EAAE,YAAK,QAAQ,kDAA+C;YACzE,KAAK,EAAE,YAAK,QAAQ,uCAAoC;YACxD,MAAM,EAAE,YAAK,QAAQ,2CAAwC;SAC9D;QACD,UAAU,EAAE,YAAK,QAAQ,4CAAyC;QAClE,wBAAwB,EAAE,YAAK,QAAQ,sDAAmD;KAC3F,CAAC,EAVwC,CAUxC,CAAA;IAEF,IAAM,MAAM,GAAG,OAAO,CAAC,cAAM,OAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAxB,CAAwB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEvE,IAAM,MAAM,GAAG,aAAa,CAAS,MAAM,CAAC,MAAM,CAAC,CAAA;IACnD,IAAM,eAAe,GAAG,aAAa,CAAS,MAAM,CAAC,eAAe,CAAC,CAAA;IACrE,IAAM,eAAe,GAAG,aAAa,CAAS,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IACvE,IAAM,SAAS,GAAG,aAAa,CAAS,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC3D,IAAM,UAAU,GAAG,aAAa,CAAS,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC7D,IAAM,UAAU,GAAG,aAAa,CAAS,MAAM,CAAC,UAAU,CAAC,CAAA;IAC3D,IAAM,wBAAwB,GAAG,aAAa,CAAS,MAAM,CAAC,wBAAwB,CAAC,CAAA;IAEvF,SAAS,CAAC;QACR,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,QAAQ,CAAC,2BAA2B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAChD,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,SAAS,CAAC;QACR,IAAI,eAAe,EAAE,CAAC;YACpB,QAAQ,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAA;IAErB,SAAS,CAAC;QACR,IAAI,eAAe,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"App.provider.js","sourceRoot":"/","sources":["src/Modules/App/App.provider.ts"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useMemo } from \"react\"\nimport { PortalId, useMqtt, useTopicState } from \"../Mqtt\"\nimport { TemperatureUnit, SpeedUnit, VolumeUnit, useAppStore } from \"./App.store\"\n\nexport const useApp = () => {\n const appStore = useAppStore()\n const mqtt = useMqtt()\n\n const getTopics = (portalId: PortalId) => ({\n locked: `N/${portalId}/settings/0/Settings/VenusApp/LockState`,\n firmwareVersion: `N/${portalId}/system/0/FirmwareVersion`,\n units: {\n temperature: `N/${portalId}/settings/0/Settings/System/Units/Temperature`,\n speed: `N/${portalId}/settings/0/Settings/Gps/SpeedUnit`,\n volume: `N/${portalId}/settings/0/Settings/System/VolumeUnit`,\n },\n guiVersion: `N/${portalId}/settings/0/Settings/Gui/RunningVersion`,\n electricalPowerIndicator: `N/${portalId}/settings/0/Settings/Gui/ElectricalPowerIndicator`,\n })\n\n const topics = useMemo(() => getTopics(mqtt.portalId), [mqtt.portalId])\n\n const locked = useTopicState<number>(topics.locked)\n const firmwareVersion = useTopicState<string>(topics.firmwareVersion)\n const temperatureUnit = useTopicState<string>(topics.units.temperature)\n const speedUnit = useTopicState<string>(topics.units.speed)\n const volumeUnit = useTopicState<number>(topics.units.volume)\n const guiVersion = useTopicState<number>(topics.guiVersion)\n const electricalPowerIndicator = useTopicState<number>(topics.electricalPowerIndicator)\n\n useEffect(() => {\n if (locked !== undefined) {\n appStore.setLockedWithoutPersistence(!!locked)\n }\n }, [locked])\n\n useEffect(() => {\n if (firmwareVersion) {\n appStore.setFirmwareVersion(firmwareVersion)\n }\n }, [firmwareVersion])\n\n useEffect(() => {\n if (temperatureUnit !== undefined) {\n appStore.setUnit(\"temperature\", temperatureUnit as TemperatureUnit)\n }\n }, [temperatureUnit])\n\n useEffect(() => {\n if (speedUnit !== undefined) {\n appStore.setUnit(\"speed\", speedUnit as SpeedUnit)\n }\n }, [speedUnit])\n\n useEffect(() => {\n if (volumeUnit !== undefined) {\n appStore.setUnit(\"volume\", volumeUnit as VolumeUnit)\n }\n }, [volumeUnit])\n\n useEffect(() => {\n if (guiVersion) {\n appStore.setGuiVersion(guiVersion)\n }\n }, [guiVersion])\n\n useEffect(() => {\n if (electricalPowerIndicator !== undefined) {\n appStore.setElectricalPowerIndicator(electricalPowerIndicator)\n }\n }, [electricalPowerIndicator])\n\n return appStore\n}\n"]}
|
|
@@ -61,6 +61,7 @@ export declare const getSwitchableOutputStateTopics: (portalId: PortalId, device
|
|
|
61
61
|
stepSize: string;
|
|
62
62
|
measurement: string;
|
|
63
63
|
unit: string;
|
|
64
|
+
decimals: string;
|
|
64
65
|
labels: string;
|
|
65
66
|
};
|
|
66
67
|
export declare const getSwitchableOutputWriteTopics: (portalId: PortalId, deviceId: SwitchingDeviceInstanceId, outputId: SwitchableOutputId) => {
|
|
@@ -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;AACvC,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,QAAQ,GAAG,cAAc,GAAG,SAAS,CAAA;AAEjF,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,gBAAgB,EAAE,MAAM,CAAA;IACxB,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,EAAE,CAAA;CAClB;AAED,eAAO,MAAM,iCAAiC,GAAI,OAAO,qBAAqB,EAAE,qBAAqB,MAAM,WAO1G,CAAA;AAED,eAAO,MAAM,8BAA8B,GACzC,UAAU,QAAQ,EAClB,UAAU,yBAAyB,EACnC,UAAU,kBAAkB
|
|
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,QAAQ,GAAG,cAAc,GAAG,SAAS,CAAA;AAEjF,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,gBAAgB,EAAE,MAAM,CAAA;IACxB,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,EAAE,CAAA;CAClB;AAED,eAAO,MAAM,iCAAiC,GAAI,OAAO,qBAAqB,EAAE,qBAAqB,MAAM,WAO1G,CAAA;AAED,eAAO,MAAM,8BAA8B,GACzC,UAAU,QAAQ,EAClB,UAAU,yBAAyB,EACnC,UAAU,kBAAkB;;;;;;;;;;;;;;;;;CAkB5B,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"}
|
|
@@ -34,6 +34,7 @@ export var getSwitchableOutputStateTopics = function (portalId, deviceId, output
|
|
|
34
34
|
stepSize: "N/".concat(portalId, "/switch/").concat(deviceId, "/SwitchableOutput/").concat(outputId, "/Settings/StepSize"),
|
|
35
35
|
measurement: "N/".concat(portalId, "/switch/").concat(deviceId, "/SwitchableOutput/").concat(outputId, "/Measurement"),
|
|
36
36
|
unit: "N/".concat(portalId, "/switch/").concat(deviceId, "/SwitchableOutput/").concat(outputId, "/Settings/Unit"),
|
|
37
|
+
decimals: "N/".concat(portalId, "/switch/").concat(deviceId, "/SwitchableOutput/").concat(outputId, "/Settings/Decimals"),
|
|
37
38
|
labels: "N/".concat(portalId, "/switch/").concat(deviceId, "/SwitchableOutput/").concat(outputId, "/Settings/Labels"),
|
|
38
39
|
}); };
|
|
39
40
|
export var getSwitchableOutputWriteTopics = function (portalId, deviceId, outputId) { return ({
|
|
@@ -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;AAsD/B,MAAM,CAAC,IAAM,iCAAiC,GAAG,UAAC,KAA4B,EAAE,mBAA2B;IACzG,mDAAmD;IACnD,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,CAAA;IACvC,CAAC;IACD,0CAA0C;IAC1C,OAAO,UAAG,mBAAmB,gBAAM,KAAK,CAAC,IAAI,CAAE,CAAA;AACjD,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,8BAA8B,GAAG,UAC5C,QAAkB,EAClB,QAAmC,EACnC,QAA4B,IACzB,OAAA,CAAC;IACJ,IAAI,EAAE,YAAK,QAAQ,qBAAW,QAAQ,+BAAqB,QAAQ,mBAAgB;IACnF,MAAM,EAAE,YAAK,QAAQ,qBAAW,QAAQ,+BAAqB,QAAQ,YAAS;IAC9E,IAAI,EAAE,YAAK,QAAQ,qBAAW,QAAQ,+BAAqB,QAAQ,UAAO;IAC1E,UAAU,EAAE,YAAK,QAAQ,qBAAW,QAAQ,+BAAqB,QAAQ,yBAAsB;IAC/F,KAAK,EAAE,YAAK,QAAQ,qBAAW,QAAQ,+BAAqB,QAAQ,oBAAiB;IACrF,aAAa,EAAE,YAAK,QAAQ,qBAAW,QAAQ,+BAAqB,QAAQ,4BAAyB;IACrG,IAAI,EAAE,YAAK,QAAQ,qBAAW,QAAQ,+BAAqB,QAAQ,UAAO;IAC1E,KAAK,EAAE,YAAK,QAAQ,qBAAW,QAAQ,+BAAqB,QAAQ,WAAQ;IAC5E,OAAO,EAAE,YAAK,QAAQ,qBAAW,QAAQ,+BAAqB,QAAQ,aAAU;IAChF,UAAU,EAAE,YAAK,QAAQ,qBAAW,QAAQ,+BAAqB,QAAQ,yBAAsB;IAC/F,UAAU,EAAE,YAAK,QAAQ,qBAAW,QAAQ,+BAAqB,QAAQ,yBAAsB;IAC/F,QAAQ,EAAE,YAAK,QAAQ,qBAAW,QAAQ,+BAAqB,QAAQ,uBAAoB;IAC3F,WAAW,EAAE,YAAK,QAAQ,qBAAW,QAAQ,+BAAqB,QAAQ,iBAAc;IACxF,IAAI,EAAE,YAAK,QAAQ,qBAAW,QAAQ,+BAAqB,QAAQ,mBAAgB;IACnF,MAAM,EAAE,YAAK,QAAQ,qBAAW,QAAQ,+BAAqB,QAAQ,qBAAkB;CACxF,CAAC,
|
|
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 | \"/Speed\" | \"/Temperature\" | \"/Volume\"\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 parentDeviceName: 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 getSwitchableOutputNameForDisplay = (state: SwitchableOutputState, switchingDeviceName: string) => {\n // when custom name defined, or group not overriden\n if (state.customName || state.group === \"\") {\n return state.customName || state.name\n }\n // otherwise prepend switching device name\n return `${switchingDeviceName} | ${state.name}`\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 decimals: `N/${portalId}/switch/${deviceId}/SwitchableOutput/${outputId}/Settings/Decimals`,\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"]}
|