@riddix/hamh 2.1.0-alpha.539 → 2.1.0-alpha.541
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/backend/cli.js
CHANGED
|
@@ -171790,19 +171790,24 @@ var CoverWindowCoveringServer = WindowCoveringServer2(config5);
|
|
|
171790
171790
|
|
|
171791
171791
|
// src/matter/endpoints/legacy/cover/index.ts
|
|
171792
171792
|
var logger179 = Logger.get("CoverDevice");
|
|
171793
|
-
var
|
|
171793
|
+
var DISCRETE_COVER_CLASSES = /* @__PURE__ */ new Set(["garage", "gate"]);
|
|
171794
|
+
var CoverDeviceType = (supportedFeatures, hasBattery, entityId, isDiscrete) => {
|
|
171794
171795
|
const features2 = /* @__PURE__ */ new Set();
|
|
171795
171796
|
if (testBit(supportedFeatures, CoverSupportedFeatures.support_open)) {
|
|
171796
171797
|
features2.add("Lift");
|
|
171797
171798
|
features2.add("PositionAwareLift");
|
|
171798
|
-
|
|
171799
|
+
if (!isDiscrete) {
|
|
171800
|
+
features2.add("AbsolutePosition");
|
|
171801
|
+
}
|
|
171799
171802
|
} else {
|
|
171800
171803
|
logger179.warn(
|
|
171801
171804
|
`[${entityId}] Cover has no support_open feature (supported_features=${supportedFeatures}), adding Lift anyway`
|
|
171802
171805
|
);
|
|
171803
171806
|
features2.add("Lift");
|
|
171804
171807
|
features2.add("PositionAwareLift");
|
|
171805
|
-
|
|
171808
|
+
if (!isDiscrete) {
|
|
171809
|
+
features2.add("AbsolutePosition");
|
|
171810
|
+
}
|
|
171806
171811
|
}
|
|
171807
171812
|
if (testBit(supportedFeatures, CoverSupportedFeatures.support_open_tilt)) {
|
|
171808
171813
|
features2.add("Tilt");
|
|
@@ -171846,10 +171851,18 @@ function CoverDevice(homeAssistantEntity) {
|
|
|
171846
171851
|
`[${entityId}] Creating cover without battery (batteryAttr=${hasBatteryAttr}, batteryEntity=${homeAssistantEntity.mapping?.batteryEntity ?? "none"})`
|
|
171847
171852
|
);
|
|
171848
171853
|
}
|
|
171854
|
+
const deviceClass = attributes7.device_class;
|
|
171855
|
+
const isDiscrete = typeof deviceClass === "string" && DISCRETE_COVER_CLASSES.has(deviceClass.toLowerCase());
|
|
171856
|
+
if (isDiscrete) {
|
|
171857
|
+
logger179.info(
|
|
171858
|
+
`[${entityId}] Garage/gate cover (device_class=${deviceClass}): using discrete Open/Close mode`
|
|
171859
|
+
);
|
|
171860
|
+
}
|
|
171849
171861
|
return CoverDeviceType(
|
|
171850
171862
|
attributes7.supported_features ?? 0,
|
|
171851
171863
|
hasBattery,
|
|
171852
|
-
entityId
|
|
171864
|
+
entityId,
|
|
171865
|
+
isDiscrete
|
|
171853
171866
|
).set({
|
|
171854
171867
|
homeAssistantEntity
|
|
171855
171868
|
});
|
|
@@ -175677,8 +175690,18 @@ var RvcRunModeServerBase = class extends RvcRunModeServer {
|
|
|
175677
175690
|
this.agent
|
|
175678
175691
|
)
|
|
175679
175692
|
});
|
|
175680
|
-
if (previousMode !== newMode
|
|
175681
|
-
|
|
175693
|
+
if (previousMode !== newMode) {
|
|
175694
|
+
if (newMode === 0 /* Idle */) {
|
|
175695
|
+
this.trySetCurrentArea(null);
|
|
175696
|
+
} else if (newMode === 1 /* Cleaning */) {
|
|
175697
|
+
try {
|
|
175698
|
+
const serviceArea = this.agent.get(ServiceAreaBehavior);
|
|
175699
|
+
if (serviceArea.state.selectedAreas?.length > 0 && serviceArea.state.currentArea === null) {
|
|
175700
|
+
this.trySetCurrentArea(serviceArea.state.selectedAreas[0]);
|
|
175701
|
+
}
|
|
175702
|
+
} catch {
|
|
175703
|
+
}
|
|
175704
|
+
}
|
|
175682
175705
|
}
|
|
175683
175706
|
}
|
|
175684
175707
|
/**
|
|
@@ -175727,6 +175750,7 @@ var RvcRunModeServerBase = class extends RvcRunModeServer {
|
|
|
175727
175750
|
if (serviceArea.state.selectedAreas?.length > 0) {
|
|
175728
175751
|
this.trySetCurrentArea(serviceArea.state.selectedAreas[0]);
|
|
175729
175752
|
homeAssistant.callAction(this.state.config.start(void 0, this.agent));
|
|
175753
|
+
this.state.currentMode = newMode;
|
|
175730
175754
|
return {
|
|
175731
175755
|
status: ModeBase3.ModeChangeStatus.Success,
|
|
175732
175756
|
statusText: "Starting room cleaning"
|
|
@@ -175739,6 +175763,7 @@ var RvcRunModeServerBase = class extends RvcRunModeServer {
|
|
|
175739
175763
|
homeAssistant.callAction(
|
|
175740
175764
|
this.state.config.cleanRoom(newMode, this.agent)
|
|
175741
175765
|
);
|
|
175766
|
+
this.state.currentMode = newMode;
|
|
175742
175767
|
return {
|
|
175743
175768
|
status: ModeBase3.ModeChangeStatus.Success,
|
|
175744
175769
|
statusText: "Starting room cleaning"
|
|
@@ -175767,6 +175792,7 @@ var RvcRunModeServerBase = class extends RvcRunModeServer {
|
|
|
175767
175792
|
homeAssistant.callAction(this.state.config.pause(void 0, this.agent));
|
|
175768
175793
|
break;
|
|
175769
175794
|
}
|
|
175795
|
+
this.state.currentMode = newMode;
|
|
175770
175796
|
return {
|
|
175771
175797
|
status: ModeBase3.ModeChangeStatus.Success,
|
|
175772
175798
|
statusText: "Successfully switched mode"
|