@digital-alchemy/hass 25.5.2 → 25.7.1

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.
@@ -21,6 +21,13 @@ declare module "../user.mts" {
21
21
  "27b4fc99f35bbdd1a07173caff5b52f86e3bc342db96f48427e47980b0fb6b49": "switch.living_room_mood_lights";
22
22
  "8eb8c1f8c760e97cfa49a0a29cd6891313a1e9a45dd046a556a9f317778cf50a": "switch.porch_light";
23
23
  "05ecbbc6111791b6baacbbb60397db14": "calendar.united_states_tx";
24
+ date_example_unique_id: "date.example";
25
+ datetime_example_unique_id: "datetime.example";
26
+ lock_example_unique_id: "lock.example";
27
+ number_example_unique_id: "number.example";
28
+ select_example_unique_id: "select.example";
29
+ text_example_unique_id: "text.example";
30
+ time_example_unique_id: "time.example";
24
31
  }
25
32
  interface HassZoneMapping {
26
33
  test: true;
@@ -30,12 +37,19 @@ declare module "../user.mts" {
30
37
  binary_sensor: "binary_sensor.hass_e2e_online" | "binary_sensor.toggles";
31
38
  button: "button.example";
32
39
  calendar: "calendar.united_states_tx";
40
+ date: "date.example";
41
+ datetime: "datetime.example";
33
42
  light: "light.bedroom_ceiling_fan";
43
+ lock: "lock.example";
44
+ number: "number.example";
34
45
  person: "person.digital_alchemy";
35
46
  scene: "scene.games_room_auto";
47
+ select: "select.example";
36
48
  sensor: "sensor.magic" | "sensor.sun_next_dawn" | "sensor.sun_next_dusk" | "sensor.sun_next_midnight" | "sensor.sun_next_noon" | "sensor.sun_next_rising" | "sensor.sun_next_setting";
37
49
  sun: "sun.sun";
38
50
  switch: "switch.bedroom_lamp" | "switch.kitchen_cabinets" | "switch.living_room_mood_lights" | "switch.porch_light";
51
+ text: "text.example";
52
+ time: "time.example";
39
53
  todo: "todo.shopping_list";
40
54
  tts: "tts.google_en_com";
41
55
  zone: "zone.home";
@@ -7,6 +7,73 @@ declare module "../user.mts" {
7
7
  friendly_name: "Example button";
8
8
  };
9
9
  };
10
+ "date.example": {
11
+ state: "2024-01-15";
12
+ entity_id: "date.example";
13
+ attributes: {
14
+ friendly_name: "Example date";
15
+ icon: "mdi:calendar";
16
+ };
17
+ };
18
+ "datetime.example": {
19
+ state: "2024-01-15T14:30:00";
20
+ entity_id: "datetime.example";
21
+ attributes: {
22
+ friendly_name: "Example datetime";
23
+ icon: "mdi:calendar-clock";
24
+ };
25
+ };
26
+ "lock.example": {
27
+ state: "locked";
28
+ entity_id: "lock.example";
29
+ attributes: {
30
+ friendly_name: "Example lock";
31
+ icon: "mdi:lock";
32
+ supported_features: 3;
33
+ };
34
+ };
35
+ "number.example": {
36
+ state: "25.5";
37
+ entity_id: "number.example";
38
+ attributes: {
39
+ friendly_name: "Example number";
40
+ icon: "mdi:numeric";
41
+ min: 0;
42
+ max: 100;
43
+ step: 0.5;
44
+ mode: "slider";
45
+ unit_of_measurement: "°C";
46
+ };
47
+ };
48
+ "select.example": {
49
+ state: "option1";
50
+ entity_id: "select.example";
51
+ attributes: {
52
+ friendly_name: "Example select";
53
+ icon: "mdi:format-list-bulleted";
54
+ options: ["option1", "option2", "option3"];
55
+ };
56
+ };
57
+ "text.example": {
58
+ state: "Hello World";
59
+ entity_id: "text.example";
60
+ attributes: {
61
+ friendly_name: "Example text";
62
+ icon: "mdi:text";
63
+ max: 100;
64
+ min: 0;
65
+ mode: "text";
66
+ pattern: null;
67
+ };
68
+ };
69
+ "time.example": {
70
+ state: "14:30:00";
71
+ entity_id: "time.example";
72
+ attributes: {
73
+ friendly_name: "Example time";
74
+ icon: "mdi:clock";
75
+ };
76
+ };
10
77
  "binary_sensor.hass_e2e_online": {
11
78
  attributes: {
12
79
  friendly_name: "hass_e2e online";
@@ -90,7 +90,7 @@ describe("Workflows", () => {
90
90
  });
91
91
  });
92
92
  });
93
- describe("Timers", () => {
93
+ describe.skip("Timers", () => {
94
94
  beforeEach(() => {
95
95
  vi.useFakeTimers();
96
96
  });
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.spec.mjs","sourceRoot":"","sources":["../../src/testing/workflow.spec.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.spec.mjs","sourceRoot":"","sources":["../../src/testing/workflow.spec.mts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "name": "@digital-alchemy/hass",
4
4
  "repository": "https://github.com/Digital-Alchemy-TS/hass",
5
5
  "homepage": "https://docs.digital-alchemy.app",
6
- "version": "25.5.2",
6
+ "version": "25.7.1",
7
7
  "description": "Typescript APIs for Home Assistant. Includes rest & websocket bindings",
8
8
  "scripts": {
9
9
  "build": "rm -rf dist/; tsc",
@@ -58,43 +58,43 @@
58
58
  },
59
59
  "license": "MIT",
60
60
  "devDependencies": {
61
- "@cspell/eslint-plugin": "^9.0.2",
62
- "@digital-alchemy/core": "^25.5.2",
61
+ "@cspell/eslint-plugin": "^9.2.0",
62
+ "@digital-alchemy/core": "^25.7.1",
63
63
  "@digital-alchemy/synapse": "^25.3.1",
64
- "@digital-alchemy/type-writer": "^25.5.1",
65
- "@eslint/compat": "^1.2.9",
64
+ "@digital-alchemy/type-writer": "^25.6.2",
65
+ "@eslint/compat": "^1.3.1",
66
66
  "@eslint/eslintrc": "^3.3.1",
67
- "@eslint/js": "^9.28.0",
68
- "@faker-js/faker": "^9.8.0",
67
+ "@eslint/js": "^9.32.0",
68
+ "@faker-js/faker": "^9.9.0",
69
69
  "@types/js-yaml": "^4.0.9",
70
- "@types/node": "^22.15.29",
70
+ "@types/node": "^24.1.0",
71
71
  "@types/node-cron": "^3.0.11",
72
72
  "@types/semver": "^7.7.0",
73
73
  "@types/ws": "^8.18.1",
74
- "@typescript-eslint/eslint-plugin": "8.33.0",
75
- "@typescript-eslint/parser": "8.33.0",
76
- "@vitest/coverage-v8": "^3.1.4",
74
+ "@typescript-eslint/eslint-plugin": "8.38.0",
75
+ "@typescript-eslint/parser": "8.38.0",
76
+ "@vitest/coverage-v8": "^3.2.4",
77
77
  "dayjs": "^1.11.13",
78
- "dotenv": "^16.5.0",
79
- "eslint": "9.28.0",
80
- "eslint-config-prettier": "10.1.5",
81
- "eslint-plugin-import": "^2.31.0",
78
+ "dotenv": "^17.2.1",
79
+ "eslint": "9.32.0",
80
+ "eslint-config-prettier": "10.1.8",
81
+ "eslint-plugin-import": "^2.32.0",
82
82
  "eslint-plugin-jsonc": "^2.20.1",
83
83
  "eslint-plugin-no-unsanitized": "^4.1.2",
84
- "eslint-plugin-prettier": "^5.4.1",
84
+ "eslint-plugin-prettier": "^5.5.3",
85
85
  "eslint-plugin-security": "^3.0.1",
86
86
  "eslint-plugin-simple-import-sort": "^12.1.1",
87
- "eslint-plugin-sonarjs": "^3.0.2",
87
+ "eslint-plugin-sonarjs": "^3.0.4",
88
88
  "eslint-plugin-sort-keys-fix": "^1.1.2",
89
- "eslint-plugin-unicorn": "^59.0.1",
90
- "node-cron": "^4.1.0",
91
- "prettier": "^3.5.3",
89
+ "eslint-plugin-unicorn": "^60.0.0",
90
+ "node-cron": "^4.2.1",
91
+ "prettier": "^3.6.2",
92
92
  "semver": "^7.7.2",
93
- "tsx": "^4.19.4",
93
+ "tsx": "^4.20.3",
94
94
  "typescript": "^5.8.3",
95
95
  "uuid": "^11.1.0",
96
- "vitest": "^3.1.4",
97
- "ws": "^8.18.2"
96
+ "vitest": "^3.2.4",
97
+ "ws": "^8.18.3"
98
98
  },
99
99
  "peerDependencies": {
100
100
  "@digital-alchemy/core": "^25.5.1"
@@ -104,7 +104,7 @@
104
104
  "semver": "^7.7.2",
105
105
  "type-fest": "^4.41.0",
106
106
  "uuid": "^11.1.0",
107
- "ws": "^8.18.2"
107
+ "ws": "^8.18.3"
108
108
  },
109
- "packageManager": "yarn@4.9.1"
109
+ "packageManager": "yarn@4.9.2"
110
110
  }
@@ -21,6 +21,13 @@ declare module "../user.mts" {
21
21
  "27b4fc99f35bbdd1a07173caff5b52f86e3bc342db96f48427e47980b0fb6b49": "switch.living_room_mood_lights";
22
22
  "8eb8c1f8c760e97cfa49a0a29cd6891313a1e9a45dd046a556a9f317778cf50a": "switch.porch_light";
23
23
  "05ecbbc6111791b6baacbbb60397db14": "calendar.united_states_tx";
24
+ date_example_unique_id: "date.example";
25
+ datetime_example_unique_id: "datetime.example";
26
+ lock_example_unique_id: "lock.example";
27
+ number_example_unique_id: "number.example";
28
+ select_example_unique_id: "select.example";
29
+ text_example_unique_id: "text.example";
30
+ time_example_unique_id: "time.example";
24
31
  }
25
32
 
26
33
  export interface HassZoneMapping {
@@ -32,9 +39,14 @@ declare module "../user.mts" {
32
39
  binary_sensor: "binary_sensor.hass_e2e_online" | "binary_sensor.toggles";
33
40
  button: "button.example";
34
41
  calendar: "calendar.united_states_tx";
42
+ date: "date.example";
43
+ datetime: "datetime.example";
35
44
  light: "light.bedroom_ceiling_fan";
45
+ lock: "lock.example";
46
+ number: "number.example";
36
47
  person: "person.digital_alchemy";
37
48
  scene: "scene.games_room_auto";
49
+ select: "select.example";
38
50
  sensor:
39
51
  | "sensor.magic"
40
52
  | "sensor.sun_next_dawn"
@@ -49,6 +61,8 @@ declare module "../user.mts" {
49
61
  | "switch.kitchen_cabinets"
50
62
  | "switch.living_room_mood_lights"
51
63
  | "switch.porch_light";
64
+ text: "text.example";
65
+ time: "time.example";
52
66
  todo: "todo.shopping_list";
53
67
  tts: "tts.google_en_com";
54
68
  zone: "zone.home";
@@ -7,6 +7,73 @@ declare module "../user.mts" {
7
7
  entity_id: "button.example";
8
8
  attributes: { friendly_name: "Example button" };
9
9
  };
10
+ "date.example": {
11
+ state: "2024-01-15";
12
+ entity_id: "date.example";
13
+ attributes: {
14
+ friendly_name: "Example date";
15
+ icon: "mdi:calendar";
16
+ };
17
+ };
18
+ "datetime.example": {
19
+ state: "2024-01-15T14:30:00";
20
+ entity_id: "datetime.example";
21
+ attributes: {
22
+ friendly_name: "Example datetime";
23
+ icon: "mdi:calendar-clock";
24
+ };
25
+ };
26
+ "lock.example": {
27
+ state: "locked";
28
+ entity_id: "lock.example";
29
+ attributes: {
30
+ friendly_name: "Example lock";
31
+ icon: "mdi:lock";
32
+ supported_features: 3;
33
+ };
34
+ };
35
+ "number.example": {
36
+ state: "25.5";
37
+ entity_id: "number.example";
38
+ attributes: {
39
+ friendly_name: "Example number";
40
+ icon: "mdi:numeric";
41
+ min: 0;
42
+ max: 100;
43
+ step: 0.5;
44
+ mode: "slider";
45
+ unit_of_measurement: "°C";
46
+ };
47
+ };
48
+ "select.example": {
49
+ state: "option1";
50
+ entity_id: "select.example";
51
+ attributes: {
52
+ friendly_name: "Example select";
53
+ icon: "mdi:format-list-bulleted";
54
+ options: ["option1", "option2", "option3"];
55
+ };
56
+ };
57
+ "text.example": {
58
+ state: "Hello World";
59
+ entity_id: "text.example";
60
+ attributes: {
61
+ friendly_name: "Example text";
62
+ icon: "mdi:text";
63
+ max: 100;
64
+ min: 0;
65
+ mode: "text";
66
+ pattern: null;
67
+ };
68
+ };
69
+ "time.example": {
70
+ state: "14:30:00";
71
+ entity_id: "time.example";
72
+ attributes: {
73
+ friendly_name: "Example time";
74
+ icon: "mdi:clock";
75
+ };
76
+ };
10
77
  "binary_sensor.hass_e2e_online": {
11
78
  attributes: {
12
79
  friendly_name: "hass_e2e online";
@@ -99,7 +99,7 @@ describe("Workflows", () => {
99
99
  });
100
100
  });
101
101
 
102
- describe("Timers", () => {
102
+ describe.skip("Timers", () => {
103
103
  beforeEach(() => {
104
104
  vi.useFakeTimers();
105
105
  });