diff --git a/README.md b/README.md index fdba969..d806bf2 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Welcome to `@digital-alchemy/automation`! This project builds on the utilities provided by `@digital-alchemy/hass` & `@digital-alchemy/synapse` to create home automation focused utilities for easily coordinating entities. -- [Extended docs](https://docs.digital-alchemy.app/Automation) +- [Extended docs](https://docs.digital-alchemy.app) - [Discord](https://discord.gg/JkZ35Gv97Y) ## 💾 Install @@ -12,6 +12,7 @@ This project builds on the utilities provided by `@digital-alchemy/hass` & `@dig You can install the custom component through HACS. See the repo for more detailed install instructions of the component: https://github.com/Digital-Alchemy-TS/synapse-extension This library can be installed as a simple dependency + ```bash npm i @digital-alchemy/automation @digital-alchemy/synapse @digital-alchemy/hass ``` @@ -22,10 +23,11 @@ Then added to your project import { LIB_AUTOMATION } from "@digital-alchemy/automation"; import { LIB_HASS } from "@digital-alchemy/hass"; import { LIB_SYNAPSE } from "@digital-alchemy/synapse"; +import { LIB_FASTIFY } from "@digital-alchemy/fastify-extension"; // application const MY_APP = CreateApplication({ - libraries: [LIB_HASS, LIB_SYNAPSE, LIB_AUTOMATION], + libraries: [LIB_HASS, LIB_SYNAPSE, LIB_AUTOMATION, LIB_FASTIFY], name: "home_automation", }) @@ -37,9 +39,11 @@ export const MY_LIBRARY = CreateLibrary({ ``` ## 🛠️ Utilities + ### 🏠 Rooms w/ coordinated scenes Create rooms, with the ability to coordinate sets of entities together in scenes. + ```typescript import { CronExpression, TServiceParams } from "@digital-alchemy/core"; diff --git a/package-lock.json b/package-lock.json index c9ac872..bb7646b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,17 +1,17 @@ { "name": "@digital-alchemy/automation", - "version": "0.3.9", + "version": "0.3.10", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@digital-alchemy/automation", - "version": "0.3.9", + "version": "0.3.10", "license": "MIT", "dependencies": { - "@digital-alchemy/core": "^0.3.17", - "@digital-alchemy/hass": "^0.3.31", - "@digital-alchemy/synapse": "^0.3.8", + "@digital-alchemy/core": "^24.6.1", + "@digital-alchemy/hass": "^24.6.2", + "@digital-alchemy/synapse": "^24.6.1", "dayjs": "^1.11.10", "prom-client": "^15.1.1" }, @@ -1170,9 +1170,9 @@ } }, "node_modules/@digital-alchemy/core": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@digital-alchemy/core/-/core-0.3.17.tgz", - "integrity": "sha512-GjWigpJ5v8I78jn+w6GFGeH4KrBblBW1PZ2FBj96KKCPTc+ipPFWLkTeyHXD/61xesgGfVNfD8xHnU4WqQfHJg==", + "version": "24.6.1", + "resolved": "https://registry.npmjs.org/@digital-alchemy/core/-/core-24.6.1.tgz", + "integrity": "sha512-Lb2A5UmFBZb/13dViJiBrLQ1pSq+uw4I+ftlKyIyjTBO41SCLLNyg9iUWEzW+ioTPllE8o8c4O74ZBSpqtBcxg==", "dependencies": { "chalk": "^5.3.0", "dayjs": "^1.11.10", @@ -1191,28 +1191,28 @@ } }, "node_modules/@digital-alchemy/fastify-extension": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@digital-alchemy/fastify-extension/-/fastify-extension-0.3.3.tgz", - "integrity": "sha512-aVw+TIAPnYqmsmyDz4P2hk2pGUWW+UUisj6JlWuOf10Y5QWO+sJXnjuf4JJrnpDIXU5N6otrhXbRVW24QMvuMg==", + "version": "24.6.1", + "resolved": "https://registry.npmjs.org/@digital-alchemy/fastify-extension/-/fastify-extension-24.6.1.tgz", + "integrity": "sha512-FkKezM3jZWS1nFdhGE33zo/4Jle6cXS3bW8k3JvhUnwfO/KWUo1cTOJcderlLyXa0Wyf4Qnr3mmMI+HG3+eWAw==", "dependencies": { - "@digital-alchemy/core": "^0.3.8", + "@digital-alchemy/core": "^24.6.1", "@fastify/auth": "^4.6.1", "@fastify/basic-auth": "^5.1.1", "@fastify/jwt": "^8.0.0", "dayjs": "^1.11.10", "fastify": "^4.26.2", - "prom-client": "^15.1.0" + "prom-client": "^15.1.1" }, "engines": { "node": ">=20" } }, "node_modules/@digital-alchemy/hass": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@digital-alchemy/hass/-/hass-0.3.31.tgz", - "integrity": "sha512-vRTiFTAUeuHrYucK0OIu4onYGuYLoMj70kZPFDjRbWxsXhZA2jf++8X99ULnkd8e+JEj12kyRg3f4dTVDBF6Jw==", + "version": "24.6.2", + "resolved": "https://registry.npmjs.org/@digital-alchemy/hass/-/hass-24.6.2.tgz", + "integrity": "sha512-meT5mNiZpWa87ezh7M/3W7kgxrnSctyeJDrcpCe25ZeJlmqRimcSGoOyr+CYuuiG2g8MhIhPVqxaw2Yt9jwY1A==", "dependencies": { - "@digital-alchemy/core": "^0.3.15", + "@digital-alchemy/core": "^24.6.1", "dayjs": "^1.11.11", "prom-client": "^15.1.2", "ws": "^8.17.0" @@ -1225,13 +1225,13 @@ } }, "node_modules/@digital-alchemy/synapse": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@digital-alchemy/synapse/-/synapse-0.3.8.tgz", - "integrity": "sha512-J6W6AE/Nyxlk5lzEtx2DXg5WEkN0qjaUf6bJcVhb956cx2O8KADBjhJ4ZkBKUWk1WUdlql1Klb4iam1qbEDEHg==", + "version": "24.6.1", + "resolved": "https://registry.npmjs.org/@digital-alchemy/synapse/-/synapse-24.6.1.tgz", + "integrity": "sha512-za1oR2S1uHAiU2XDyRHujndwnHYd/kJvb9UIO9i8C+FRvzvB0tscLkfLCZzQVHrx12IIS9jB+1iEHqZMEnKJ7w==", "dependencies": { - "@digital-alchemy/core": "^0.3.17", - "@digital-alchemy/fastify-extension": "^0.3.3", - "@digital-alchemy/hass": "^0.3.31", + "@digital-alchemy/core": "^24.6.1", + "@digital-alchemy/fastify-extension": "^24.6.1", + "@digital-alchemy/hass": "^24.6.2", "bonjour": "^3.5.0", "dayjs": "^1.11.11" }, @@ -1696,9 +1696,9 @@ } }, "node_modules/@fastify/ajv-compiler/node_modules/ajv": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.14.0.tgz", - "integrity": "sha512-oYs1UUtO97ZO2lJ4bwnWeQW8/zvOIQLGKcvPTsWmvc2SYgBb+upuNS5NxoLaMU4h8Ju3Nbj6Cq8mD2LQoqVKFA==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", "dependencies": { "fast-deep-equal": "^3.1.3", "json-schema-traverse": "^1.0.0", @@ -3563,9 +3563,9 @@ } }, "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.14.0.tgz", - "integrity": "sha512-oYs1UUtO97ZO2lJ4bwnWeQW8/zvOIQLGKcvPTsWmvc2SYgBb+upuNS5NxoLaMU4h8Ju3Nbj6Cq8mD2LQoqVKFA==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", "dependencies": { "fast-deep-equal": "^3.1.3", "json-schema-traverse": "^1.0.0", @@ -6272,9 +6272,9 @@ } }, "node_modules/fast-json-stringify/node_modules/ajv": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.14.0.tgz", - "integrity": "sha512-oYs1UUtO97ZO2lJ4bwnWeQW8/zvOIQLGKcvPTsWmvc2SYgBb+upuNS5NxoLaMU4h8Ju3Nbj6Cq8mD2LQoqVKFA==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", "dependencies": { "fast-deep-equal": "^3.1.3", "json-schema-traverse": "^1.0.0", @@ -6350,9 +6350,9 @@ } }, "node_modules/fast-uri": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-2.3.0.tgz", - "integrity": "sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-2.4.0.tgz", + "integrity": "sha512-ypuAmmMKInk5q7XcepxlnUWDLWv4GFtaJqAzWKqn62IpQ3pejtr5dTVbt3vwqVaMKmkNR55sTT+CqUKIaT21BA==" }, "node_modules/fastfall": { "version": "1.5.1", @@ -10826,9 +10826,9 @@ } }, "node_modules/pino": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-9.1.0.tgz", - "integrity": "sha512-qUcgfrlyOtjwhNLdbhoL7NR4NkHjzykAPw0V2QLFbvu/zss29h4NkRnibyFzBrNCbzCOY3WZ9hhKSwfOkNggYA==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-9.2.0.tgz", + "integrity": "sha512-g3/hpwfujK5a4oVbaefoJxezLzsDgLcNJeITvC6yrfwYeT9la+edCK42j5QpEQSQCZgTKapXvnQIdgZwvRaZug==", "dependencies": { "atomic-sleep": "^1.0.0", "fast-redact": "^3.1.1", @@ -11710,9 +11710,9 @@ } }, "node_modules/rfdc": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", - "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==" }, "node_modules/rimraf": { "version": "3.0.2", diff --git a/package.json b/package.json index 3ca60be..f24bf03 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "@digital-alchemy/automation", "repository": "https://github.com/Digital-Alchemy-TS/automation", "homepage": "https://docs.digital-alchemy.app/Automation", - "version": "0.3.10", + "version": "24.06.1", "scripts": { "build": "rm -rf dist/; tsc", "lint": "eslint src", @@ -25,9 +25,9 @@ }, "license": "MIT", "dependencies": { - "@digital-alchemy/core": "^0.3.17", - "@digital-alchemy/hass": "^0.3.31", - "@digital-alchemy/synapse": "^0.3.8", + "@digital-alchemy/core": "^24.6.1", + "@digital-alchemy/hass": "^24.6.2", + "@digital-alchemy/synapse": "^24.6.1", "dayjs": "^1.11.10", "prom-client": "^15.1.1" },