@riddix/hamh 2.1.0-alpha.588 → 2.1.0-alpha.590
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
|
@@ -172152,19 +172152,48 @@ function DishwasherEndpoint(homeAssistantEntity) {
|
|
|
172152
172152
|
init_esm();
|
|
172153
172153
|
init_home_assistant_entity_behavior();
|
|
172154
172154
|
var logger180 = Logger.get("GenericSwitchServer");
|
|
172155
|
-
var
|
|
172155
|
+
var SimpleBase = SwitchServer.with(
|
|
172156
|
+
"MomentarySwitch",
|
|
172157
|
+
"MomentarySwitchRelease",
|
|
172158
|
+
"MomentarySwitchLongPress"
|
|
172159
|
+
);
|
|
172160
|
+
var FullBase = SwitchServer.with(
|
|
172156
172161
|
"MomentarySwitch",
|
|
172157
172162
|
"MomentarySwitchRelease",
|
|
172158
172163
|
"MomentarySwitchLongPress",
|
|
172159
172164
|
"MomentarySwitchMultiPress"
|
|
172160
172165
|
);
|
|
172161
|
-
|
|
172166
|
+
function isLongPress(lower) {
|
|
172167
|
+
return lower.includes("long") && !lower.includes("release") || lower === "hold";
|
|
172168
|
+
}
|
|
172169
|
+
function isLongRelease(lower) {
|
|
172170
|
+
return lower.includes("long") && lower.includes("release");
|
|
172171
|
+
}
|
|
172172
|
+
function getPressCount(lower) {
|
|
172173
|
+
if (lower.includes("triple") || lower.includes("3_press") || lower.includes("three")) {
|
|
172174
|
+
return 3;
|
|
172175
|
+
}
|
|
172176
|
+
if (lower.includes("double") || lower.includes("2_press") || lower.includes("two") || lower.includes("multi")) {
|
|
172177
|
+
return 2;
|
|
172178
|
+
}
|
|
172179
|
+
return 1;
|
|
172180
|
+
}
|
|
172181
|
+
function fireBridgeEvent(agent, eventType, pressCount) {
|
|
172182
|
+
const homeAssistant = agent.get(HomeAssistantEntityBehavior);
|
|
172183
|
+
homeAssistant.fireEvent("hamh_action", {
|
|
172184
|
+
action: "press",
|
|
172185
|
+
event_type: eventType,
|
|
172186
|
+
press_count: pressCount,
|
|
172187
|
+
source: "matter_bridge"
|
|
172188
|
+
});
|
|
172189
|
+
}
|
|
172190
|
+
var HaGenericSwitchServerBase = class extends SimpleBase {
|
|
172162
172191
|
inLongPress = false;
|
|
172163
172192
|
async initialize() {
|
|
172164
172193
|
await super.initialize();
|
|
172165
172194
|
const homeAssistant = await this.agent.load(HomeAssistantEntityBehavior);
|
|
172166
172195
|
const entityId = homeAssistant.entityId;
|
|
172167
|
-
logger180.debug(`[${entityId}] GenericSwitch initialized`);
|
|
172196
|
+
logger180.debug(`[${entityId}] GenericSwitch initialized (simple)`);
|
|
172168
172197
|
this.reactTo(homeAssistant.onChange, this.handleEventChange);
|
|
172169
172198
|
}
|
|
172170
172199
|
handleEventChange() {
|
|
@@ -172180,74 +172209,111 @@ var GenericSwitchServerBase = class extends FeaturedBase7 {
|
|
|
172180
172209
|
}
|
|
172181
172210
|
triggerPress(eventType) {
|
|
172182
172211
|
const lower = eventType.toLowerCase();
|
|
172183
|
-
if (
|
|
172212
|
+
if (isLongPress(lower)) {
|
|
172184
172213
|
this.inLongPress = true;
|
|
172185
172214
|
this.state.currentPosition = 1;
|
|
172186
|
-
this.events.initialPress
|
|
172187
|
-
this.events.longPress
|
|
172188
|
-
this.
|
|
172215
|
+
this.events.initialPress.emit({ newPosition: 1 }, this.context);
|
|
172216
|
+
this.events.longPress.emit({ newPosition: 1 }, this.context);
|
|
172217
|
+
fireBridgeEvent(this.agent, eventType, 1);
|
|
172189
172218
|
return;
|
|
172190
172219
|
}
|
|
172191
|
-
if (
|
|
172220
|
+
if (isLongRelease(lower)) {
|
|
172192
172221
|
if (!this.inLongPress) {
|
|
172193
172222
|
this.state.currentPosition = 1;
|
|
172194
|
-
this.events.initialPress
|
|
172195
|
-
this.events.longPress
|
|
172223
|
+
this.events.initialPress.emit({ newPosition: 1 }, this.context);
|
|
172224
|
+
this.events.longPress.emit({ newPosition: 1 }, this.context);
|
|
172196
172225
|
}
|
|
172197
172226
|
this.inLongPress = false;
|
|
172198
172227
|
this.state.currentPosition = 0;
|
|
172199
|
-
this.events.longRelease
|
|
172200
|
-
this.
|
|
172228
|
+
this.events.longRelease.emit({ previousPosition: 1 }, this.context);
|
|
172229
|
+
fireBridgeEvent(this.agent, eventType, 1);
|
|
172201
172230
|
return;
|
|
172202
172231
|
}
|
|
172203
172232
|
if (lower.includes("cont") && lower.includes("press")) {
|
|
172204
172233
|
return;
|
|
172205
172234
|
}
|
|
172206
|
-
const pressCount = this.getPressCount(lower);
|
|
172207
172235
|
this.state.currentPosition = 1;
|
|
172208
|
-
this.events.initialPress
|
|
172236
|
+
this.events.initialPress.emit({ newPosition: 1 }, this.context);
|
|
172209
172237
|
this.state.currentPosition = 0;
|
|
172210
|
-
this.events.shortRelease
|
|
172211
|
-
this.
|
|
172212
|
-
{
|
|
172213
|
-
previousPosition: 0,
|
|
172214
|
-
totalNumberOfPressesCounted: pressCount
|
|
172215
|
-
},
|
|
172216
|
-
this.context
|
|
172217
|
-
);
|
|
172218
|
-
this.fireBridgeEvent(eventType, pressCount);
|
|
172238
|
+
this.events.shortRelease.emit({ previousPosition: 1 }, this.context);
|
|
172239
|
+
fireBridgeEvent(this.agent, eventType, 1);
|
|
172219
172240
|
}
|
|
172220
|
-
|
|
172221
|
-
|
|
172222
|
-
|
|
172223
|
-
action: "press",
|
|
172224
|
-
event_type: eventType,
|
|
172225
|
-
press_count: pressCount,
|
|
172226
|
-
source: "matter_bridge"
|
|
172227
|
-
});
|
|
172241
|
+
};
|
|
172242
|
+
((HaGenericSwitchServerBase2) => {
|
|
172243
|
+
class State extends SimpleBase.State {
|
|
172228
172244
|
}
|
|
172229
|
-
|
|
172230
|
-
|
|
172245
|
+
HaGenericSwitchServerBase2.State = State;
|
|
172246
|
+
})(HaGenericSwitchServerBase || (HaGenericSwitchServerBase = {}));
|
|
172247
|
+
var HaGenericSwitchServerMultiBase = class extends FullBase {
|
|
172248
|
+
inLongPress = false;
|
|
172249
|
+
async initialize() {
|
|
172250
|
+
await super.initialize();
|
|
172251
|
+
const homeAssistant = await this.agent.load(HomeAssistantEntityBehavior);
|
|
172252
|
+
const entityId = homeAssistant.entityId;
|
|
172253
|
+
logger180.debug(`[${entityId}] GenericSwitch initialized (multi)`);
|
|
172254
|
+
this.reactTo(homeAssistant.onChange, this.handleEventChange);
|
|
172231
172255
|
}
|
|
172232
|
-
|
|
172233
|
-
|
|
172256
|
+
handleEventChange() {
|
|
172257
|
+
const homeAssistant = this.agent.get(HomeAssistantEntityBehavior);
|
|
172258
|
+
const entity = homeAssistant.entity;
|
|
172259
|
+
if (!entity?.state || !entity.state.attributes) return;
|
|
172260
|
+
const attrs = entity.state.attributes;
|
|
172261
|
+
const eventType = attrs.event_type;
|
|
172262
|
+
if (!eventType) return;
|
|
172263
|
+
const entityId = homeAssistant.entityId;
|
|
172264
|
+
logger180.debug(`[${entityId}] Event fired: ${eventType}`);
|
|
172265
|
+
this.triggerPress(eventType);
|
|
172234
172266
|
}
|
|
172235
|
-
|
|
172236
|
-
|
|
172237
|
-
|
|
172267
|
+
triggerPress(eventType) {
|
|
172268
|
+
const lower = eventType.toLowerCase();
|
|
172269
|
+
if (isLongPress(lower)) {
|
|
172270
|
+
this.inLongPress = true;
|
|
172271
|
+
this.state.currentPosition = 1;
|
|
172272
|
+
this.events.initialPress.emit({ newPosition: 1 }, this.context);
|
|
172273
|
+
this.events.longPress.emit({ newPosition: 1 }, this.context);
|
|
172274
|
+
fireBridgeEvent(this.agent, eventType, 1);
|
|
172275
|
+
return;
|
|
172238
172276
|
}
|
|
172239
|
-
if (
|
|
172240
|
-
|
|
172277
|
+
if (isLongRelease(lower)) {
|
|
172278
|
+
if (!this.inLongPress) {
|
|
172279
|
+
this.state.currentPosition = 1;
|
|
172280
|
+
this.events.initialPress.emit({ newPosition: 1 }, this.context);
|
|
172281
|
+
this.events.longPress.emit({ newPosition: 1 }, this.context);
|
|
172282
|
+
}
|
|
172283
|
+
this.inLongPress = false;
|
|
172284
|
+
this.state.currentPosition = 0;
|
|
172285
|
+
this.events.longRelease.emit({ previousPosition: 1 }, this.context);
|
|
172286
|
+
fireBridgeEvent(this.agent, eventType, 1);
|
|
172287
|
+
return;
|
|
172241
172288
|
}
|
|
172242
|
-
|
|
172289
|
+
if (lower.includes("cont") && lower.includes("press")) {
|
|
172290
|
+
return;
|
|
172291
|
+
}
|
|
172292
|
+
const pressCount = getPressCount(lower);
|
|
172293
|
+
this.state.currentPosition = 1;
|
|
172294
|
+
this.events.initialPress.emit({ newPosition: 1 }, this.context);
|
|
172295
|
+
this.state.currentPosition = 0;
|
|
172296
|
+
this.events.shortRelease.emit({ previousPosition: 1 }, this.context);
|
|
172297
|
+
this.events.multiPressComplete.emit(
|
|
172298
|
+
{
|
|
172299
|
+
previousPosition: 0,
|
|
172300
|
+
totalNumberOfPressesCounted: pressCount
|
|
172301
|
+
},
|
|
172302
|
+
this.context
|
|
172303
|
+
);
|
|
172304
|
+
fireBridgeEvent(this.agent, eventType, pressCount);
|
|
172243
172305
|
}
|
|
172244
172306
|
};
|
|
172245
|
-
((
|
|
172246
|
-
class State extends
|
|
172307
|
+
((HaGenericSwitchServerMultiBase2) => {
|
|
172308
|
+
class State extends FullBase.State {
|
|
172247
172309
|
}
|
|
172248
|
-
|
|
172249
|
-
})(
|
|
172250
|
-
var
|
|
172310
|
+
HaGenericSwitchServerMultiBase2.State = State;
|
|
172311
|
+
})(HaGenericSwitchServerMultiBase || (HaGenericSwitchServerMultiBase = {}));
|
|
172312
|
+
var HaGenericSwitchServerSimple = HaGenericSwitchServerBase.set({
|
|
172313
|
+
numberOfPositions: 2,
|
|
172314
|
+
currentPosition: 0
|
|
172315
|
+
});
|
|
172316
|
+
var HaGenericSwitchServer = HaGenericSwitchServerMultiBase.set({
|
|
172251
172317
|
numberOfPositions: 2,
|
|
172252
172318
|
currentPosition: 0,
|
|
172253
172319
|
multiPressMax: 3
|
|
@@ -172255,12 +172321,18 @@ var HaGenericSwitchServer = GenericSwitchServerBase.set({
|
|
|
172255
172321
|
|
|
172256
172322
|
// src/matter/endpoints/legacy/event/index.ts
|
|
172257
172323
|
init_home_assistant_entity_behavior();
|
|
172258
|
-
var
|
|
172324
|
+
var EventEndpointTypeMulti = GenericSwitchDevice.with(
|
|
172259
172325
|
BasicInformationServer2,
|
|
172260
172326
|
IdentifyServer2,
|
|
172261
172327
|
HomeAssistantEntityBehavior,
|
|
172262
172328
|
HaGenericSwitchServer
|
|
172263
172329
|
);
|
|
172330
|
+
var EventEndpointTypeSimple = GenericSwitchDevice.with(
|
|
172331
|
+
BasicInformationServer2,
|
|
172332
|
+
IdentifyServer2,
|
|
172333
|
+
HomeAssistantEntityBehavior,
|
|
172334
|
+
HaGenericSwitchServerSimple
|
|
172335
|
+
);
|
|
172264
172336
|
var multiPressPatterns = [
|
|
172265
172337
|
[/triple|3_press|three/, 3],
|
|
172266
172338
|
[/double|2_press|two|multi/, 2]
|
|
@@ -172278,9 +172350,14 @@ function detectMultiPressMax(eventTypes) {
|
|
|
172278
172350
|
function EventDevice(homeAssistantEntity) {
|
|
172279
172351
|
const attrs = homeAssistantEntity.entity.state.attributes;
|
|
172280
172352
|
const multiPressMax = detectMultiPressMax(attrs.event_types ?? []);
|
|
172281
|
-
|
|
172282
|
-
|
|
172283
|
-
|
|
172353
|
+
if (multiPressMax >= 2) {
|
|
172354
|
+
return EventEndpointTypeMulti.set({
|
|
172355
|
+
homeAssistantEntity,
|
|
172356
|
+
switch: { multiPressMax }
|
|
172357
|
+
});
|
|
172358
|
+
}
|
|
172359
|
+
return EventEndpointTypeSimple.set({
|
|
172360
|
+
homeAssistantEntity
|
|
172284
172361
|
});
|
|
172285
172362
|
}
|
|
172286
172363
|
|
|
@@ -172524,8 +172601,8 @@ function consumePendingColorStaging(entityId) {
|
|
|
172524
172601
|
pendingColorStaging.delete(entityId);
|
|
172525
172602
|
return data;
|
|
172526
172603
|
}
|
|
172527
|
-
var
|
|
172528
|
-
var ColorControlServerBase = class extends
|
|
172604
|
+
var FeaturedBase7 = ColorControlServer.with("ColorTemperature", "HueSaturation");
|
|
172605
|
+
var ColorControlServerBase = class extends FeaturedBase7 {
|
|
172529
172606
|
pendingTransitionTime;
|
|
172530
172607
|
async [Symbol.asyncDispose]() {
|
|
172531
172608
|
const entityId = this.agent.get(HomeAssistantEntityBehavior).entityId;
|
|
@@ -172763,7 +172840,7 @@ var ColorControlServerBase = class extends FeaturedBase8 {
|
|
|
172763
172840
|
}
|
|
172764
172841
|
};
|
|
172765
172842
|
((ColorControlServerBase2) => {
|
|
172766
|
-
class State extends
|
|
172843
|
+
class State extends FeaturedBase7.State {
|
|
172767
172844
|
config;
|
|
172768
172845
|
}
|
|
172769
172846
|
ColorControlServerBase2.State = State;
|
|
@@ -173857,8 +173934,8 @@ var logger184 = Logger.get("SpeakerLevelControlServer");
|
|
|
173857
173934
|
var optimisticLevelState2 = /* @__PURE__ */ new Map();
|
|
173858
173935
|
var OPTIMISTIC_TIMEOUT_MS4 = 3e3;
|
|
173859
173936
|
var OPTIMISTIC_TOLERANCE3 = 5;
|
|
173860
|
-
var
|
|
173861
|
-
var SpeakerLevelControlServerBase = class extends
|
|
173937
|
+
var FeaturedBase8 = LevelControlServer.with("OnOff");
|
|
173938
|
+
var SpeakerLevelControlServerBase = class extends FeaturedBase8 {
|
|
173862
173939
|
async initialize() {
|
|
173863
173940
|
if (this.state.currentLevel == null) {
|
|
173864
173941
|
this.state.currentLevel = 0;
|
|
@@ -173958,7 +174035,7 @@ var SpeakerLevelControlServerBase = class extends FeaturedBase9 {
|
|
|
173958
174035
|
}
|
|
173959
174036
|
};
|
|
173960
174037
|
((SpeakerLevelControlServerBase2) => {
|
|
173961
|
-
class State extends
|
|
174038
|
+
class State extends FeaturedBase8.State {
|
|
173962
174039
|
config;
|
|
173963
174040
|
}
|
|
173964
174041
|
SpeakerLevelControlServerBase2.State = State;
|
|
@@ -176057,7 +176134,7 @@ var RvcRunModeServerBase = class extends RvcRunModeServer {
|
|
|
176057
176134
|
await super.initialize();
|
|
176058
176135
|
const homeAssistant = await this.agent.load(HomeAssistantEntityBehavior);
|
|
176059
176136
|
this.update(homeAssistant.entity);
|
|
176060
|
-
this.reactTo(homeAssistant.onChange, this.update);
|
|
176137
|
+
this.reactTo(homeAssistant.onChange, this.update, { offline: true });
|
|
176061
176138
|
}
|
|
176062
176139
|
update(entity) {
|
|
176063
176140
|
if (!entity.state || !entity.state.attributes) {
|
|
@@ -178128,7 +178205,7 @@ var RvcOperationalStateServerBase = class extends RvcOperationalStateServer {
|
|
|
178128
178205
|
await super.initialize();
|
|
178129
178206
|
const homeAssistant = await this.agent.load(HomeAssistantEntityBehavior);
|
|
178130
178207
|
this.update(homeAssistant.entity);
|
|
178131
|
-
this.reactTo(homeAssistant.onChange, this.update);
|
|
178208
|
+
this.reactTo(homeAssistant.onChange, this.update, { offline: true });
|
|
178132
178209
|
}
|
|
178133
178210
|
update(entity) {
|
|
178134
178211
|
if (!entity.state || !entity.state.attributes) {
|