248 Commits

Author SHA1 Message Date
Christoph Giesche
935c0755ba Merge pull request #380 from VidFerris/master
Add media player play/pause/stop icons
2026-01-07 21:27:32 +01:00
VidFerris
e01fb38150 Add media player play/pause/stop icons
Adds a display configuration for media_player devices with play/pause based on current state.
2025-12-26 10:28:19 +10:00
Christoph Giesche
d0269d83d3 Updated tests. 2025-07-28 10:01:27 +02:00
Christoph Giesche
0da4eb5516 Fixed settings version (to current). 2025-07-28 09:37:34 +02:00
Christoph Giesche
25328029f9 "Blind" fix for possible duplicate domain prefixes in entity-ids. 2025-07-28 09:03:43 +02:00
Christoph Giesche
b4382da990 Fixed formatting. 2025-07-28 09:02:25 +02:00
Christoph Giesche
62fcec5702 Update dependencies in package.json and package-lock.json
Bump versions of multiple production and development dependencies, including Vue, Vite plugin for Vue, eslint-plugin-vue, and more for compatibility and improvements.
2025-07-26 21:39:58 +02:00
Christoph Giesche
1ce10db3c6 - Encode SVG images for URLs using encodeURIComponent to ensure proper formatting.
- Update dependencies: brace-expansion to 1.1.12/2.0.2, image-size to 1.2.1, and vite to 5.4.19 in `package-lock.json`.
2025-07-26 21:25:44 +02:00
Christoph Giesche
7daa58d411 Added rounding to two decimal places as default for numeric values. 2025-07-08 11:40:19 +02:00
Christoph Giesche
7c98726860 Fixed assignment. 2025-06-17 15:37:06 +02:00
Christoph Giesche
4c32bd3b2a Updated dependency: axios 2025-06-17 15:36:47 +02:00
Christoph Giesche
ce0900271b Fixed linting issues 2025-06-17 14:47:53 +02:00
Christoph Giesche
84e633fb80 Added basic fan config to display config. 2025-06-17 14:32:10 +02:00
Christoph Giesche
66f9ac4b13 Refactor Home Assistant connection logic for better validation
Ensure `serverUrl` and `accessToken` are present before attempting to connect to Home Assistant. Updated `GlobalSettings` model to make these properties optional and added logging for missing configuration.
3.6.4
2025-04-21 19:09:40 +02:00
Christoph Giesche
7d7af11fbd added support for robot mowers 2025-04-21 19:08:16 +02:00
Christoph Giesche
e75c04dde6 Merge pull request #344 from tlusk/bugfix/fix-custom-display-configuration
Fix the use of custom display configuration files
2025-03-26 09:18:02 +01:00
Timothy Lusk
35c314e362 Fix the use of custom display configuration files
Axios when running within Node.js doesn't support the file:// protocol.
This changes it so that it explicitly uses Node.js's `fs` package to
load local files if `file://` is detected in the URI.

This also fixes the fact that the custom display configuration was not
being loaded on save, only on startup of the plugin.

It also fixes it so that if you remove a custom display configuration it
will fall back to the default configuration without needing to restart
the plugin.

This fixes #342
2025-03-13 20:20:20 -04:00
Christoph Giesche
c91adb3106 removed test and lint from release 3.6.3 2025-03-12 21:05:59 +01:00
Christoph Giesche
3e4c53f075 Formatted manifest.json with prettier... again. 3.6.2 2025-03-12 20:57:21 +01:00
Christoph Giesche
02c6ee2a71 Formatted manifest.json 3.6.1 2025-03-12 20:30:36 +01:00
Christoph Giesche
4501c8dc2d Merge pull request #336 from tlusk/feature-streamdeck-sdk
Migrate to the Stream Deck SDK and HomeAssistant WebSocket Client
3.6.0
2025-03-04 00:12:35 +01:00
Timothy Lusk
e7675fe024 Fix an issue with states not updating after resuming from sleep
I just started seeing some issues where the Home Assistant connection
dies and doesn't reconnect automatically when resuming from sleep until
you do anything to cause the connection to attempt to communicate. At
that point, it will discover that the connection is dead and automatically
restart it.

I think this issue might have started for me with the Windows 24H2
upgrade, as I did that a few days ago. With that said, this commit
implements a couple of fixes for the issue.

First, we implement the "onSystemDidWakeUp" callback to reconnect the
Home Assistant connection when the system wakes up. This is the
officially recommended way to handle this according to the SDK
documentation. Unfortunately, from my testing, this callback doesn't
actually seem to be called when my PC wakes up from sleep, so it didn't
fix the issue. Maybe it's a bug in the SDK that will be fixed, so I'm
going to leave the callback in there for the time being.

The second fix in this commit is to add a heartbeat to the Home
Assistant server, which calls the ping/pong websocket command. This will
ping the server every 5 seconds after the last event was received. In
the event that the connection drops, this should be enough to cause the
internal reconnect logic to realize the connection is down and recreate
it.
2025-02-23 15:04:29 -05:00
Timothy Lusk
83e7a154f2 Introduce vitest unit tests into the project 2025-02-22 02:30:18 -05:00
Timothy Lusk
f78a71e91d Only subscribe to updates for entities we're interested in
This uses a filter argument to the websocket subscription function to
only subscribe to entities that are currently being displayed on the
device screen.

The Home Assistant API for this is not currently implemented in the
client library so we needed to patch the library slightly.

For more details about this API see:
https://github.com/home-assistant/home-assistant-js-websocket/issues/511
2025-02-19 20:55:17 -05:00
Timothy Lusk
f81268e98b Add a small patch for svgdom to resolve the warnings from rollup 2025-02-19 20:55:17 -05:00
Timothy Lusk
4c203c21b9 Migrate to the Stream Deck SDK and HomeAssistant WebSocket Client 2025-02-19 20:55:17 -05:00
Christoph Giesche
aebd51ffb1 Merge pull request #331 from cgiesche/cgiesche-patch-2
Update README.md
2025-01-20 21:57:52 +01:00
Christoph Giesche
af508d4216 Update README.md 2025-01-20 21:56:36 +01:00
Christoph Giesche
d26f38ee79 Merge pull request #325 from tlusk/feature-typescript
Migrate codebase to TypeScript
2025-01-19 22:59:33 +01:00
Christoph Giesche
87c9edcb15 Aktualisieren von README.md 2025-01-18 15:48:26 +01:00
Timothy Lusk
bba9424263 Migrate codebase to TypeScript 2025-01-12 20:20:08 -05:00
Christoph Giesche
334e13ea46 Merge pull request #324 from tlusk/bump-dev-dependency-versions
Update all development dependencies and run project linting
2025-01-06 16:04:11 +01:00
Timothy Lusk
edafad6627 Run prettier on all files in project
It looks like the files in this project haven't consistantly been run
through prettier. This gets them back in sync with the prettier
configuration.

We should setup a pre-commit hook that runs prettier so they don't get
out of sync again.
2025-01-05 20:26:21 -05:00
Timothy Lusk
679bdef4ef Update dev dependencies to latest versions 2025-01-05 20:22:02 -05:00
Christoph Giesche
ec0fe46475 Merge pull request #314 from cgiesche/streamdeck-homeassistant-297
streamdeck-homeassistant-297 [Task] Disable caching on axios requests.
2024-11-12 23:36:59 +01:00
Christoph Giesche
39a3b586f5 Merge pull request #313 from cgiesche/add-elgato-devtools
Added elgato CLI for packing and validation
3.7.0 3.5.4
2024-11-12 23:19:08 +01:00
Christoph Giesche
d34ea5db7b Merge pull request #312 from cgiesche/add-elgato-devtools
Added elgato CLI for packing and validation
3.5.3
2024-11-12 23:14:25 +01:00
Christoph Giesche
9eed71cb5e streamdeck-homeassistant-297 [Task] Disable caching on axios requests.
Removed default state for binary states.
2024-11-12 22:35:41 +01:00
Christoph Giesche
389ee4d740 Added elgato CLI for packing and validation 2024-11-12 22:17:09 +01:00
Christoph Giesche
677ed6e232 Added elgato CLI for packing and validation 2024-11-12 22:12:51 +01:00
Christoph Giesche
8fc3c7361c Added elgato CLI for packing and validation 2024-11-12 21:56:19 +01:00
Christoph Giesche
ca0acc8a02 Merge pull request #296 from cgiesche/streamdeck-homeassistant-295
Fixed #295: lights without brightness info not working
2024-09-10 12:45:45 +02:00
Christoph Giesche
9e59c145e7 Fixed #295: Set default brightness to 255 if state attributes do not contain brightness. 2024-09-10 12:43:46 +02:00
Christoph Giesche
18746b270a Merge pull request #293 from cgiesche/feature/254_Improve_display_image_rendering
Fixed accidential removed feature :D
3.5.2
2024-09-08 17:40:28 +02:00
Christoph Giesche
f12c4e599a Fixed accidential removed feature :D 2024-09-08 17:37:23 +02:00
Christoph Giesche
23327bf638 Merge pull request #291 from cgiesche/feature/254_Improve_display_image_rendering
Feature/254 improve display image rendering
3.5.1
2024-09-08 16:46:52 +02:00
Christoph Giesche
b0a5c5976c Fixed #260: added icon for doors 2024-09-08 16:43:41 +02:00
Christoph Giesche
8dabc5e9b1 cleanup 2024-09-08 16:38:50 +02:00
Christoph Giesche
16d22fbb7f Made encoder layout the default. 2024-09-08 16:37:26 +02:00
Christoph Giesche
656b21207d Safe point :) 2024-09-08 13:36:08 +02:00