@riddix/hamh 2.1.0-alpha.512 → 2.1.0-alpha.514
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
|
@@ -147766,6 +147766,7 @@ WARNING: ${includeIdentity ? "This backup contains sensitive Matter identity dat
|
|
|
147766
147766
|
disabled: config10.disabled,
|
|
147767
147767
|
filterLifeEntity: config10.filterLifeEntity,
|
|
147768
147768
|
cleaningModeEntity: config10.cleaningModeEntity,
|
|
147769
|
+
temperatureEntity: config10.temperatureEntity,
|
|
147769
147770
|
humidityEntity: config10.humidityEntity,
|
|
147770
147771
|
pressureEntity: config10.pressureEntity,
|
|
147771
147772
|
batteryEntity: config10.batteryEntity,
|
|
@@ -148661,6 +148662,7 @@ function entityMappingApi(mappingStorage) {
|
|
|
148661
148662
|
disabled: body.disabled,
|
|
148662
148663
|
filterLifeEntity: body.filterLifeEntity,
|
|
148663
148664
|
cleaningModeEntity: body.cleaningModeEntity,
|
|
148665
|
+
temperatureEntity: body.temperatureEntity,
|
|
148664
148666
|
humidityEntity: body.humidityEntity,
|
|
148665
148667
|
pressureEntity: body.pressureEntity,
|
|
148666
148668
|
batteryEntity: body.batteryEntity,
|
|
@@ -149123,6 +149125,7 @@ function configToProfileEntry(config10) {
|
|
|
149123
149125
|
disabled: config10.disabled,
|
|
149124
149126
|
filterLifeEntity: config10.filterLifeEntity,
|
|
149125
149127
|
cleaningModeEntity: config10.cleaningModeEntity,
|
|
149128
|
+
temperatureEntity: config10.temperatureEntity,
|
|
149126
149129
|
humidityEntity: config10.humidityEntity,
|
|
149127
149130
|
pressureEntity: config10.pressureEntity,
|
|
149128
149131
|
batteryEntity: config10.batteryEntity,
|
|
@@ -149243,6 +149246,7 @@ function mappingProfileApi(mappingStorage) {
|
|
|
149243
149246
|
disabled: entry.disabled,
|
|
149244
149247
|
filterLifeEntity: entry.filterLifeEntity,
|
|
149245
149248
|
cleaningModeEntity: entry.cleaningModeEntity,
|
|
149249
|
+
temperatureEntity: entry.temperatureEntity,
|
|
149246
149250
|
humidityEntity: entry.humidityEntity,
|
|
149247
149251
|
pressureEntity: entry.pressureEntity,
|
|
149248
149252
|
batteryEntity: entry.batteryEntity,
|
|
@@ -152677,6 +152681,7 @@ var EntityMappingStorage = class extends Service {
|
|
|
152677
152681
|
disabled: request.disabled,
|
|
152678
152682
|
filterLifeEntity: request.filterLifeEntity?.trim() || void 0,
|
|
152679
152683
|
cleaningModeEntity: request.cleaningModeEntity?.trim() || void 0,
|
|
152684
|
+
temperatureEntity: request.temperatureEntity?.trim() || void 0,
|
|
152680
152685
|
humidityEntity: request.humidityEntity?.trim() || void 0,
|
|
152681
152686
|
batteryEntity: request.batteryEntity?.trim() || void 0,
|
|
152682
152687
|
roomEntities: roomEntities.length > 0 ? roomEntities : void 0,
|
|
@@ -152693,7 +152698,7 @@ var EntityMappingStorage = class extends Service {
|
|
|
152693
152698
|
valetudoIdentifier: request.valetudoIdentifier?.trim() || void 0,
|
|
152694
152699
|
coverSwapOpenClose: request.coverSwapOpenClose || void 0
|
|
152695
152700
|
};
|
|
152696
|
-
if (!config10.matterDeviceType && !config10.customName && config10.disabled !== true && !config10.filterLifeEntity && !config10.cleaningModeEntity && !config10.humidityEntity && !config10.batteryEntity && !config10.roomEntities && !config10.disableLockPin && !config10.powerEntity && !config10.energyEntity && !config10.pressureEntity && !config10.suctionLevelEntity && !config10.mopIntensityEntity && (!config10.customServiceAreas || config10.customServiceAreas.length === 0) && (!config10.customFanSpeedTags || Object.keys(config10.customFanSpeedTags).length === 0) && !config10.valetudoIdentifier && !config10.coverSwapOpenClose) {
|
|
152701
|
+
if (!config10.matterDeviceType && !config10.customName && config10.disabled !== true && !config10.filterLifeEntity && !config10.cleaningModeEntity && !config10.temperatureEntity && !config10.humidityEntity && !config10.batteryEntity && !config10.roomEntities && !config10.disableLockPin && !config10.powerEntity && !config10.energyEntity && !config10.pressureEntity && !config10.suctionLevelEntity && !config10.mopIntensityEntity && (!config10.customServiceAreas || config10.customServiceAreas.length === 0) && (!config10.customFanSpeedTags || Object.keys(config10.customFanSpeedTags).length === 0) && !config10.valetudoIdentifier && !config10.coverSwapOpenClose) {
|
|
152697
152702
|
bridgeMap.delete(request.entityId);
|
|
152698
152703
|
} else {
|
|
152699
152704
|
bridgeMap.set(request.entityId, config10);
|
|
@@ -168537,35 +168542,25 @@ var FanOnOffServer = OnOffServer2({
|
|
|
168537
168542
|
|
|
168538
168543
|
// src/matter/endpoints/composed/composed-air-purifier-endpoint.ts
|
|
168539
168544
|
var logger169 = Logger.get("ComposedAirPurifierEndpoint");
|
|
168540
|
-
|
|
168541
|
-
|
|
168542
|
-
|
|
168543
|
-
|
|
168544
|
-
|
|
168545
|
-
|
|
168546
|
-
|
|
168547
|
-
|
|
168548
|
-
|
|
168549
|
-
|
|
168550
|
-
|
|
168551
|
-
|
|
168552
|
-
|
|
168553
|
-
|
|
168554
|
-
|
|
168555
|
-
|
|
168556
|
-
|
|
168557
|
-
|
|
168558
|
-
|
|
168559
|
-
getValue(_entity, agent) {
|
|
168560
|
-
const stateProvider = agent.env.get(EntityStateProvider);
|
|
168561
|
-
const humState = stateProvider.getState(humidityEntityId);
|
|
168562
|
-
if (!humState) return null;
|
|
168563
|
-
const humidity = Number.parseFloat(humState.state);
|
|
168564
|
-
if (Number.isNaN(humidity)) return null;
|
|
168565
|
-
return humidity;
|
|
168566
|
-
}
|
|
168567
|
-
};
|
|
168568
|
-
}
|
|
168545
|
+
var temperatureConfig = {
|
|
168546
|
+
getValue(entity, agent) {
|
|
168547
|
+
const fallbackUnit = agent.env.get(HomeAssistantConfig).unitSystem.temperature;
|
|
168548
|
+
const state = entity.state;
|
|
168549
|
+
const attributes7 = entity.attributes;
|
|
168550
|
+
const temperature3 = state == null || Number.isNaN(+state) ? null : +state;
|
|
168551
|
+
if (temperature3 == null) return void 0;
|
|
168552
|
+
return Temperature.withUnit(
|
|
168553
|
+
temperature3,
|
|
168554
|
+
attributes7.unit_of_measurement ?? fallbackUnit
|
|
168555
|
+
);
|
|
168556
|
+
}
|
|
168557
|
+
};
|
|
168558
|
+
var humidityConfig = {
|
|
168559
|
+
getValue({ state }) {
|
|
168560
|
+
if (state == null || Number.isNaN(+state)) return null;
|
|
168561
|
+
return +state;
|
|
168562
|
+
}
|
|
168563
|
+
};
|
|
168569
168564
|
var batteryConfig = {
|
|
168570
168565
|
getBatteryPercent: (_entity, agent) => {
|
|
168571
168566
|
const homeAssistant = agent.get(HomeAssistantEntityBehavior);
|
|
@@ -168578,6 +168573,16 @@ var batteryConfig = {
|
|
|
168578
168573
|
return null;
|
|
168579
168574
|
}
|
|
168580
168575
|
};
|
|
168576
|
+
var TemperatureSubType = TemperatureSensorDevice.with(
|
|
168577
|
+
IdentifyServer2,
|
|
168578
|
+
HomeAssistantEntityBehavior,
|
|
168579
|
+
TemperatureMeasurementServer2(temperatureConfig)
|
|
168580
|
+
);
|
|
168581
|
+
var HumiditySubType = HumiditySensorDevice.with(
|
|
168582
|
+
IdentifyServer2,
|
|
168583
|
+
HomeAssistantEntityBehavior,
|
|
168584
|
+
HumidityMeasurementServer(humidityConfig)
|
|
168585
|
+
);
|
|
168581
168586
|
function createEndpointId2(entityId, customName) {
|
|
168582
168587
|
const baseName = customName || entityId;
|
|
168583
168588
|
return baseName.replace(/\./g, "_").replace(/\s+/g, "_");
|
|
@@ -168597,9 +168602,9 @@ function buildEntityPayload(registry2, entityId) {
|
|
|
168597
168602
|
var ComposedAirPurifierEndpoint = class _ComposedAirPurifierEndpoint extends Endpoint {
|
|
168598
168603
|
entityId;
|
|
168599
168604
|
mappedEntityIds;
|
|
168600
|
-
|
|
168605
|
+
subEndpoints = /* @__PURE__ */ new Map();
|
|
168601
168606
|
lastStates = /* @__PURE__ */ new Map();
|
|
168602
|
-
|
|
168607
|
+
debouncedUpdates = /* @__PURE__ */ new Map();
|
|
168603
168608
|
static async create(config10) {
|
|
168604
168609
|
const { registry: registry2, primaryEntityId } = config10;
|
|
168605
168610
|
const primaryPayload = buildEntityPayload(registry2, primaryEntityId);
|
|
@@ -168627,8 +168632,7 @@ var ComposedAirPurifierEndpoint = class _ComposedAirPurifierEndpoint extends End
|
|
|
168627
168632
|
if (hasWindModes) {
|
|
168628
168633
|
features2.add("Wind");
|
|
168629
168634
|
}
|
|
168630
|
-
let
|
|
168631
|
-
BasicInformationServer2,
|
|
168635
|
+
let airPurifierSubType = AirPurifierDevice.with(
|
|
168632
168636
|
IdentifyServer2,
|
|
168633
168637
|
HomeAssistantEntityBehavior,
|
|
168634
168638
|
FanOnOffServer,
|
|
@@ -168636,27 +168640,23 @@ var ComposedAirPurifierEndpoint = class _ComposedAirPurifierEndpoint extends End
|
|
|
168636
168640
|
);
|
|
168637
168641
|
const hasFilterLife = airPurifierAttributes.filter_life != null || airPurifierAttributes.filter_life_remaining != null || airPurifierAttributes.filter_life_level != null || !!config10.mapping?.filterLifeEntity;
|
|
168638
168642
|
if (hasFilterLife) {
|
|
168639
|
-
|
|
168640
|
-
|
|
168641
|
-
if (config10.temperatureEntityId) {
|
|
168642
|
-
parentType = parentType.with(
|
|
168643
|
-
TemperatureMeasurementServer2(
|
|
168644
|
-
createTemperatureConfig(config10.temperatureEntityId)
|
|
168645
|
-
)
|
|
168643
|
+
airPurifierSubType = airPurifierSubType.with(
|
|
168644
|
+
AirPurifierHepaFilterMonitoringServer
|
|
168646
168645
|
);
|
|
168647
168646
|
}
|
|
168648
|
-
|
|
168649
|
-
parentType = parentType.with(
|
|
168650
|
-
HumidityMeasurementServer(
|
|
168651
|
-
createHumidityConfig(config10.humidityEntityId)
|
|
168652
|
-
)
|
|
168653
|
-
);
|
|
168654
|
-
}
|
|
168655
|
-
const mapping = {
|
|
168647
|
+
const airPurifierMapping = {
|
|
168656
168648
|
entityId: primaryEntityId,
|
|
168657
|
-
...config10.batteryEntityId ? { batteryEntity: config10.batteryEntityId } : {},
|
|
168658
168649
|
...config10.mapping?.filterLifeEntity ? { filterLifeEntity: config10.mapping.filterLifeEntity } : {}
|
|
168659
168650
|
};
|
|
168651
|
+
let parentType = BridgedNodeEndpoint.with(
|
|
168652
|
+
BasicInformationServer2,
|
|
168653
|
+
IdentifyServer2,
|
|
168654
|
+
HomeAssistantEntityBehavior
|
|
168655
|
+
);
|
|
168656
|
+
const parentMapping = {
|
|
168657
|
+
entityId: primaryEntityId,
|
|
168658
|
+
...config10.batteryEntityId ? { batteryEntity: config10.batteryEntityId } : {}
|
|
168659
|
+
};
|
|
168660
168660
|
if (config10.batteryEntityId) {
|
|
168661
168661
|
parentType = parentType.with(PowerSourceServer2(batteryConfig));
|
|
168662
168662
|
}
|
|
@@ -168669,75 +168669,125 @@ var ComposedAirPurifierEndpoint = class _ComposedAirPurifierEndpoint extends End
|
|
|
168669
168669
|
);
|
|
168670
168670
|
}
|
|
168671
168671
|
const endpointId = createEndpointId2(primaryEntityId, config10.customName);
|
|
168672
|
+
const parts = [];
|
|
168673
|
+
const airPurifierSub = new Endpoint(
|
|
168674
|
+
airPurifierSubType.set({
|
|
168675
|
+
homeAssistantEntity: {
|
|
168676
|
+
entity: primaryPayload,
|
|
168677
|
+
mapping: airPurifierMapping
|
|
168678
|
+
}
|
|
168679
|
+
}),
|
|
168680
|
+
{ id: `${endpointId}_air_purifier` }
|
|
168681
|
+
);
|
|
168682
|
+
parts.push(airPurifierSub);
|
|
168683
|
+
let tempSub;
|
|
168684
|
+
if (config10.temperatureEntityId) {
|
|
168685
|
+
const tempPayload = buildEntityPayload(
|
|
168686
|
+
registry2,
|
|
168687
|
+
config10.temperatureEntityId
|
|
168688
|
+
);
|
|
168689
|
+
if (tempPayload) {
|
|
168690
|
+
tempSub = new Endpoint(
|
|
168691
|
+
TemperatureSubType.set({
|
|
168692
|
+
homeAssistantEntity: { entity: tempPayload }
|
|
168693
|
+
}),
|
|
168694
|
+
{ id: `${endpointId}_temp` }
|
|
168695
|
+
);
|
|
168696
|
+
parts.push(tempSub);
|
|
168697
|
+
}
|
|
168698
|
+
}
|
|
168699
|
+
let humSub;
|
|
168700
|
+
if (config10.humidityEntityId) {
|
|
168701
|
+
const humPayload = buildEntityPayload(registry2, config10.humidityEntityId);
|
|
168702
|
+
if (humPayload) {
|
|
168703
|
+
humSub = new Endpoint(
|
|
168704
|
+
HumiditySubType.set({
|
|
168705
|
+
homeAssistantEntity: { entity: humPayload }
|
|
168706
|
+
}),
|
|
168707
|
+
{ id: `${endpointId}_humidity` }
|
|
168708
|
+
);
|
|
168709
|
+
parts.push(humSub);
|
|
168710
|
+
}
|
|
168711
|
+
}
|
|
168672
168712
|
const parentTypeWithState = parentType.set({
|
|
168673
168713
|
homeAssistantEntity: {
|
|
168674
168714
|
entity: primaryPayload,
|
|
168675
168715
|
customName: config10.customName,
|
|
168676
|
-
mapping
|
|
168716
|
+
mapping: parentMapping
|
|
168677
168717
|
}
|
|
168678
168718
|
});
|
|
168679
|
-
const
|
|
168680
|
-
if (config10.temperatureEntityId)
|
|
168681
|
-
|
|
168682
|
-
if (config10.
|
|
168683
|
-
|
|
168719
|
+
const mappedIds = [];
|
|
168720
|
+
if (config10.temperatureEntityId) mappedIds.push(config10.temperatureEntityId);
|
|
168721
|
+
if (config10.humidityEntityId) mappedIds.push(config10.humidityEntityId);
|
|
168722
|
+
if (config10.mapping?.filterLifeEntity)
|
|
168723
|
+
mappedIds.push(config10.mapping.filterLifeEntity);
|
|
168684
168724
|
const endpoint = new _ComposedAirPurifierEndpoint(
|
|
168685
168725
|
parentTypeWithState,
|
|
168686
168726
|
primaryEntityId,
|
|
168687
168727
|
endpointId,
|
|
168688
|
-
|
|
168728
|
+
parts,
|
|
168689
168729
|
mappedIds
|
|
168690
168730
|
);
|
|
168731
|
+
endpoint.subEndpoints.set(primaryEntityId, airPurifierSub);
|
|
168732
|
+
if (config10.temperatureEntityId && tempSub) {
|
|
168733
|
+
endpoint.subEndpoints.set(config10.temperatureEntityId, tempSub);
|
|
168734
|
+
}
|
|
168735
|
+
if (config10.humidityEntityId && humSub) {
|
|
168736
|
+
endpoint.subEndpoints.set(config10.humidityEntityId, humSub);
|
|
168737
|
+
}
|
|
168691
168738
|
const clusterLabels = [
|
|
168692
168739
|
"AirPurifier",
|
|
168693
168740
|
config10.temperatureEntityId ? "+Temp" : "",
|
|
168694
168741
|
config10.humidityEntityId ? "+Hum" : "",
|
|
168695
|
-
config10.batteryEntityId ? "+Bat" : ""
|
|
168742
|
+
config10.batteryEntityId ? "+Bat" : "",
|
|
168743
|
+
hasFilterLife ? "+HEPA" : ""
|
|
168696
168744
|
].filter(Boolean).join("");
|
|
168697
|
-
logger169.info(
|
|
168745
|
+
logger169.info(
|
|
168746
|
+
`Created composed air purifier ${primaryEntityId}: ${clusterLabels}`
|
|
168747
|
+
);
|
|
168698
168748
|
return endpoint;
|
|
168699
168749
|
}
|
|
168700
|
-
constructor(type, entityId, id,
|
|
168701
|
-
super(type, { id });
|
|
168750
|
+
constructor(type, entityId, id, parts, mappedEntityIds) {
|
|
168751
|
+
super(type, { id, parts });
|
|
168702
168752
|
this.entityId = entityId;
|
|
168703
|
-
this.trackedEntityIds = trackedEntityIds;
|
|
168704
168753
|
this.mappedEntityIds = mappedEntityIds;
|
|
168705
168754
|
}
|
|
168706
168755
|
async updateStates(states) {
|
|
168707
|
-
|
|
168708
|
-
for (const entityId of this.
|
|
168709
|
-
|
|
168710
|
-
if (!state) continue;
|
|
168711
|
-
const stateJson = JSON.stringify({
|
|
168712
|
-
s: state.state,
|
|
168713
|
-
a: state.attributes
|
|
168714
|
-
});
|
|
168715
|
-
if (this.lastStates.get(entityId) !== stateJson) {
|
|
168716
|
-
this.lastStates.set(entityId, stateJson);
|
|
168717
|
-
anyChanged = true;
|
|
168718
|
-
}
|
|
168756
|
+
this.scheduleUpdate(this, this.entityId, states);
|
|
168757
|
+
for (const [entityId, sub] of this.subEndpoints) {
|
|
168758
|
+
this.scheduleUpdate(sub, entityId, states);
|
|
168719
168759
|
}
|
|
168720
|
-
|
|
168721
|
-
|
|
168722
|
-
|
|
168723
|
-
if (!
|
|
168724
|
-
|
|
168725
|
-
|
|
168760
|
+
}
|
|
168761
|
+
scheduleUpdate(endpoint, entityId, states) {
|
|
168762
|
+
const state = states[entityId];
|
|
168763
|
+
if (!state) return;
|
|
168764
|
+
const key = endpoint === this ? `_parent_:${entityId}` : entityId;
|
|
168765
|
+
const stateJson = JSON.stringify({
|
|
168766
|
+
s: state.state,
|
|
168767
|
+
a: state.attributes
|
|
168768
|
+
});
|
|
168769
|
+
if (this.lastStates.get(key) === stateJson) return;
|
|
168770
|
+
this.lastStates.set(key, stateJson);
|
|
168771
|
+
let debouncedFn = this.debouncedUpdates.get(key);
|
|
168772
|
+
if (!debouncedFn) {
|
|
168773
|
+
debouncedFn = debounce2(
|
|
168774
|
+
(ep, s) => this.flushUpdate(ep, s),
|
|
168726
168775
|
50
|
|
168727
168776
|
);
|
|
168777
|
+
this.debouncedUpdates.set(key, debouncedFn);
|
|
168728
168778
|
}
|
|
168729
|
-
|
|
168779
|
+
debouncedFn(endpoint, state);
|
|
168730
168780
|
}
|
|
168731
|
-
async flushUpdate(state) {
|
|
168781
|
+
async flushUpdate(endpoint, state) {
|
|
168732
168782
|
try {
|
|
168733
|
-
await
|
|
168783
|
+
await endpoint.construction.ready;
|
|
168734
168784
|
} catch {
|
|
168735
168785
|
return;
|
|
168736
168786
|
}
|
|
168737
168787
|
try {
|
|
168738
|
-
const current =
|
|
168739
|
-
await
|
|
168740
|
-
entity: { ...current, state
|
|
168788
|
+
const current = endpoint.stateOf(HomeAssistantEntityBehavior).entity;
|
|
168789
|
+
await endpoint.setStateOf(HomeAssistantEntityBehavior, {
|
|
168790
|
+
entity: { ...current, state }
|
|
168741
168791
|
});
|
|
168742
168792
|
} catch (error) {
|
|
168743
168793
|
if (error instanceof TransactionDestroyedError || error instanceof DestroyedDependencyError) {
|
|
@@ -168753,7 +168803,9 @@ var ComposedAirPurifierEndpoint = class _ComposedAirPurifierEndpoint extends End
|
|
|
168753
168803
|
}
|
|
168754
168804
|
}
|
|
168755
168805
|
async delete() {
|
|
168756
|
-
this.
|
|
168806
|
+
for (const fn of this.debouncedUpdates.values()) {
|
|
168807
|
+
fn.clear();
|
|
168808
|
+
}
|
|
168757
168809
|
await super.delete();
|
|
168758
168810
|
}
|
|
168759
168811
|
};
|
|
@@ -168838,7 +168890,7 @@ function PressureMeasurementServer2(config10) {
|
|
|
168838
168890
|
|
|
168839
168891
|
// src/matter/endpoints/composed/composed-sensor-endpoint.ts
|
|
168840
168892
|
var logger171 = Logger.get("ComposedSensorEndpoint");
|
|
168841
|
-
var
|
|
168893
|
+
var temperatureConfig2 = {
|
|
168842
168894
|
getValue(entity, agent) {
|
|
168843
168895
|
const fallbackUnit = agent.env.get(HomeAssistantConfig).unitSystem.temperature;
|
|
168844
168896
|
const state = entity.state;
|
|
@@ -168851,7 +168903,7 @@ var temperatureConfig = {
|
|
|
168851
168903
|
);
|
|
168852
168904
|
}
|
|
168853
168905
|
};
|
|
168854
|
-
var
|
|
168906
|
+
var humidityConfig2 = {
|
|
168855
168907
|
getValue({ state }) {
|
|
168856
168908
|
if (state == null || Number.isNaN(+state)) return null;
|
|
168857
168909
|
return +state;
|
|
@@ -168878,15 +168930,15 @@ var batteryConfig2 = {
|
|
|
168878
168930
|
return null;
|
|
168879
168931
|
}
|
|
168880
168932
|
};
|
|
168881
|
-
var
|
|
168933
|
+
var TemperatureSubType2 = TemperatureSensorDevice.with(
|
|
168882
168934
|
IdentifyServer2,
|
|
168883
168935
|
HomeAssistantEntityBehavior,
|
|
168884
|
-
TemperatureMeasurementServer2(
|
|
168936
|
+
TemperatureMeasurementServer2(temperatureConfig2)
|
|
168885
168937
|
);
|
|
168886
|
-
var
|
|
168938
|
+
var HumiditySubType2 = HumiditySensorDevice.with(
|
|
168887
168939
|
IdentifyServer2,
|
|
168888
168940
|
HomeAssistantEntityBehavior,
|
|
168889
|
-
HumidityMeasurementServer(
|
|
168941
|
+
HumidityMeasurementServer(humidityConfig2)
|
|
168890
168942
|
);
|
|
168891
168943
|
var PressureSubType = PressureSensorDevice.with(
|
|
168892
168944
|
IdentifyServer2,
|
|
@@ -168942,7 +168994,7 @@ var ComposedSensorEndpoint = class _ComposedSensorEndpoint extends Endpoint {
|
|
|
168942
168994
|
const endpointId = createEndpointId3(primaryEntityId, config10.customName);
|
|
168943
168995
|
const parts = [];
|
|
168944
168996
|
const tempSub = new Endpoint(
|
|
168945
|
-
|
|
168997
|
+
TemperatureSubType2.set({
|
|
168946
168998
|
homeAssistantEntity: { entity: primaryPayload }
|
|
168947
168999
|
}),
|
|
168948
169000
|
{ id: `${endpointId}_temp` }
|
|
@@ -168953,7 +169005,7 @@ var ComposedSensorEndpoint = class _ComposedSensorEndpoint extends Endpoint {
|
|
|
168953
169005
|
const humPayload = buildEntityPayload2(registry2, config10.humidityEntityId);
|
|
168954
169006
|
if (humPayload) {
|
|
168955
169007
|
humSub = new Endpoint(
|
|
168956
|
-
|
|
169008
|
+
HumiditySubType2.set({
|
|
168957
169009
|
homeAssistantEntity: { entity: humPayload }
|
|
168958
169010
|
}),
|
|
168959
169011
|
{ id: `${endpointId}_humidity` }
|
|
@@ -169862,7 +169914,7 @@ var ClimateFanControlServer = FanControlServer2(config3).with(
|
|
|
169862
169914
|
);
|
|
169863
169915
|
|
|
169864
169916
|
// src/matter/endpoints/legacy/climate/behaviors/climate-humidity-measurement-server.ts
|
|
169865
|
-
var
|
|
169917
|
+
var humidityConfig3 = {
|
|
169866
169918
|
getValue(entity) {
|
|
169867
169919
|
const attributes7 = entity.attributes;
|
|
169868
169920
|
const humidity = attributes7.current_humidity;
|
|
@@ -169872,7 +169924,7 @@ var humidityConfig2 = {
|
|
|
169872
169924
|
return +humidity;
|
|
169873
169925
|
}
|
|
169874
169926
|
};
|
|
169875
|
-
var ClimateHumidityMeasurementServer = HumidityMeasurementServer(
|
|
169927
|
+
var ClimateHumidityMeasurementServer = HumidityMeasurementServer(humidityConfig3);
|
|
169876
169928
|
|
|
169877
169929
|
// src/matter/endpoints/legacy/climate/behaviors/climate-on-off-server.ts
|
|
169878
169930
|
var ClimateOnOffServer = OnOffServer2({
|
|
@@ -174960,7 +175012,7 @@ var Pm25SensorType = AirQualitySensorDevice.with(
|
|
|
174960
175012
|
|
|
174961
175013
|
// src/matter/endpoints/legacy/sensor/devices/temperature-humidity-sensor.ts
|
|
174962
175014
|
init_home_assistant_entity_behavior();
|
|
174963
|
-
var
|
|
175015
|
+
var temperatureConfig3 = {
|
|
174964
175016
|
getValue(entity, agent) {
|
|
174965
175017
|
const fallbackUnit = agent.env.get(HomeAssistantConfig).unitSystem.temperature;
|
|
174966
175018
|
const state = entity.state;
|
|
@@ -174975,7 +175027,7 @@ var temperatureConfig2 = {
|
|
|
174975
175027
|
);
|
|
174976
175028
|
}
|
|
174977
175029
|
};
|
|
174978
|
-
var
|
|
175030
|
+
var humidityConfig4 = {
|
|
174979
175031
|
getValue(_entity, agent) {
|
|
174980
175032
|
const homeAssistant = agent.get(HomeAssistantEntityBehavior);
|
|
174981
175033
|
const humidityEntity = homeAssistant.state.mapping?.humidityEntity;
|
|
@@ -175025,38 +175077,38 @@ var TemperatureHumiditySensorType = TemperatureSensorDevice.with(
|
|
|
175025
175077
|
BasicInformationServer2,
|
|
175026
175078
|
IdentifyServer2,
|
|
175027
175079
|
HomeAssistantEntityBehavior,
|
|
175028
|
-
TemperatureMeasurementServer2(
|
|
175029
|
-
HumidityMeasurementServer(
|
|
175080
|
+
TemperatureMeasurementServer2(temperatureConfig3),
|
|
175081
|
+
HumidityMeasurementServer(humidityConfig4)
|
|
175030
175082
|
);
|
|
175031
175083
|
var TemperatureHumiditySensorWithBatteryType = TemperatureSensorDevice.with(
|
|
175032
175084
|
BasicInformationServer2,
|
|
175033
175085
|
IdentifyServer2,
|
|
175034
175086
|
HomeAssistantEntityBehavior,
|
|
175035
|
-
TemperatureMeasurementServer2(
|
|
175036
|
-
HumidityMeasurementServer(
|
|
175087
|
+
TemperatureMeasurementServer2(temperatureConfig3),
|
|
175088
|
+
HumidityMeasurementServer(humidityConfig4),
|
|
175037
175089
|
PowerSourceServer2(batteryConfig4)
|
|
175038
175090
|
);
|
|
175039
175091
|
var TemperatureHumidityPressureSensorType = TemperatureSensorDevice.with(
|
|
175040
175092
|
BasicInformationServer2,
|
|
175041
175093
|
IdentifyServer2,
|
|
175042
175094
|
HomeAssistantEntityBehavior,
|
|
175043
|
-
TemperatureMeasurementServer2(
|
|
175044
|
-
HumidityMeasurementServer(
|
|
175095
|
+
TemperatureMeasurementServer2(temperatureConfig3),
|
|
175096
|
+
HumidityMeasurementServer(humidityConfig4),
|
|
175045
175097
|
PressureMeasurementServer2(pressureConfig2)
|
|
175046
175098
|
);
|
|
175047
175099
|
var TemperatureHumidityPressureSensorWithBatteryType = TemperatureSensorDevice.with(
|
|
175048
175100
|
BasicInformationServer2,
|
|
175049
175101
|
IdentifyServer2,
|
|
175050
175102
|
HomeAssistantEntityBehavior,
|
|
175051
|
-
TemperatureMeasurementServer2(
|
|
175052
|
-
HumidityMeasurementServer(
|
|
175103
|
+
TemperatureMeasurementServer2(temperatureConfig3),
|
|
175104
|
+
HumidityMeasurementServer(humidityConfig4),
|
|
175053
175105
|
PressureMeasurementServer2(pressureConfig2),
|
|
175054
175106
|
PowerSourceServer2(batteryConfig4)
|
|
175055
175107
|
);
|
|
175056
175108
|
|
|
175057
175109
|
// src/matter/endpoints/legacy/sensor/devices/temperature-pressure-sensor.ts
|
|
175058
175110
|
init_home_assistant_entity_behavior();
|
|
175059
|
-
var
|
|
175111
|
+
var temperatureConfig4 = {
|
|
175060
175112
|
getValue(entity, agent) {
|
|
175061
175113
|
const fallbackUnit = agent.env.get(HomeAssistantConfig).unitSystem.temperature;
|
|
175062
175114
|
const state = entity.state;
|
|
@@ -175107,14 +175159,14 @@ var TemperaturePressureSensorType = TemperatureSensorDevice.with(
|
|
|
175107
175159
|
BasicInformationServer2,
|
|
175108
175160
|
IdentifyServer2,
|
|
175109
175161
|
HomeAssistantEntityBehavior,
|
|
175110
|
-
TemperatureMeasurementServer2(
|
|
175162
|
+
TemperatureMeasurementServer2(temperatureConfig4),
|
|
175111
175163
|
PressureMeasurementServer2(pressureConfig3)
|
|
175112
175164
|
);
|
|
175113
175165
|
var TemperaturePressureSensorWithBatteryType = TemperatureSensorDevice.with(
|
|
175114
175166
|
BasicInformationServer2,
|
|
175115
175167
|
IdentifyServer2,
|
|
175116
175168
|
HomeAssistantEntityBehavior,
|
|
175117
|
-
TemperatureMeasurementServer2(
|
|
175169
|
+
TemperatureMeasurementServer2(temperatureConfig4),
|
|
175118
175170
|
PressureMeasurementServer2(pressureConfig3),
|
|
175119
175171
|
PowerSourceServer2(batteryConfig5)
|
|
175120
175172
|
);
|
|
@@ -177995,13 +178047,9 @@ var LegacyEndpoint = class _LegacyEndpoint extends EntityEndpoint {
|
|
|
177995
178047
|
return composed;
|
|
177996
178048
|
}
|
|
177997
178049
|
const resolvedMatterType = mapping?.matterDeviceType ?? (entityId.startsWith("fan.") ? "fan" : void 0);
|
|
177998
|
-
if (resolvedMatterType === "air_purifier"
|
|
177999
|
-
const temperatureEntityId = registry2.findTemperatureEntityForDevice(
|
|
178000
|
-
|
|
178001
|
-
);
|
|
178002
|
-
const humidityEntityId = registry2.findHumidityEntityForDevice(
|
|
178003
|
-
entity.device_id
|
|
178004
|
-
);
|
|
178050
|
+
if (resolvedMatterType === "air_purifier") {
|
|
178051
|
+
const temperatureEntityId = effectiveMapping?.temperatureEntity || (entity.device_id ? registry2.findTemperatureEntityForDevice(entity.device_id) : void 0);
|
|
178052
|
+
const humidityEntityId = effectiveMapping?.humidityEntity || (entity.device_id ? registry2.findHumidityEntityForDevice(entity.device_id) : void 0);
|
|
178005
178053
|
if (temperatureEntityId || humidityEntityId) {
|
|
178006
178054
|
const composedAreaName = registry2.getAreaName(entityId);
|
|
178007
178055
|
const composed = await ComposedAirPurifierEndpoint.create({
|
|
@@ -178611,11 +178659,8 @@ var BridgeEndpointManager = class extends Service {
|
|
|
178611
178659
|
const matterType = m?.matterDeviceType ?? "fan";
|
|
178612
178660
|
if (matterType !== "air_purifier") continue;
|
|
178613
178661
|
const ent = this.registry.entity(eid);
|
|
178614
|
-
|
|
178615
|
-
const
|
|
178616
|
-
ent.device_id
|
|
178617
|
-
);
|
|
178618
|
-
const humId = this.registry.findHumidityEntityForDevice(ent.device_id);
|
|
178662
|
+
const tempId = m?.temperatureEntity || (ent?.device_id ? this.registry.findTemperatureEntityForDevice(ent.device_id) : void 0);
|
|
178663
|
+
const humId = m?.humidityEntity || (ent?.device_id ? this.registry.findHumidityEntityForDevice(ent.device_id) : void 0);
|
|
178619
178664
|
if (tempId) this.registry.markComposedSubEntityUsed(tempId);
|
|
178620
178665
|
if (humId) this.registry.markComposedSubEntityUsed(humId);
|
|
178621
178666
|
}
|