Fabio Manganiello
48756e6287
[Automatic] Updated components cache
continuous-integration/drone/push Build is passing
Details
2024-02-05 01:19:21 +00:00
Fabio Manganiello
2b595623b3
[ #348 ] Converted `gps` backend into a plugin.
...
continuous-integration/drone/push Build is passing
Details
Closes : #348
2024-02-05 02:16:02 +01:00
Fabio Manganiello
8351463a11
[Automatic] Updated components cache
continuous-integration/drone/push Build is passing
Details
2024-02-03 21:11:01 +00:00
Fabio Manganiello
c8944feca4
[ #348 ] Merge + refactor for the `mail` backend/plugin ( #362 )
...
continuous-integration/drone/push Build is passing
Details
Closes : #348
Reviewed-on: #362
2024-02-03 22:09:40 +01:00
Fabio Manganiello
5badc935ac
[Automatic] Updated components cache
continuous-integration/drone/push Build is passing
Details
2024-02-03 21:08:07 +00:00
Fabio Manganiello
7d362cae1a
FIX: Redis pub/sub error can also raise a `ValueError` on close.
continuous-integration/drone/push Build is passing
Details
2024-02-03 22:06:36 +01:00
Fabio Manganiello
39d5c48088
[Automatic] Updated components cache
continuous-integration/drone/push Build is passing
Details
2024-01-19 20:59:26 +00:00
Fabio Manganiello
746423a113
[ #356 ] Merged `adafruit.io` plugin and backend.
2024-01-19 20:58:35 +00:00
Fabio Manganiello
f21a1dd8e6
[Automatic] Updated components cache
continuous-integration/drone/push Build is passing
Details
2024-01-19 02:15:39 +00:00
Fabio Manganiello
eb47f9ded0
[ #351 ] Merged `google.pubsub` plugin and backend.
...
Closes : #351
2024-01-19 02:14:49 +00:00
Fabio Manganiello
2e9cb44caf
[Automatic] Updated components cache
continuous-integration/drone/push Build is passing
Details
2024-01-19 00:50:24 +00:00
Fabio Manganiello
1323156838
Fixed `google.credentials` script order of arguments in the docstring.
continuous-integration/drone/push Build is passing
Details
2024-01-19 01:48:33 +01:00
Fabio Manganiello
aceb9b940a
[Automatic] Updated components cache
continuous-integration/drone/push Build is passing
Details
2024-01-18 23:32:23 +00:00
Fabio Manganiello
6775208b2e
Fixed minor docstring typo.
2024-01-18 23:31:27 +00:00
Fabio Manganiello
f9bd5b3abc
[ #350 ] Merge `google.fit` backend and plugin.
...
Closes : #350 .
2024-01-18 23:31:27 +00:00
Fabio Manganiello
e3c04d9316
Fixed bullet points indentation in Google plugins docstrings.
2024-01-18 23:31:27 +00:00
Fabio Manganiello
e022712b7b
[Google] Updated authorization flow for Google plugins.
...
The new authorization flow also requires the user to input a code
returned on the browser's authorization page.
Since the Google authentication libraries seem to use a simple `input()`
to read this code, things are likely to fail quite badly if Platypush is
run in non-interactive mode - e.g. through a systemd service or in a
Docker container.
Thus we need to go with Google's automatic flow only if `DISPLAY` or
`BROWSER` are set (thus the interactive flow can proceed), and throw an
`AssertionError` with the command to execute if no display/browser are
detected.
2024-01-18 23:31:27 +00:00
Fabio Manganiello
31de917631
[Google] Updated documentation of Google plugins.
...
Expanded explanation of the desktop vs. headless authentication process
and where the credential files are supposed to be copied if the user
opts for a non-automatic authentication flow.
2024-01-18 23:31:27 +00:00
Fabio Manganiello
dec2a54740
[Automatic] Updated components cache
continuous-integration/drone/push Build is passing
Details
2024-01-18 23:29:13 +00:00
Fabio Manganiello
998b7be7b8
[media.vlc] Always add `--play-and-exit` to args.
...
continuous-integration/drone/push Build is passing
Details
Without this option VLC seems to hang in the background, and it may
cause PulseAudio failures or memory issues after several videos have
been played - each in its own session.
2024-01-18 21:21:15 +01:00
Fabio Manganiello
a47f9f1852
[Automatic] Updated components cache
continuous-integration/drone/push Build is passing
Details
2024-01-18 01:29:46 +00:00
Fabio Manganiello
95c15f3f5f
[ #347 ] Merge `kafka` backend and plugin.
...
Closes : #347
2024-01-18 01:28:56 +00:00
Fabio Manganiello
a596ed80a2
[Automatic] Updated components cache
continuous-integration/drone/push Build is passing
Details
2024-01-17 23:27:34 +00:00
Fabio Manganiello
1c5956c38b
Fixed some docstring warnings.
continuous-integration/drone/push Build was killed
Details
2024-01-18 00:26:22 +01:00
Fabio Manganiello
85db77bb7b
[ #298 ] Merged `nextcloud` backend and plugin.
...
Closes : #298
2024-01-18 00:26:22 +01:00
Fabio Manganiello
dd5bc7639b
Added `disable_monitor` flag to `RunnablePlugin`.
...
This is useful when users want to use a runnable plugin in a stateless
way. In some cases (for example systems with high latency or limited
quotas for API calls) the user may want to leverage the actions of a
plugin, but without running monitoring/polling logic nor generating
events.
2024-01-18 00:26:22 +01:00
Fabio Manganiello
fb91be7628
[Automatic] Updated components cache
continuous-integration/drone/push Build is passing
Details
2024-01-15 23:56:02 +00:00
Fabio Manganiello
e9d91471ce
[media.mplayer] Plugin rewrite.
...
continuous-integration/drone/push Build is passing
Details
Too many things were falling apart, and many others of MPlayer's "API
smells" had never been addressed.
The plugin has now largely been rewritten, and some workarounds (like
accessory monitoring processes) have been added to deal with the fact
that events like end-of-file aren't published by the player, and some
polling is required.
2024-01-16 00:41:01 +01:00
Fabio Manganiello
ca25b3a4e6
[Automatic] Updated components cache
continuous-integration/drone/push Build is passing
Details
2024-01-15 23:39:51 +00:00
Fabio Manganiello
3598253558
Reduced Docker images to a single layer.
continuous-integration/drone/push Build is passing
Details
2024-01-15 21:54:22 +01:00
Fabio Manganiello
bf1b8aaf70
Delete pubsub closure to `_pubsub_close()`.
...
The Redis channel may be closed, and in that case we need to handle the
exception instead of throwing it - which causes the upstream Tornado
worker to fail too.
2024-01-14 21:27:08 +01:00
Fabio Manganiello
6fe1ed44ad
[media] Fixed base interface of `media.seek` and `media.set_position`.
2024-01-13 22:39:33 +01:00
Fabio Manganiello
cf314f2615
[mpv] Refactored plugin.
...
I hadn't paid attention to this plugin in a while and the newest mpv API
has diverged so much that it was entirely incompatible with recent mpv
versions.
2024-01-13 22:36:42 +01:00
Fabio Manganiello
641a2fd135
Renamed parameter of `volup`/`voldown` for music plugins.
...
To be consistent with all other media plugins, the parameter name should
be `step`, not `delta`.
A back-compatibility layer has however been introduced for plugins
(namely `music.mpd` and `music.spotify`) that already exposed the old
interface.
2024-01-13 22:35:18 +01:00
Fabio Manganiello
f0dcb94862
[pushbullet] Fixed `on_error` callback on the listener.
...
The `Listener` class from the `pushbullet.py` library is a mess, and it
has two internal functions to handle errors.
2024-01-13 13:24:47 +01:00
Fabio Manganiello
18bba7e3bf
[Automatic] Updated UI files
continuous-integration/drone/push Build is passing
Details
2024-01-09 23:47:38 +00:00
Fabio Manganiello
9fa5989e21
[ #302 ] Merged `pushbullet` backend and plugin.
...
Also, added support for more granular Pushbullet events.
Closes : #302
2024-01-09 23:46:07 +00:00
Fabio Manganiello
4e1943d197
[Automatic] Updated components cache
continuous-integration/drone/push Build is passing
Details
2024-01-08 22:04:48 +00:00
Fabio Manganiello
4505c46071
[Sound] Don't override device index if it's already defined in the info.
continuous-integration/drone/push Build is passing
Details
2024-01-08 23:03:08 +01:00
Fabio Manganiello
314e1a98ef
Updated dist files
continuous-integration/drone/push Build is failing
Details
2024-01-08 22:35:57 +01:00
Fabio Manganiello
deaedf2462
[Media UI] Don't display the torrent menu entry if no torrent plugin is enabled.
continuous-integration/drone/push Build was killed
Details
2024-01-08 22:25:10 +01:00
Fabio Manganiello
5ef7313bdc
[Music UI] Use the `Playlist` component also for playlist editors.
2024-01-08 22:17:04 +01:00
Fabio Manganiello
e881fedc59
[Automatic] Updated UI files
continuous-integration/drone/push Build was killed
Details
2024-01-08 01:46:55 +00:00
Fabio Manganiello
3282588c6e
[Music UI] Many improvements to the interface.
continuous-integration/drone/push Build was killed
Details
2024-01-08 02:44:53 +01:00
Fabio Manganiello
80c2f0d8dd
[UI] Full restyle of `Slider` component.
...
The component has been rewritten using only CSS 3 and no JS.
2024-01-08 02:44:52 +01:00
Fabio Manganiello
b785609eda
[Music UI] New music nav logic.
...
Don't display the vertical nav on mobile by default - same logic as the
generic media nav.
2024-01-08 02:44:52 +01:00
Fabio Manganiello
f59a276e09
[Media UI] Set `overflow: auto` on the innermost grid div only.
...
If a parent object of the `grid` DOM element has `overflow: auto` as
well, then it will intercept the `@scroll` events, so `Results` won't be
able to render an infinite scroll.
2024-01-08 02:44:52 +01:00
Fabio Manganiello
9f6ac4acd1
[Automatic] Updated components cache
continuous-integration/drone/push Build is passing
Details
2024-01-06 23:53:33 +00:00
Fabio Manganiello
3d2ee5d6bb
Replaced some new typing `|` notations with `Union`.
...
continuous-integration/drone/push Build is passing
Details
The `|` notation breaks on Python < 3.10.
2024-01-07 00:52:24 +01:00
Fabio Manganiello
1cd328ef44
[Automatic] Updated components cache
continuous-integration/drone/push Build is passing
Details
2024-01-06 23:32:55 +00:00
Fabio Manganiello
c64c28f7a8
(Re)-added `backend/sensor/__init__.py` file.
...
continuous-integration/drone/push Build is passing
Details
If the empty file is missing then any remaining backends under that
package won't be indexed.
2024-01-07 00:31:45 +01:00
Fabio Manganiello
f9e5117145
[Automatic] Updated components cache
continuous-integration/drone/push Build is passing
Details
2024-01-06 23:07:31 +00:00
Fabio Manganiello
f733c6318f
Moved optional import in constructor block.
continuous-integration/drone/push Build is passing
Details
2024-01-07 00:05:51 +01:00
Fabio Manganiello
e803807b8d
[Automatic] Updated components cache
continuous-integration/drone/push Build was killed
Details
2024-01-06 21:51:43 +00:00
Fabio Manganiello
edd92b8467
Fix: Ensure that components cache keys are ordered before dumping to file.
...
continuous-integration/drone/push Build is passing
Details
Reason: The CI/CD automation regenerates the cache file, and commits
the changes if it differs from the previous version.
The only way to ensure semantic equivalence is to sort the keys upon
dump.
2024-01-06 22:50:34 +01:00
Fabio Manganiello
0f130235d3
[Automatic] Updated components cache
continuous-integration/drone/push Build was killed
Details
2024-01-06 21:46:12 +00:00
Fabio Manganiello
4926f28f24
[Automatic] Updated components cache
continuous-integration/drone/push Build was killed
Details
2024-01-06 21:45:04 +00:00
Fabio Manganiello
cce04ef729
Updated components file
continuous-integration/drone/push Build is failing
Details
2024-01-06 22:41:25 +01:00
Fabio Manganiello
771ecd9a5b
Fixed typo in the package name of the Github manifest.
2024-01-06 22:41:24 +01:00
Fabio Manganiello
30bbc396fb
[Automatic] Updated UI files
continuous-integration/drone/push Build is failing
Details
2024-01-06 21:27:39 +00:00
Fabio Manganiello
6e1ab92298
New components cache management.
...
continuous-integration/drone/push Build is passing
Details
The cache is no longer generated at runtime when the application runs -
which may take quite a while, especially on fresh installations.
A `components.json.gz` file is instead generated by the CI/CD process on
every commit to the main branch, and distributed with the package.
The application will read this file when the `inspect` plugin is first
initialized.
This also means that we can no longer cache the `install_cmds`, as they
change depending on the target OS. A new
`application.get_install_commands` action has now been made available to
the UI, so it can get the correct installation commands at runtime.
2024-01-06 22:21:59 +01:00
Fabio Manganiello
ef885e096f
Added `inspect.get_pkg_managers` internal action.
...
It will be used by the UI to put together the installation commands.
2024-01-06 03:02:31 +01:00
snyk-bot
c6593cfa06
fix: platypush/backend/http/webapp/package.json & platypush/backend/http/webapp/package-lock.json to reduce vulnerabilities
...
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-AXIOS-6144788
2024-01-05 14:12:29 +00:00
Fabio Manganiello
e1b6be7673
Marshmallow has replaced `field.default` with `field.dump_default`.
continuous-integration/drone/push Build is passing
Details
2024-01-05 02:56:10 +01:00
Fabio Manganiello
8fd5009553
[foursquare] Proper cast to number for db variables which may be strings.
2024-01-05 02:56:10 +01:00
Fabio Manganiello
5167597ace
[Automatic] Updated UI files
continuous-integration/drone/push Build is passing
Details
2024-01-05 01:27:29 +00:00
Fabio Manganiello
afee6c5c85
[music UI] Implemented infinite scroll for playlist view.
...
continuous-integration/drone/push Build is passing
Details
Instead of loading all the tracks in the DOM (very inefficient and slow
on slow devices and/or with big playlists), we should keep a window of
100 items in the screen and roll it over the playlists as the status
change or the user scrolls.
2024-01-05 02:19:38 +01:00
Fabio Manganiello
91a8fd3b56
[system] A more robust logic to parse cache size from `cpuinfo`.
continuous-integration/drone/push Build is passing
Details
2024-01-04 13:55:08 +01:00
Fabio Manganiello
9c3da7a2a9
Several improvements for request/procedure execution.
...
continuous-integration/drone/push Build is passing
Details
- Fixed regression introduced by incorrect format string in `exec`.
- LINT for the `procedure` module.
- Apply `Message.Encoder` when dumping values from the context.
2024-01-04 13:13:16 +01:00
Fabio Manganiello
b72fb83d18
Merge branch '286/merge-foursquare-backend'
continuous-integration/drone/push Build is passing
Details
2024-01-01 23:00:55 +01:00
Fabio Manganiello
4aeff10a5d
[ #286 ] Merge Foursquare backend and plugin.
...
continuous-integration/drone/push Build is passing
Details
Closes : #286
2024-01-01 22:54:18 +01:00
Fabio Manganiello
efe46386f4
[Entities UI] Reverted `.extension-container` max-width.
continuous-integration/drone/push Build is passing
Details
2024-01-01 14:27:18 +01:00
Fabio Manganiello
b8f8236c28
[Automatic] Updated UI files
continuous-integration/drone/push Build is passing
Details
2024-01-01 13:24:56 +00:00
Fabio Manganiello
35772c0ae3
[Entities UI] Reverted `.extension-container` max-width.
2024-01-01 13:23:24 +00:00
Fabio Manganiello
3fbb0d289b
Fixed docstring
2024-01-01 13:23:24 +00:00
Fabio Manganiello
7f13e02803
Fixed docstring
2023-12-31 04:34:42 +01:00
Fabio Manganiello
1abf8c964a
Merge branch 'master' into 287/github-backend-migration
continuous-integration/drone/push Build is passing
Details
2023-12-30 16:29:51 +01:00
Fabio Manganiello
5eb09eab1a
[ #287 ] Migrated `github` from a backend to a runnable plugin.
...
Closes : #287
2023-12-30 15:28:16 +00:00
Fabio Manganiello
2701f69d17
[ #287 ] Migrated `github` from a backend to a runnable plugin.
...
Closes : #287
2023-12-30 16:28:12 +01:00
Fabio Manganiello
a2a07afc05
[UI] Better default scrollbar width on Webkit.
continuous-integration/drone/push Build is passing
Details
2023-12-30 13:41:45 +01:00
Fabio Manganiello
0fb1035331
[Automatic] Updated UI files
continuous-integration/drone/push Build is passing
Details
2023-12-30 12:38:57 +00:00
Fabio Manganiello
12a043d67e
[Automatic] Updated UI files
continuous-integration/drone/push Build is passing
Details
2023-12-30 03:39:44 +00:00
Fabio Manganiello
57737b1b72
[Entities UI] Don't disable/set loading=true on properties during initial refresh.
continuous-integration/drone/push Build is passing
Details
2023-12-30 04:42:51 +01:00
Fabio Manganiello
5bec01a389
[Automatic] Updated UI files
continuous-integration/drone/push Build is passing
Details
2023-12-29 23:04:08 +00:00
Fabio Manganiello
2c429e9003
[Music UI] Fixed alignment of buttons in the playlist header.
continuous-integration/drone/push Build is passing
Details
2023-12-30 00:06:56 +01:00
Fabio Manganiello
2575d6cbc5
[Extensions UI] Fix `hljs.highlight` call to match new API.
2023-12-30 00:04:31 +01:00
Fabio Manganiello
7e58044804
[Automatic] Updated UI files
continuous-integration/drone/push Build is passing
Details
2023-12-29 03:04:26 +00:00
Fabio Manganiello
171ed7f743
[Entities UI] Better refresh logic.
continuous-integration/drone/push Build is passing
Details
2023-12-29 03:45:17 +01:00
Fabio Manganiello
2546a582d2
[Automatic] Updated UI files
continuous-integration/drone/push Build is passing
Details
2023-12-25 12:44:31 +00:00
Fabio Manganiello
ce1e8513d4
[music UI] Several UI improvements
2023-12-25 12:43:00 +00:00
Fabio Manganiello
be54469df0
[music UI] Fixed search form.
2023-12-25 12:43:00 +00:00
Fabio Manganiello
0de322fb95
[assistant.google] Propagate plugin name as a string to events.
...
continuous-integration/drone/push Build is passing
Details
This also makes it easier to programmatically stop conversations on
`SpeechRecognizedEvent` with a matched phrase.
2023-12-21 00:28:27 +01:00
Fabio Manganiello
199b42584f
Updated reference configuration sample for `alarm`.
continuous-integration/drone/push Build is passing
Details
2023-12-18 14:05:35 +01:00
Fabio Manganiello
b107496fbd
[Automatic] Updated UI files
continuous-integration/drone/push Build was killed
Details
2023-12-18 12:56:41 +00:00
Fabio Manganiello
9cad27335d
[UI] Attribute sort.
continuous-integration/drone/push Build was killed
Details
2023-12-18 13:53:09 +01:00
Fabio Manganiello
cfc7a5a6a0
[alarm] Added `media_repeat` configuration.
continuous-integration/drone/push Build is failing
Details
2023-12-18 13:46:45 +01:00
Fabio Manganiello
52fd64a162
[alarm] Added `dismiss_interval` configuration.
2023-12-18 03:01:27 +01:00
Fabio Manganiello
250858fe99
[Alarm UI] Added snooze/dismiss modal when alarm is running.
2023-12-18 01:36:58 +01:00
Fabio Manganiello
aff02e0732
[alarm] Include `type='alarm'` in `Alarm.to_dict()`.
...
This is for compatibility with other backend/frontend components who
expect valid entities on events or responses, and hence may break if
`type` is not specified.
2023-12-18 01:13:46 +01:00
Fabio Manganiello
29f65371d8
[Alarm UI] Support for adding/removing alarms.
2023-12-18 00:12:16 +01:00
Fabio Manganiello
e617a9fe82
[alarm] Added `alarm.delete`.
2023-12-18 00:05:34 +01:00
Fabio Manganiello
b7423e1c34
Added `AlarmEditor` component.
2023-12-17 17:53:38 +01:00
Fabio Manganiello
430a111303
[alarm] Better default actions inference in `alarm.edit`.
2023-12-17 17:53:08 +01:00
Fabio Manganiello
b0feb8ed8f
[UI] Fixed regex match for initSelectedPanel.
2023-12-17 17:52:43 +01:00
Fabio Manganiello
9d456281a6
[Entities UI] Removed unrequired z-index on header.
2023-12-17 17:52:15 +01:00
Fabio Manganiello
5972c728a4
[Chore] Upgraded `hljs.highlight` API.
...
The old API, (lang, code, ...args), is now deprecated.
2023-12-16 23:49:25 +01:00
Fabio Manganiello
b916c98b70
[ProcedureEditor] Emit `input` upon action changes.
2023-12-16 23:29:57 +01:00
Fabio Manganiello
1bd2361a3d
[TimeInterval] Refresh value on `mounted`.
2023-12-16 23:27:22 +01:00
Fabio Manganiello
d4543c2fb7
Added `ProcedureEditor` component.
2023-12-16 19:03:46 +01:00
Fabio Manganiello
07a144aadc
[ActionTile] Support for drag and drop.
2023-12-16 19:00:04 +01:00
Fabio Manganiello
837007132d
[FloatingButton] Better default colors.
2023-12-16 18:59:30 +01:00
Fabio Manganiello
3bc27a505f
[UI] setUrlArgs should remove args when value == null.
2023-12-16 18:58:31 +01:00
Fabio Manganiello
065f7d74a5
[ActionTile] Better hover style.
2023-12-16 14:23:46 +01:00
Fabio Manganiello
63767cb87c
[UI] Added `ActionTile` component.
2023-12-16 14:14:34 +01:00
Fabio Manganiello
7fcffe899e
[ActionEditor] Support for action save/input events.
2023-12-16 14:13:11 +01:00
Fabio Manganiello
f9ba4564e7
[Tabs UI] Force height to `$tab-height`.
2023-12-16 14:12:30 +01:00
Fabio Manganiello
028f48ed49
[Autocomplete UI] Better handling of `blur` events.
2023-12-16 14:09:04 +01:00
Fabio Manganiello
1dfbe0c12d
Ability to specify a custom initial action for the `ActionEditor`.
2023-12-14 22:22:10 +01:00
Fabio Manganiello
8bbafd2f7d
Better logic on the UI to parse the current URL fragment arguments.
2023-12-13 21:56:34 +01:00
Fabio Manganiello
9beb10c373
Extracted `ActionEditor` from the `Execute` plugin.
...
So it can be reused in other components that need to handle actions.
2023-12-12 23:33:16 +01:00
Fabio Manganiello
4e85087c0f
Added `AlarmEditor` component to `Alarm`.
2023-12-12 22:52:11 +01:00
Fabio Manganiello
d4f6d174c8
Added `FileSelector` UI component.
2023-12-12 21:13:55 +01:00
Fabio Manganiello
bac06e9e7b
Added `TimeInterval` component.
2023-12-12 00:05:46 +01:00
Fabio Manganiello
6edb8c8318
[ #340 ] s/datetime.fromisoformat/dateutil.parser.isoparse/
...
We may receive JavaScript timestamps with non-standard `Z` suffix too.
2023-12-11 22:24:55 +01:00
Fabio Manganiello
6e7c5def2f
`CronEditor` should contain the raw cron expression and a copy button.
2023-12-11 22:18:57 +01:00
Fabio Manganiello
00694f4e10
`CopyButton` events should have a `.prevent` clause.
2023-12-11 22:18:17 +01:00
Fabio Manganiello
61ef48119f
Apply default input rules to `time` and `datetime-local` elements.
2023-12-11 22:17:47 +01:00
Fabio Manganiello
627bb66957
Added `CronEditor` component.
2023-12-11 00:25:24 +01:00
Fabio Manganiello
894faaad1e
[ #340 ] Force a refresh via `alarm.status` when `Alarm` view loads.
2023-12-10 21:53:19 +01:00
Fabio Manganiello
b4be56ec2c
[ #340 ] Added `condition_type` field to alarm objects.
2023-12-10 21:52:50 +01:00
Fabio Manganiello
e6e4396e49
Enhanced `get_default_media_plugin` to filter by video/audio plugins.
2023-12-10 21:50:53 +01:00
Fabio Manganiello
03c167d6b7
[ #340 ] Added `Alarm.is_cron` property.
2023-12-10 20:58:13 +01:00
Fabio Manganiello
2d8f6102c1
[ #340 ] Added `alarm.edit` action.
2023-12-10 20:39:06 +01:00
Fabio Manganiello
8ddd9879f2
[ #340 ] Alarm model enhancements.
...
- Allow initialization of alarm actions from `Procedure` objects too.
- Force `state=WAITING` when an alarm is disabled.
2023-12-10 17:56:47 +01:00
Fabio Manganiello
686085750f
[ #340 ] Added configuration snippet for the new `alarm` integration.
2023-12-10 15:45:36 +01:00
Fabio Manganiello
dfa0727289
[ #340 ] Added `alarm` UI panel.
2023-12-10 15:33:19 +01:00
Fabio Manganiello
62054e83cc
Remaining entity modal style rules moved from `Entities` to `EntityModal`.
2023-12-10 15:32:42 +01:00
Fabio Manganiello
42574d054a
[ #340 ] Ironed out some bugs in the `alarm` integration.
...
- The alarm ID should be randomly generated - auto-increment IDs are
subject to race conditions when alarms are created in separate
processes.
- Clean up alarms that are not static and have been removed from the db.
- Better alarm shut down detection logic.
2023-12-10 15:30:19 +01:00
Fabio Manganiello
ca57d3d7b3
[ #340 ] Initial implementation of the alarm entities UI.
2023-12-09 20:33:11 +01:00
Fabio Manganiello
f27e7bb7e2
[ #340 ] Better state management for alarms.
...
- Added `AlarmEnabledEvent` and `AlarmDisabledEvent`.
- Added `snooze_interval` configurable both at plugin level and alarm
level.
2023-12-09 17:12:20 +01:00
Fabio Manganiello
34e2a59285
Added optional `id` attribute to `ToggleSwitch`.
2023-12-09 16:12:08 +01:00
Fabio Manganiello
4b578c38c8
[ #340 ] Better state management for alarms.
2023-12-09 14:25:18 +01:00
Fabio Manganiello
9d5c755188
[ #340 ] Alarm integration improvements.
...
- Emit `EntityDeleteEvent` when an alarm is expired and removed so
clients can properly synchronize their state.
- `croniter.get_next()` should be timezone-aware.
2023-12-09 13:33:42 +01:00
Fabio Manganiello
fcb6b621ab
[ #340 ] Added persistence of alarm entities.
2023-12-09 01:25:12 +01:00
Fabio Manganiello
3ffaaa0eb9
Added `Procedure.to_dict` method.
...
Also, LINT+black for the `procedure` module.
2023-12-09 01:23:36 +01:00
Fabio Manganiello
a6d6fd4067
`Message` objects enhancements.
...
- Support smart JSON serialization of `Message` objects.
- Added `Message.to_dict` method.
2023-12-09 01:20:20 +01:00
Fabio Manganiello
5ad1a62293
[ #340 ] Merged `alarm` backend into the `alarm` plugin.
...
Closes : #340
2023-12-06 19:23:19 +01:00
Fabio Manganiello
2670d40094
Added `get_default_media_plugin` utility.
2023-12-06 01:31:05 +01:00
Fabio Manganiello
680de865c4
Minor docstring fix.
2023-12-04 03:09:02 +01:00
Fabio Manganiello
5823dd0e21
[ #292 ] Converted `backend.log.http` to a runnable plugin.
...
continuous-integration/drone/push Build is passing
Details
Closes : #292
2023-12-04 03:03:21 +01:00
Fabio Manganiello
1843ab224b
[ #289 ] Converted `backend.file.monitor` into a runnable plugin.
...
Closes : #289
2023-12-04 03:03:20 +01:00
Fabio Manganiello
d484a34c00
[Automatic] Updated UI files
continuous-integration/drone/push Build is passing
Details
2023-12-03 23:34:57 +00:00
Fabio Manganiello
d048752184
[ #301 ] Exposing hosts as entities in the `ping` plugin.
...
continuous-integration/drone/push Build was killed
Details
Closes : #301
2023-12-04 00:36:45 +01:00
Fabio Manganiello
3bb7c02572
[ #301 ] Merged `ping` backend and plugin.
...
Also, removed `ping` response types.
2023-11-24 02:06:53 +01:00
Fabio Manganiello
71ccffa698
[weather.buienradar] Implemented forecast support.
2023-11-23 01:35:58 +01:00
Fabio Manganiello
b969afb1cf
Added support for weather forecast events and entities.
2023-11-23 01:35:58 +01:00
Fabio Manganiello
841a28066b
Added support for generic kwargs to `publish_entities`.
2023-11-23 01:35:57 +01:00
Fabio Manganiello
ca7c89949b
Only react on `NewWeatherConditionEvent` if `plugin_name` is compatible.
2023-11-23 01:35:57 +01:00
Fabio Manganiello
aca71c6bc7
[wallabag] Improved OAuth flow integration.
...
continuous-integration/drone/push Build is passing
Details
If the user provided `username` and `password` in the plugin
configuration, then we should use those credentials to refresh the OAuth
token when expired.
2023-11-22 11:38:00 +01:00
Fabio Manganiello
7bb15b0a03
[Automatic] Updated UI files
continuous-integration/drone/push Build is passing
Details
2023-11-20 02:08:35 +00:00
Fabio Manganiello
a0d8c522a2
[ #308 ] Finalized `weather` integrations migration.
...
continuous-integration/drone/push Build was killed
Details
- Migrated `weather.buienradar` integration.
- Removed last leftovers of the previous weather backends and responses.
Closes : #308
2023-11-20 03:10:00 +01:00
Fabio Manganiello
2dac98c56e
More rst fixes.
2023-11-20 03:09:59 +01:00
Fabio Manganiello
a798cfa387
[Automatic] Updated UI files
continuous-integration/drone/push Build is passing
Details
2023-11-20 01:42:12 +00:00
Fabio Manganiello
80be79f5e8
Fixed link format.
continuous-integration/drone/push Build is failing
Details
2023-11-20 02:43:18 +01:00
Fabio Manganiello
bc8730d6f0
[ #308 ] Removed `weather` backend.
2023-11-20 01:54:10 +01:00
Fabio Manganiello
b8a4b9e4c5
Implemented support for weather entities.
2023-11-20 01:46:01 +01:00
Fabio Manganiello
bf8f31545a
Fixed alignment of entity icon in modal.
2023-11-19 22:33:19 +01:00
Fabio Manganiello
b800899859
[ #308 ] Refactored `weather.openweathermap` plugin.
2023-11-19 00:10:10 +01:00
Fabio Manganiello
6108cbb621
Added `Config.get_device_id()` classmethod.
2023-11-18 23:04:19 +01:00
Fabio Manganiello
eec2908cc2
Removed DarkSky integration.
...
The API has gone and it's been merged into Apple Weather.
2023-11-18 21:45:47 +01:00
Fabio Manganiello
674c1036c5
Fixed some plugin usages of `self._bus`.
...
continuous-integration/drone/push Build is passing
Details
Now `_bus` is a common property shared by all the plugins, so it
shouldn't be overloaded.
2023-11-18 16:58:55 +01:00
Fabio Manganiello
8817581061
Removed `-U` option from pip command when installing deps.
...
continuous-integration/drone/push Build is passing
Details
We don't need to forcefully upgrade packages that don't need to be
upgraded.
2023-11-18 16:07:16 +01:00
Fabio Manganiello
869ef38364
Removed explicit `numpy` pip dependency in `assistant.google`.
...
continuous-integration/drone/push Build is passing
Details
It will be installed by the other dependencies anyway.
2023-11-18 16:01:24 +01:00
Fabio Manganiello
fdaff32cd0
Fixed docstring for `chromecast.status`.
continuous-integration/drone/push Build is failing
Details
2023-11-18 14:17:17 +01:00
Fabio Manganiello
1a777c6276
Removed Todoist backend and migrated responses to schemas.
...
continuous-integration/drone/push Build is passing
Details
The Todoist Websocket interface is no longer working properly, and I'm
sick of reverse engineering it.
Closes : #305
2023-11-18 10:16:48 +01:00
Fabio Manganiello
c2f53b7771
Added `_bus` property on `Plugin`.
2023-11-18 10:13:35 +01:00
Fabio Manganiello
f12af08e73
Minor return type fix.
2023-11-17 22:30:30 +01:00
Fabio Manganiello
0f9614506b
[trello] Updated procedure to retrieve the frontend cloud token.
2023-11-17 10:28:27 +01:00
Fabio Manganiello
c919cf0cd8
[trello] (Almost) complete plugin rewrite.
...
continuous-integration/drone/push Build is passing
Details
- Merged `trello` plugin and backend into a single plugin.
- Removed legacy `Response` objects, replaced with data classes and
schemas.
- Fixed the Websocket connection flow to reflect the new authentication
protocol.
Closes : #307
2023-11-17 02:07:04 +01:00
Fabio Manganiello
39b4483401
Fixed `joystick` manifest.
continuous-integration/drone/push Build is passing
Details
2023-11-16 22:08:00 +01:00
Fabio Manganiello
7bb08bca07
[joystick] Rewritten `joystick` integration as a plugin.
...
continuous-integration/drone/push Build is passing
Details
And removed legacy `joystick*` backends and `inputs` plugin.
Closes : #290
2023-11-16 21:43:56 +01:00
Fabio Manganiello
5e629990e6
[Automatic] Updated UI files
continuous-integration/drone/push Build is passing
Details
2023-11-15 02:04:50 +00:00
Fabio Manganiello
d617443af6
[YouTube] Added subscriptions+channels support.
...
continuous-integration/drone/push Build is failing
Details
Closes : #337
2023-11-15 03:05:58 +01:00
Fabio Manganiello
9ed7026aaf
[media UI] Propagate free text filter to all the views.
2023-11-15 03:05:58 +01:00
Fabio Manganiello
ae017516c4
[YouTube UI] Support playlist navigation in the media nav.
2023-11-15 03:05:57 +01:00
Fabio Manganiello
4853f51c8b
[YouTube] Added (read-only) playlists support.
2023-11-15 03:05:57 +01:00
Fabio Manganiello
b491f81cda
[media UI] Added loading spin overlay upon play.
2023-11-15 03:05:57 +01:00
Fabio Manganiello
9e5728f8ba
[Automatic] Updated UI files
continuous-integration/drone/push Build is passing
Details
2023-11-13 01:39:51 +00:00
Fabio Manganiello
96e69811fe
[ #337 ] Initial YouTube UI with feed support.
continuous-integration/drone/push Build is failing
Details
2023-11-13 02:40:50 +01:00
Fabio Manganiello
f425e95e7e
[media UI] Show track image if available on desktop+ size.
2023-11-13 02:40:50 +01:00
Fabio Manganiello
60fb7bba5f
[media UI] Added support for generic media providers.
2023-11-13 02:40:50 +01:00
Fabio Manganiello
be28965d84
[`youtube`] Added `youtube.get_feed` action.
2023-11-13 02:40:50 +01:00
Fabio Manganiello
b63579b81c
[UI] Fixed some glitches of the Dropdown component.
2023-11-13 02:40:49 +01:00
Fabio Manganiello
f6c752c80e
[Automatic] Updated UI files
continuous-integration/drone/push Build is passing
Details
2023-11-12 14:59:23 +00:00
Fabio Manganiello
50922cf149
[media UI] Fixed player selector style after Dropdown component changes.
continuous-integration/drone/push Build is failing
Details
2023-11-12 15:55:28 +01:00
Fabio Manganiello
ca72e22820
[UI] Proxy `/media/*` requests to upstream when Vue is in debug mode.
2023-11-12 15:55:03 +01:00
Fabio Manganiello
d4b519a572
[media UI] Wrapped the file browser into a `MediaBrowser` component.
...
This will make it easier to support multiple media collection providers
other than local files.
2023-11-12 15:54:27 +01:00
Fabio Manganiello
6dfe2324c1
[UI] Added navigation crumbs to the file browser.
2023-11-12 15:53:46 +01:00
Fabio Manganiello
724f625963
[`media.chromecast`] Skip errors on `cast.wait`.
...
It may be that the cast thread has been recycled and it's already been
awaited. It's safe to skip the error in these cases.
2023-11-12 15:52:31 +01:00
Fabio Manganiello
e416a70658
[UI] (Re)-added required `logo-256x256.png` image.
2023-11-12 15:52:07 +01:00