Commit Graph

1314 Commits

Author SHA1 Message Date
Fabio Manganiello 71ed545cc7
Fancier gradient background for the navigator header 2023-01-02 23:28:53 +01:00
Fabio Manganiello b0671354ea
(Tentative) support for zwave light colors 2023-01-02 12:50:01 +01:00
Fabio Manganiello 4f75cbc8b4
Updated frontend dist files 2023-01-01 23:23:18 +01:00
Fabio Manganiello 80c2c77272
Support for entities with children on the frontend 2023-01-01 23:06:40 +01:00
Fabio Manganiello dd3c4b10c7
Run register_service in a separate thread in `backend.http`.
The Zeroconf registration part may randomly get stuck, resulting in the
web server not being properly started.

It's therefore better to run the Zeroconf registration process
asynchronously, for it's not strictly required for the web server to
execute.
2023-01-01 13:19:11 +01:00
Fabio Manganiello edddc90d73
Run register_service in a separate thread in `backend.http`.
The Zeroconf registration part may randomly get stuck, resulting in the
web server not being properly started.

It's therefore better to run the Zeroconf registration process
asynchronously, for it's not strictly required for the web server to
execute.
2023-01-01 13:16:46 +01:00
Fabio Manganiello 6a2a3100f8
LINT fixes for `zwave.mqtt` backend 2022-12-10 16:16:23 +01:00
Fabio Manganiello 5a47308516
Merge branch 'master' into 29-generic-entities-support 2022-12-10 15:57:28 +01:00
Fabio Manganiello 6713bf6994
Fixed `backend.zwave` event logic dispatch for recent versions of ZWaveJS.
ZWaveJS has broken back-compatibility with zwavejs2mqtt when it comes to
events format.

Only a partial representation of the node and value objects is
forwarded, and that's often not sufficient to infer the full state of
the node with its values.

The `_dispatch_event` logic has therefore been modified to accommodate
both the implementation.

This means that we have to go conservative in order to preserve
back-compatibility and not over-complicate things, even if it (slightly)
comes at the expense of performance.
2022-12-10 15:35:09 +01:00
Fabio Manganiello 313105f014
Fixed `backend.zwave` event logic dispatch for recent versions of ZWaveJS.
ZWaveJS has broken back-compatibility with zwavejs2mqtt when it comes to
events format.

Only a partial representation of the node and value objects is
forwarded, and that's often not sufficient to infer the full state of
the node with its values.

The `_dispatch_event` logic has therefore been modified to accommodate
both the implementation.

This means that we have to go conservative in order to preserve
back-compatibility and not over-complicate things, even if it (slightly)
comes at the expense of performance.
2022-12-10 14:52:10 +01:00
Fabio Manganiello ecba72935f
Check for table metadata existance in `Base.metadata` instead of having a separate entity registry 2022-12-04 16:28:46 +01:00
Fabio Manganiello 09d70e2ff1
The `zwavejs2mqtt` project has been renamed `zwave-js-ui`
Change the documentation accordingly
2022-11-30 02:04:48 +01:00
Fabio Manganiello 78c59f437a
Added support for illuminance sensor entities 2022-11-27 22:38:58 +01:00
Fabio Manganiello 03d1c554ea
Updated webapp dist files 2022-11-27 14:23:30 +01:00
Fabio Manganiello b1a7a7d915
Fixed little overlap between the entities' header and the navigator 2022-11-27 12:56:39 +01:00
Fabio Manganiello b5653e070e
Style improvements for the main navigator 2022-11-27 12:56:17 +01:00
Fabio Manganiello 681f307d04
A more self-explanatory icon for entity grouping selections 2022-11-27 00:56:47 +01:00
Fabio Manganiello bba582875a
The `data` attribute on `EntityUpdateEvent` shouldn't be taken into account for flashing updates 2022-11-27 00:56:23 +01:00
Fabio Manganiello e8d6717fcb
Added input box for <Dimmer> entities 2022-11-27 00:56:01 +01:00
Fabio Manganiello bd59a5eefd
Support for range labels on <Slider> 2022-11-27 00:55:19 +01:00
Fabio Manganiello f8aaab20f5
Updated webapp dist files 2022-11-27 00:53:58 +01:00
Fabio Manganiello faa8295469
White background for main nav 2022-11-26 01:52:42 +01:00
Fabio Manganiello d29723ea41
Keep the main menu items vertically aligned to the center also on tablets 2022-11-26 01:28:20 +01:00
Fabio Manganiello d0c8a8edf9
A bit of padding for LightHue on mobile 2022-11-26 01:19:52 +01:00
Fabio Manganiello 37254cad1a
Mobile UI improvements 2022-11-26 01:16:07 +01:00
Fabio Manganiello f28f08dd1a
Keep the main menu open on page load by default on >= desktop 2022-11-26 01:15:03 +01:00
Fabio Manganiello fecd96f64c
Solved issue with main menu shrinking a bit when the main panel has too much wide content 2022-11-26 00:32:11 +01:00
Fabio Manganiello 33cc055249
Switched expanded main menu to light colors 2022-11-26 00:31:36 +01:00
Fabio Manganiello a57e67b96f
Better style for the settings' users and token panels 2022-11-25 23:16:16 +01:00
Fabio Manganiello 21c1c96f2e
Use Dropdown for the settings menu 2022-11-25 23:15:41 +01:00
Fabio Manganiello 292ed2abff
Better style for dropdown items.
- Larger icon div to prevent text overlapping with icons
- Support for `selected` class
2022-11-25 23:14:28 +01:00
Fabio Manganiello c0dd91838b
Merge branch 'master' into 29-generic-entities-support 2022-11-21 22:13:47 +01:00
Fabio Manganiello 98d7c95aa7 Removed two unrequired `return` statements 2022-11-21 13:04:48 +01:00
Fabio Manganiello e579fb3417
Don't display sensors with null value 2022-11-21 00:05:19 +01:00
Fabio Manganiello b9e6614b04
Added support for `EnumSensor` entities 2022-11-21 00:04:07 +01:00
Fabio Manganiello 96ce4729f9
Updated webapp dist files 2022-11-14 00:46:40 +01:00
Fabio Manganiello b7757d17cc
Updated webapp dist files 2022-11-14 00:06:41 +01:00
Fabio Manganiello 7fac5392b8
Blink entities only if their values have actually changed 2022-11-13 23:52:21 +01:00
Fabio Manganiello 833d908a32
Blink entities body upon update 2022-11-13 01:39:40 +01:00
Fabio Manganiello f90d84a3d4
Don't wait for UI updates for entities that are not queriable 2022-11-13 00:54:37 +01:00
Fabio Manganiello fb594cb8b1
Updated webapp dist files 2022-11-12 16:31:35 +01:00
Fabio Manganiello 8450129858
LINT fixes 2022-11-12 11:39:12 +01:00
Fabio Manganiello 8a894d0989
`user_manager` should be a global object instead of being initialized on-demand 2022-11-12 11:38:40 +01:00
Fabio Manganiello 00a43dd1f8
Implemented `EnumSwitch` entity type
Done for `zigbee.mqtt`, other plugins will follow
2022-11-11 01:46:38 +01:00
Fabio Manganiello 801ed05684
Added support for binary sensors (in zigbee.mqtt for now) 2022-11-05 01:47:50 +01:00
Fabio Manganiello 6454f9d018
Propert snake case -> camel case conversion for backend entities -> frontend components 2022-11-04 22:53:24 +01:00
Fabio Manganiello 7db84acd34
Notify of entity scan timeouts on the console instead of creating tons of notifications 2022-11-02 22:24:06 +01:00
Fabio Manganiello 02abef71e3
Fixes for zigbee devices polling
- Don't publish a `get` request if the device has no exposed queriable
  attributes.

- Perform the recursive build of the `get` request payload before
  checking for the `access` attribute.
2022-11-02 21:54:47 +01:00
Fabio Manganiello 64513be6b8
Initial implementation of sensor entities.
Implemented (at least in `zigbee.mqtt`, for now):

- `TemperatureSensor`
- `HumiditySensor`
- `VoltageSensor`
- `CurrentSensor`
- `EnergySensor`
- `PowerSensor`
- `NumericSensor` (generic fallback 1)
- `RawSensor` (generic fallback 2)
- `Sensor` (root class)
2022-11-02 16:38:17 +01:00
Fabio Manganiello 440cd60d6e
A (slightly) smarter way to infer the plural spelling of singular entity names 2022-11-02 16:35:20 +01:00
Fabio Manganiello 3d1a08f7af
Changed default entity grouping on the frontend.
Changed from `type` to `category`, which is basically the `name_plural`
attribute of the associated entity type metadata.

This allows us to define distinct entity metadata entries that we still
want to share the same grouping - for instance, `temperature_sensor`,
`humidity_sensor` and `battery` should all be grouped under `Sensors` on
the frontend.
2022-11-02 16:33:12 +01:00
Fabio Manganiello 68dd09e8ae
Removed unused `expanded` data attribute 2022-11-02 16:31:50 +01:00
Fabio Manganiello a1cf671334
Added support for link_quality entities to `zigbee.mqtt` 2022-10-30 11:03:22 +01:00
Fabio Manganiello 78dc8416fb
Snake case -> camel case for backend -> frontend entity types conversion 2022-10-30 11:01:46 +01:00
Fabio Manganiello d61b053f72
Support for battery entities 2022-10-29 13:38:42 +02:00
Fabio Manganiello 951950c864
Added dimmer entities 2022-10-23 00:30:32 +02:00
Fabio Manganiello 3e6ebdd23b
Don't store/show the state of write-only toggle switches 2022-10-23 00:28:01 +02:00
Fabio Manganiello 8cd5cb3338
The Slider should only react to @input events 2022-10-23 00:26:59 +02:00
Fabio Manganiello 1af7ece881
Added deprecation notice for `zwave` plugin and backend (use `zwave.mqtt` instead) 2022-10-22 19:17:58 +02:00
Fabio Manganiello 5c68365188
Better management for entity error icons 2022-10-14 23:37:36 +02:00
Fabio Manganiello 7f575bacaa
Implemented the new zwavejs2mqtt features for adding and removing nodes 2022-10-14 23:28:02 +02:00
Fabio Manganiello c89ed24f4b
Updated webapp dist files 2022-10-12 03:07:17 +02:00
Fabio Manganiello 1b791156bd
Proper support for color zigbee lights 2022-10-12 03:00:42 +02:00
Fabio Manganiello e617fc75d4
Fixed slider ranges and label 2022-10-12 02:59:50 +02:00
Fabio Manganiello aa5b52db2f
FIX: Still redirect to /register by default if no users have been created 2022-10-10 01:36:28 +02:00
Fabio Manganiello 6ec8a991df
Fixed tests 2022-10-08 15:18:26 +02:00
Fabio Manganiello 958ef6b987
Better entity modal padding 2022-10-07 11:12:30 +02:00
Fabio Manganiello 16c55b45f6
updated dist files 2022-10-07 11:12:13 +02:00
Fabio Manganiello b9b7404230
Web panel improvements.
- Don't return a redirect to the login page if an authentication failed
  over a JSON endpoint - instead, return a JSON payload with the error.

- Added support for additional fonts.

- Re-designed the login/registration page.

- Updated caniuse database.
2022-10-07 02:24:29 +02:00
Fabio Manganiello c0ffea681f
updated dist files 2022-10-07 02:23:12 +02:00
Fabio Manganiello 2cc80e7f16
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin 2022-10-07 00:05:54 +02:00
Fabio Manganiello ae226a5b01
Added `tts.mimic3` integration.
Closes: #226
2022-09-30 10:51:17 +02:00
Fabio Manganiello 82ab7face2
A more robust logic to detect the webserver local bind address 2022-09-30 03:10:37 +02:00
Fabio Manganiello deb25196d2
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin 2022-09-28 02:17:10 +02:00
Fabio Manganiello a90aa2cb2e Make sure that a webhook function never returns a null response 2022-09-04 00:52:41 +02:00
Fabio Manganiello c5b12403d0
Implemented support for returning richer HTTP responses on webhooks.
A `WebhookEvent` hook can now return a tuple in the format `(data,
http_code, headers)` in order to customize the HTTP status code and the
headers of a response.
2022-09-01 01:37:18 +02:00
Fabio Manganiello 96b2ad148c
A smarter way of building and matching the event condition 2022-08-31 02:19:21 +02:00
Fabio Manganiello 67413c02cd
Handle the case where the condition is a serialized dictionary 2022-08-31 01:55:21 +02:00
Fabio Manganiello c3fa3315f5
Implemented synchronization with webhook responses.
When a client triggers a `WebhookEvent` by calling a configured webhook
over `/hook/<hook_name>`, the server will now wait for the configured
`@hook` function to complete and it will return the returned response
back to the client.

This makes webhooks much more powerful, as they can be used to proxy
HTTP calls or other services, and in general return something to the
client instead of just executing actions.
2022-08-30 23:35:19 +02:00
Fabio Manganiello 1880a99052
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin 2022-08-29 01:41:47 +02:00
Fabio Manganiello e08947a3b7
Merge pull request #311 from BlackLight/dependabot/npm_and_yarn/platypush/backend/http/webapp/terser-5.14.2
Bump terser from 5.12.1 to 5.14.2 in /platypush/backend/http/webapp
2022-08-29 00:59:55 +02:00
Fabio Manganiello 6d63d2fc74
Merge pull request #305 from BlackLight/dependabot/npm_and_yarn/platypush/backend/http/webapp/shell-quote-1.7.3
Bump shell-quote from 1.7.2 to 1.7.3 in /platypush/backend/http/webapp
2022-08-29 00:59:19 +02:00
Fabio Manganiello 99de5318ff
Merge pull request #313 from BlackLight/snyk-upgrade-58f5a7acf019c661bec911d06f0bf10a
[Snyk] Upgrade core-js from 3.21.1 to 3.23.4
2022-08-05 13:26:25 +02:00
Fabio Manganiello b3bab9b1d8
Merge pull request #314 from BlackLight/snyk-upgrade-9823d0f9eee2d94f4547598322ba6a48
[Snyk] Upgrade vue-router from 4.0.14 to 4.1.2
2022-08-05 13:26:07 +02:00
Fabio Manganiello 55602cc282
Merge branch 'master' into snyk-upgrade-30cde2b595c9da96da481c691c0964d5 2022-08-05 13:05:25 +02:00
snyk-bot 3d5fc9a10b
fix: upgrade sass-loader from 10.2.1 to 10.3.1
Snyk has created this PR to upgrade sass-loader from 10.2.1 to 10.3.1.

See this package in npm:
https://www.npmjs.com/package/sass-loader

See this project in Snyk:
https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-08-04 20:31:51 +00:00
snyk-bot be4dd48d76
fix: upgrade sass from 1.49.9 to 1.53.0
Snyk has created this PR to upgrade sass from 1.49.9 to 1.53.0.

See this package in npm:
https://www.npmjs.com/package/sass

See this project in Snyk:
https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-08-04 20:31:45 +00:00
snyk-bot bd21779a17
fix: upgrade vue-router from 4.0.14 to 4.1.2
Snyk has created this PR to upgrade vue-router from 4.0.14 to 4.1.2.

See this package in npm:
https://www.npmjs.com/package/vue-router

See this project in Snyk:
https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-08-04 20:31:33 +00:00
snyk-bot 58afc1090c
fix: upgrade core-js from 3.21.1 to 3.23.4
Snyk has created this PR to upgrade core-js from 3.21.1 to 3.23.4.

See this package in npm:
https://www.npmjs.com/package/core-js

See this project in Snyk:
https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-08-04 20:31:28 +00:00
dependabot[bot] c7927a3d2f
Bump terser from 5.12.1 to 5.14.2 in /platypush/backend/http/webapp
Bumps [terser](https://github.com/terser/terser) from 5.12.1 to 5.14.2.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/commits)

---
updated-dependencies:
- dependency-name: terser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-21 00:35:29 +00:00
Fabio Manganiello 3513ee3e1c
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin 2022-07-08 23:13:36 +02:00
dependabot[bot] 06168d4ebd
Bump shell-quote from 1.7.2 to 1.7.3 in /platypush/backend/http/webapp
Bumps [shell-quote](https://github.com/substack/node-shell-quote) from 1.7.2 to 1.7.3.
- [Release notes](https://github.com/substack/node-shell-quote/releases)
- [Changelog](https://github.com/substack/node-shell-quote/blob/master/CHANGELOG.md)
- [Commits](https://github.com/substack/node-shell-quote/compare/v1.7.2...1.7.3)

---
updated-dependencies:
- dependency-name: shell-quote
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-23 11:29:13 +00:00
Fabio Manganiello 5966566d54
Fixed LGTM warnings 2022-06-10 20:56:40 +02:00
Fabio Manganiello 5971ec32c8
Removed `clipboard` backend.
The relevant clipboard monitoring logic has been moved to the
`clipboard` plugin. Thus, enabling the plugin should provide all the
feature, with no need for an additional backend.
2022-06-04 12:32:02 +02:00
Fabio Manganiello 7e31ac6ed8
Added missing web build files 2022-06-02 23:41:50 +02:00
Fabio Manganiello c9f435a6cb
Added support for ntfy notification on the frontend (just like Pushbullet) 2022-06-02 23:36:43 +02:00
Fabio Manganiello 5b3e1317f4
Only refresh entities that are visible on the interface 2022-05-30 09:23:25 +02:00
Fabio Manganiello 1df71cb54a
Proper support for light entities on smartthings 2022-05-30 09:23:05 +02:00
Fabio Manganiello 0689e05e96
Apply the light color to the icon fill instead of the bulb icon itself 2022-05-30 09:18:19 +02:00
Fabio Manganiello 117f92e5b4
Deprecated the `light.hue` backend
The polling logic has been moved to the `light.hue` plugin itself
instead, so it's no longer required to have both a plugin and a backend
enabled in order to fully manage a Hue bridge.
2022-05-01 21:55:35 +02:00
Fabio Manganiello b23f45f45e
Process a zigbee entity update event with all the properties, not only the ones that have been changed 2022-05-01 21:09:13 +02:00
Fabio Manganiello 088cf23958
Do not emit input event from the light component upon update
It may be an incomplete update that breaks the UI, and it will be
overwritten by the backend event anyway
2022-05-01 21:08:02 +02:00
Fabio Manganiello e8f4b7c10e
CSS adjustments 2022-05-01 15:44:57 +02:00
Fabio Manganiello dd12d57552
Added light UI entity component 2022-05-01 15:35:20 +02:00
Fabio Manganiello 5aa3750807
Re-sync the list of entities when the entities component is mounted 2022-05-01 15:34:45 +02:00
Fabio Manganiello f760d44224
Refactored/simplified UI code for entities management 2022-05-01 15:34:15 +02:00
Fabio Manganiello 8e06b8c727
Fixed range scaling on Slider component 2022-04-30 23:40:14 +02:00
Fabio Manganiello b16af0a97f
Include entity `data` attributes in the entity info modal 2022-04-30 16:39:37 +02:00
Fabio Manganiello 975991ba69
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin 2022-04-29 16:53:41 +02:00
Fabio Manganiello d22fbcd9db
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin 2022-04-28 01:58:24 +02:00
dependabot[bot] 5929602c15
Bump async from 2.6.3 to 2.6.4 in /platypush/backend/http/webapp
Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-27 12:55:03 +00:00
Fabio Manganiello fee5fc4ae0
HTTP backend dependencies moved from optional to required
If Platypush is supposed to work also without a manually created
`config.yaml`, and the HTTP backend is enabled by default in that
configuration, then Flask and companions should be among the required
dependencies.
2022-04-27 14:52:41 +02:00
Fabio Manganiello 12887b61fe Don't fail hard if the Linode API doesn't return a list of instances 2022-04-25 14:02:40 +02:00
Fabio Manganiello 47f8520f3b
Added support for description/read_only/write_only on entity level 2022-04-24 22:18:29 +02:00
Fabio Manganiello d261b9bb9b
Frontend support for entities deletion 2022-04-24 21:40:10 +02:00
Fabio Manganiello 3e4b13d20f
Added standard Vue component for confirm dialogs 2022-04-24 21:34:39 +02:00
Fabio Manganiello 321a61d06d
Align .section.right content to the right 2022-04-24 11:30:52 +02:00
Fabio Manganiello b22df768eb
Fixed entity icon alignment on mobile 2022-04-24 01:42:14 +02:00
Fabio Manganiello 8e2154f2b5
Do not overwrite an entity's state from an event if the state was not sampled 2022-04-24 01:41:45 +02:00
Fabio Manganiello a9751f21f1
`entities` should be the default view when the web panel is opened 2022-04-24 01:40:34 +02:00
Fabio Manganiello 135965176d
Support for entity icon color change 2022-04-23 17:52:21 +02:00
Fabio Manganiello ef6b57df31
Added entity info modal and (partial) support for renaming entities 2022-04-23 01:01:14 +02:00
Fabio Manganiello 7d4bd20df0
Support for individual entity group refresh 2022-04-19 23:56:49 +02:00
Fabio Manganiello e6bfa1c50f
Better dynamic entities discovery 2022-04-13 11:25:14 +02:00
Fabio Manganiello 332c91252c
zwave.mqtt.status renamed to controller_status, while status should return the current state of the values 2022-04-12 23:44:14 +02:00
Fabio Manganiello b35c761a43
Fixed entities panel mobile layout 2022-04-12 22:24:19 +02:00
Fabio Manganiello 08c0779347
<style> on entity components should be scoped 2022-04-12 16:00:31 +02:00
Fabio Manganiello 595ebe49ca
Support for entity scan timeout errors and visual error handling 2022-04-12 15:58:19 +02:00
Fabio Manganiello 20530c2b6d
Loading events are now synchronized both ways upon entity action/refresh 2022-04-12 01:10:09 +02:00
Fabio Manganiello 9ddcf5eaeb
Implemented entities refresh on the UI 2022-04-12 00:43:22 +02:00
Fabio Manganiello 72617b4b75
Handle EntityUpdateEvents on the UI 2022-04-11 23:16:29 +02:00
Fabio Manganiello be4d1e8e01
Proper support for native entities in zigbee.mqtt integration 2022-04-11 21:16:45 +02:00
Fabio Manganiello db4ad5825e
Fire an EntityUpdateEvent when the zwave.mqtt backend gets a value changed message 2022-04-11 01:40:49 +02:00
Fabio Manganiello 532217be12
Support for filtering entities by search string 2022-04-10 17:57:51 +02:00
Fabio Manganiello f301fd7e69
Added standard NoItems component to handle visualization of no-results divs 2022-04-10 14:27:32 +02:00
Fabio Manganiello 58861afb1c
Added entities panel 2022-04-10 13:07:36 +02:00
Fabio Manganiello 8ec9c8f203
Added standard component for icons 2022-04-10 13:07:01 +02:00
Fabio Manganiello 3435f591eb
Support for keep-open-on-item-click and icon URLs on dropdown elements 2022-04-10 01:57:39 +02:00
Fabio Manganiello 19223bbbe1
Added SmartThings icon 2022-04-10 01:56:47 +02:00
Fabio Manganiello 453652ef76
Updated plugin icons 2022-04-10 01:50:45 +02:00
Fabio Manganiello b2ff66aa62
Added mixins to capitalize/prettify text 2022-04-10 01:50:13 +02:00
Fabio Manganiello 655d56f4da
Upgraded font-awesome to 6.x 2022-04-10 01:49:14 +02:00
Fabio Manganiello 8a70f1d38e
Replaced deprecated sqlalchemy.ext.declarative with sqlalchemy.orm 2022-04-05 22:47:44 +02:00
Fabio Manganiello b1491b8048
Better style for scrollbars 2022-03-30 17:42:09 +02:00
Fabio Manganiello 96a2d8bef0
Fixed size for nav icons with static images 2022-03-30 13:53:10 +02:00
Fabio Manganiello e261dcc27a
More UI fixes 2022-03-30 01:43:59 +02:00
Fabio Manganiello d0790aaba3
Better style for toggle switches 2022-03-29 23:45:57 +02:00
Fabio Manganiello bb28617cc9
Refactored slider and range-slider components 2022-03-29 14:36:17 +02:00
Fabio Manganiello e1e6da9307
Fixed icon size for img tags in nav bar 2022-03-28 16:00:18 +02:00
Fabio Manganiello f6ce0d7200
Fixed broken paddings after bulma removal 2022-03-28 13:13:31 +02:00
Fabio Manganiello ed5f7070a2
Removed bulma dependency from frontend
The UI is now much faster, the build process completes within one minute
(it used to take >15 minutes), and the size of the bundles has been
reduced by ~70%.
2022-03-28 12:54:36 +02:00
Fabio Manganiello 5ee47902f4
Refactored camera stream route 2022-03-28 12:44:04 +02:00
Fabio Manganiello 128b45686a
Updated Vue dependencies for the webapp 2022-03-28 01:19:21 +02:00
dependabot[bot] b72c9a19ae
Bump minimist from 1.2.5 to 1.2.6 in /platypush/backend/http/webapp
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-27 14:45:19 +00:00
Fabio Manganiello 0d0797a465
Added Jellyfin integration 2022-03-01 01:32:50 +01:00
dependabot[bot] 0324eb9f6b
Bump url-parse from 1.5.4 to 1.5.7 in /platypush/backend/http/webapp
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.4 to 1.5.7.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.4...1.5.7)

---
updated-dependencies:
- dependency-name: url-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-19 16:39:08 +00:00
Fabio Manganiello e3f67766a3
Proper fix for variable arguments on process_data 2022-02-17 12:43:56 +01:00
Fabio Manganiello 1933ec709f
FIX: Proper fix for process_data taking a variable number of arguments 2022-02-17 11:50:04 +01:00
Fabio Manganiello 94bb3e0541
Added TOC to readme and more LGTM fixes 2022-02-09 21:06:49 +01:00
Fabio Manganiello 29a7eff15a
Fixed/suppressed LGTM warnings 2022-02-08 21:51:37 +01:00
Fabio Manganiello d13e4fc271
Merge pull request #240 from BlackLight/dependabot/npm_and_yarn/platypush/backend/http/webapp/axios-0.21.2
Bump axios from 0.21.1 to 0.21.2 in /platypush/backend/http/webapp
2022-02-07 21:41:29 +01:00
Fabio Manganiello 6e0c249b7e
Merge pull request #267 from BlackLight/dependabot/npm_and_yarn/platypush/backend/http/webapp/url-parse-1.5.4
Bump url-parse from 1.5.1 to 1.5.4 in /platypush/backend/http/webapp
2022-02-07 21:40:24 +01:00
dependabot[bot] 5b666814d5
Bump nanoid from 3.1.23 to 3.2.0 in /platypush/backend/http/webapp
Bumps [nanoid](https://github.com/ai/nanoid) from 3.1.23 to 3.2.0.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.1.23...3.2.0)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-07 20:38:55 +00:00
dependabot[bot] 21ad599a08
Bump url-parse from 1.5.1 to 1.5.4 in /platypush/backend/http/webapp
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.1 to 1.5.4.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.1...1.5.4)

---
updated-dependencies:
- dependency-name: url-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-07 20:37:56 +00:00
dependabot[bot] 1662873e54
Bump follow-redirects in /platypush/backend/http/webapp
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.1 to 1.14.7.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.1...v1.14.7)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-07 15:00:43 +00:00
Fabio Manganiello 1038090ffd
LINT fixes 2022-02-07 15:51:12 +01:00
Fabio Manganiello 786286eac6
Refactored D-Bus integration
- Added ability to listen for signals
- Improved introspection output
- `dbus` plugin and backend have now been merged
- Migrated from `dbus` to `pydbus`
2022-02-07 15:45:43 +01:00
Fabio Manganiello e4eb12fa6d
LINT warning fixes 2022-01-23 14:25:00 +01:00
Fabio Manganiello c534adf31f
varname typo fix 2022-01-17 16:39:40 +01:00
Fabio Manganiello 0c423e3809
FIX: SensorDataChangeEvent trigger logic
The event should be skipped only if new_data is null or an empty,
list/object, not if it contains
a zero/false-y value.
2022-01-17 16:38:43 +01:00
Fabio Manganiello a6b552504e
FIX: Use a separate error handler for the Pushbullet backend that doesn't raise another exception (prevents maximum recursion errors in the logs caused by the interpreter entering an infinite loop of error handlers) 2022-01-08 19:52:41 +01:00
Fabio Manganiello e9f6d9a8bc
Refactored RSS integration into its own `rss` plugin [closes #199] 2022-01-06 00:46:05 +01:00
Fabio Manganiello 3e4b91cd6c
Removed pytz dependency 2022-01-05 18:04:32 +01:00
Fabio Manganiello 0a3fd4065a
Proper implementation for filesystem monitor filters
The logic Watchdog applies to filter events based
on `ignore_directories`, `ignore_patterns` and
`ignore_regexes` isn't really sophisticated, and
it doesn't check whether a partial directory/file
name is used in one of the `ignore_*` patterns.
The `file.monitor` backend should therefore implement
this logic on its side.
2021-12-20 00:58:41 +01:00
Fabio Manganiello e94d338de5
Proper handling for ignore_directories in file.monitor backend 2021-12-19 02:28:49 +01:00
Fabio Manganiello 1569f940c6
FIX: had accidentally removed an `on_mqtt_message` usage 2021-12-13 21:21:12 +01:00
Fabio Manganiello fa0f4925ed
New client ID generation logic (closes #205)
MQTT client IDs are now generated as a function of
`(client_id, host, port, topics, on_message)` to
prevent client ID clashes.
2021-12-13 20:34:06 +01:00
Fabio Manganiello fa708663e1
Replaced command-line uwsgi wrapper in the backend.http docs with gunicorn
gunicorn makes it easier to set up a uWSGI wrapper
around the web application, and it's easier to
install and document than handling uwsgi as an
external system dependency.
2021-12-11 22:44:00 +01:00
Fabio Manganiello b432488876
Prevent null pointer on music.spotify backend stop if the Librespot process has already been terminated 2021-11-15 00:10:40 +01:00
dependabot[bot] 5491682543
Bump axios from 0.21.1 to 0.21.2 in /platypush/backend/http/webapp
Bumps [axios](https://github.com/axios/axios) from 0.21.1 to 0.21.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.21.1...v0.21.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-07 10:46:07 +00:00
Fabio Manganiello de25719563
Replaced deprecated arguments in librespot 2021-11-07 01:19:34 +01:00
Fabio Manganiello acdc636b1f Resolve "Mastodon integration" 2021-11-07 01:00:29 +01:00
Fabio Manganiello 49676fcc7f
Don't fail hard if the Zeroconf service can't be registered 2021-10-24 02:54:20 +02:00
Fabio Manganiello 1962a8c4de
FIX: The response to a request received on the MQTT channel should be dispatched to <base_topic>/responses/<id>, not to <base_topic> 2021-10-17 01:57:47 +02:00
Fabio Manganiello 98cb216ba7 Fixed LGTM warning 2021-09-22 00:22:42 +02:00
Fabio Manganiello a1cd25fe5a zigbee.mqtt backend configuration should be fetched from the zigbee.mqtt plugin configuration if not reported 2021-09-17 22:35:01 +02:00
Fabio Manganiello 1a314ffd6b Fixed LGTM errors and warnings 2021-09-17 22:21:29 +02:00
Fabio Manganiello 7b8938cb12 Fixed LGTM errors and warnings 2021-09-17 00:47:33 +02:00
Fabio Manganiello 3bfc5b83ef Moved to manifest files for describing plugins and backends and their dependencies 2021-09-16 17:53:40 +02:00
Fabio Manganiello 0f37102ce4 Close Redis connection upon backend stop 2021-07-26 01:06:35 +02:00
Fabio Manganiello 8e2d4d0bce Make sure that the accept() in backend.tcp does not block the process 2021-07-25 11:33:48 +02:00
Fabio Manganiello 550fd3abe9 Don't fail on the Pushbullet close handler 2021-07-25 01:17:25 +02:00
Fabio Manganiello 2fc7327788 Missing import 2021-07-24 23:49:23 +02:00
Fabio Manganiello 1483d602f8 Added music.spotify UI integration 2021-07-20 01:35:21 +02:00
Fabio Manganiello 35c4a30a63 Added music.spotify plugin and refactored MusicPlugin 2021-07-17 22:14:15 +02:00
Fabio Manganiello ade3a7c2cf Added plugin_name to weather.buienradar events 2021-07-04 18:04:51 +02:00
Fabio Manganiello 1f6c7aae60 get_redis() should be a general utility method 2021-06-26 11:14:26 +02:00
Fabio Manganiello a6c7d64511 Removed audio_format option from Spotify Connect backend (not supported by all versions of Librespot) 2021-06-25 23:20:21 +02:00
Fabio Manganiello af7977bcf7 Added music.spotify.connect backend 2021-06-25 22:47:40 +02:00
Fabio Manganiello c8bfbae4f0 Prevented an infinite recursion error on the Pushbullet on_error() handler in case close() failed 2021-05-20 02:06:43 +02:00
Fabio Manganiello d35a9729a4 More robust reconnection logic for Pushbullet backend 2021-05-19 18:44:01 +02:00
Fabio Manganiello a39452124d Refactored PCA9685 backend 2021-05-17 15:32:43 +02:00
Fabio Manganiello fc1d9ad3e6 Added joystick.linux backend 2021-05-17 14:52:08 +02:00
Fabio Manganiello d7d5bcdd0c Wait until the joystick device is readable after it appears to prevent race conditions where jstest fails with temporary "permission denied" errors 2021-05-16 00:26:28 +02:00
Fabio Manganiello def8c0dd76 The joystick backend should properly jstest even when the jstest executable fails 2021-05-16 00:16:19 +02:00
Fabio Manganiello 6cc28a3c3b More robust logic in case of joystick device lost while the backend is running 2021-05-16 00:06:20 +02:00
Fabio Manganiello 93c3327bcd Map name typo fix 2021-05-15 23:53:24 +02:00
Fabio Manganiello 85d975edc6 Logic typo 2021-05-15 23:50:23 +02:00
Fabio Manganiello d767cafafe `joystick.jstest` should actually run the parent `run` method but not extend `JoystickBackend` 2021-05-15 23:48:17 +02:00
Fabio Manganiello cee8f9f8e0 `joystick.jstest` should not execute the parent `run` method 2021-05-15 23:43:37 +02:00
Fabio Manganiello b2e2ae9538 Proper initialization for device attribute in parent joystick backend class 2021-05-15 23:34:41 +02:00
Fabio Manganiello f296f4b161 Added generic `joystick.jstest` backend 2021-05-15 23:28:24 +02:00
Fabio Manganiello 664ce4050d Added Switchbot plugin 2021-05-10 18:43:00 +02:00
Fabio Manganiello 2f840200be Updated UI files 2021-05-10 18:40:35 +02:00
Fabio Manganiello ce882381c0 Fixes to torrent search + SASS library migration
- Support for custom PopcornTime API mirror/base URL.

- Full support for TV series search.

- Fixed torrent search (now using a different PopcornTime API mirror).

- Migrated SASS engine from `node-sass` (currently deprecated and broken on Node 16) to `sass`.

- Fixed alignment of Z-Wave UI header on Chrome/Webkit.
2021-05-06 23:18:47 +02:00
snyk-bot 174439a8ed
fix: upgrade core-js from 3.7.0 to 3.10.1
Snyk has created this PR to upgrade core-js from 3.7.0 to 3.10.1.

See this package in npm:
https://www.npmjs.com/package/core-js

See this project in Snyk:
https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1?utm_source=github&utm_medium=upgrade-pr
2021-04-28 22:35:45 +00:00
Fabio Manganiello 3a18e9faf4 Upgraded npm dependencies 2021-04-28 23:55:01 +02:00
Fabio Manganiello f8d76fe4eb Bumped chalk/ssri versions 2021-04-28 23:43:45 +02:00
Fabio Manganiello 4fe5322600 Explicitly case propertyKey to str 2021-04-22 23:23:41 +02:00
Fabio Manganiello c006c4b368 Added zwave.mqtt plugin and backend [closes #186] 2021-04-12 02:45:59 +02:00
Fabio Manganiello 75e1f35523
Merge pull request #173 from BlackLight/snyk-upgrade-13988d07be83d12370897cdf2a722b2a
[Snyk] Upgrade @fortawesome/fontawesome-free from 5.15.1 to 5.15.3
2021-04-08 21:18:25 +02:00
snyk-bot edfa5ed16f
fix: upgrade @fortawesome/fontawesome-free from 5.15.1 to 5.15.3
Snyk has created this PR to upgrade @fortawesome/fontawesome-free from 5.15.1 to 5.15.3.

See this package in npm:
https://www.npmjs.com/package/@fortawesome/fontawesome-free

See this project in Snyk:
https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1?utm_source=github&utm_medium=upgrade-pr
2021-04-06 22:36:19 +00:00
snyk-bot f2628f4f2c
fix: upgrade vue-router from 4.0.0-rc.3 to 4.0.5
Snyk has created this PR to upgrade vue-router from 4.0.0-rc.3 to 4.0.5.

See this package in npm:
https://www.npmjs.com/package/vue-router

See this project in Snyk:
https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1?utm_source=github&utm_medium=upgrade-pr
2021-04-06 22:36:16 +00:00
Fabio Manganiello f1faa1141e More LINT fixes 2021-04-06 21:10:48 +02:00
Fabio Manganiello 2a78f81a7b Major LINT fixes 2021-04-05 00:58:44 +02:00
Fabio Manganiello 89beab4767 Added controls to music dashboard widgets 2021-04-03 21:16:22 +02:00
Fabio Manganiello ee0685363e Fixed regression on UI event handler callbacks 2021-04-02 19:48:13 +02:00
Fabio Manganiello 99831bf0c7 Fix compatibility with all versions of websocket-client, regardless of the list of arguments required by the callbacks (either ws as a first argument or not) 2021-04-02 19:27:25 +02:00
Fabio Manganiello 95625a401d Skip MQTT message if it has no content [closes #184] 2021-04-01 21:33:44 +02:00
Fabio Manganiello a147a4d37a Added <Camera> dashboard widget 2021-03-29 21:14:32 +02:00
Fabio Manganiello 177c697f83 Added support for custom dashboard components [see #129] 2021-03-28 17:34:11 +02:00
Fabio Manganiello 00fabf3853 Reverted MQTT client reconnection logic until I find a more reliable way to identify the errors that caused the disconnections 2021-03-22 02:11:46 +01:00
Fabio Manganiello cad184fc1f MQTT_ERR_NOMEM should not result in a reconnection 2021-03-22 02:07:53 +01:00
Fabio Manganiello 928bb3667a Reconnection logic for MQTT disconnections caused by temporary errors 2021-03-22 01:52:27 +01:00
Fabio Manganiello 782be7794b More robust logic to deal with broken lines in HTTP logs 2021-03-21 10:12:27 +01:00
Fabio Manganiello 40dc739d09 Even more robust logic in case of missing HTTP version on the logged request - if anything is wrong with the format simply default to http_version = 1.0 2021-03-18 14:02:25 +01:00
Fabio Manganiello 4821fe086b More robust logic in case of missing HTTP version on the logged request 2021-03-18 11:30:57 +01:00
Fabio Manganiello 1355f7a3f6 [Dashboards] The class value should only apply to the widget wrapper, not to the wrapped widget [see #179] 2021-03-18 01:30:29 +01:00
Fabio Manganiello 3ce98305f0 Support for on_moved handler on file/log monitor backends 2021-03-17 23:21:52 +01:00
Fabio Manganiello 0a4cadba3e Fixed KeyError 2021-03-17 01:53:10 +01:00
Fabio Manganiello ca573cb980 Added possibility to pass id instead of name to the switch mixin toggle method 2021-03-16 21:03:58 +01:00
Fabio Manganiello 75deb0393d Fixed class name typo 2021-03-16 20:56:34 +01:00
Fabio Manganiello 14f1c44378 - If a Z-Wave event includes an explicit value update then explicitly set that value on the node, in order to prevent issues with Z-Wave value updates not yet propagated to the node structure
- Added Z-Wave switch component
2021-03-16 20:52:30 +01:00
Fabio Manganiello fdd46edb6a Do not force type cohercion on bool values - !!parseInt(true) = false in JavaScript, for some reason 2021-03-16 20:11:49 +01:00
Fabio Manganiello b9738d88df Added some temporary debug lines to Z-Wave's Value.vue to investigate setValue issues 2021-03-16 20:00:25 +01:00
Fabio Manganiello ce0ca2e9ee Explicitly pass the new value on the Z-Wave setValue handler in case of binary toggles, since the target element can't be reliably determined 2021-03-16 19:37:42 +01:00
Fabio Manganiello f8564c19cd Added log.http backend to monitor HTTP logs [closes #167] 2021-03-16 00:03:32 +01:00
Fabio Manganiello 1d3d741212 Fixed Sphinx build warnings 2021-03-14 01:09:01 +01:00
Fabio Manganiello b171cb1012 A click on a Z-Wave binary event should result in the value being toggled, not rewritten [see #176] 2021-03-14 01:05:02 +01:00
Fabio Manganiello 352d421e61 Added file.monitor backend [closes #172]
The file.monitor backend leverages watchdog instead of the Linux-only
inotify API and it replaces the inotify backend.
2021-03-14 00:08:20 +01:00