Fabio Manganiello
719bd4fddf
[ #217 WIP] Initial plugin implementation.
...
- Added initial synchronization and users cache.
- Added loop to poll for new events (TODO: use websocket after the first sync)
- Added login, sync and join actions
2022-07-14 01:50:46 +02:00
Fabio Manganiello
c6c7128099
Wrapped clipboard management logic in a try-except block to prevent the clipboard plugin from failing hard
2022-06-14 16:47:52 +02:00
Fabio Manganiello
8d26c8634d
Keep the ntfy process in stop_wait state even when the plugin is configured with no subscriptions
2022-06-09 11:59:29 +02:00
Fabio Manganiello
115bed7d8b
Added limit parameter to lastfm.get_similar_tracks
2022-06-06 14:12:45 +02:00
Fabio Manganiello
3d22d6b082
Added get_track and get_similar_tracks methods on lastfm
plugin
2022-06-05 18:49:34 +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
cb7021152f
Added get_recent_tracks
method to the lastfm
plugin
2022-06-02 20:57:35 +02:00
Fabio Manganiello
d3f4865395
Fixed variable name conflict
2022-06-02 01:44:38 +02:00
Fabio Manganiello
f080478385
s/click_url/url/g in ntfy message definitions
2022-06-02 00:40:26 +02:00
Fabio Manganiello
8be515c17b
[ closes #219 ] Added ntfy integration
2022-06-01 23:01:29 +02:00
Fabio Manganiello
7a0e39111d
FIX: A feed entry may not necessarily have an id
attribute
2022-05-06 14:38:25 +02:00
Fabio Manganiello
da73a5f1b9
Replaced deprecated json_output arg in NextCloud client with response.json_data
2022-04-26 19:30:26 +02:00
Fabio Manganiello
486801653a
Added .exception
action to logger plugin
2022-04-03 00:26:39 +02:00
Fabio Manganiello
ffd23cf04d
[ #212 ] Support for asynchronous event monitoring on the GPIO plugin
2022-03-27 16:14:30 +02:00
Fabio Manganiello
fdf6d8fb4e
Better auto-generated documentation and fixed docstring warnings
2022-03-03 20:26:25 +01:00
Fabio Manganiello
0d0797a465
Added Jellyfin integration
2022-03-01 01:32:50 +01:00
Fabio Manganiello
71cb73cf63
FIX: The CN of the organizer may not necessarily be set in calendar.ical
2022-02-17 10:55:35 +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
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
1914322fda
FIX: get_plugin methods should never swallow errors in case of failed initialization
2022-02-07 01:47:38 +01:00
Fabio Manganiello
6656bb4ce5
Revert "Support for SSL flag on MQTT plugins without having to specify other tls_* options"
...
This reverts commit f3be4a50d8
.
2022-01-14 21:53:24 +01:00
Fabio Manganiello
f3be4a50d8
Support for SSL flag on MQTT plugins without having to specify other tls_* options
2022-01-14 21:39:16 +01:00
Fabio Manganiello
a46ce79f0a
Added guard against null variable names
2022-01-06 00:58:14 +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
e242dc53bf
FIX: All timestamps should be isoformat strings, otherwise come comparisons may break
2022-01-05 13:39:13 +01:00
Fabio Manganiello
ee0b6d237a
FIX: Timestamps on calendar parsed objects should be of type string, not datetime
2022-01-05 13:35:10 +01:00
Fabio Manganiello
9ba2c18595
Better logic for timezone handling/conversion in calendar plugin
2022-01-05 13:31:07 +01:00
Fabio Manganiello
20fc3d91fc
Updated Chromecast plugin to work with pychromecast >= 10.0
...
pychromecast 10.0 introduced some [breaking changes](https://github.com/home-assistant-libs/pychromecast/pull/556/files )
in the declaration of the Chromecast object -
namely, the `device` attribute has been renamed to
`cast_info`. The code of ChromecastPlugin has been
updated to guarantee compatibility in both cases.
2021-12-11 22:14:47 +01:00
Fabio Manganiello
2560bfa03f
Plex searcher extended to include also audio tracks
2021-12-04 00:08:47 +01:00
Fabio Manganiello
46d8d575ba
Handle and log media workers search errors
2021-12-03 21:54:41 +01:00
Fabio Manganiello
6023fd3db3
Given the new object-oriented design of the LTR559 library, the sensor object should be initialized in __init__ and read upon get_measurement()
2021-11-28 15:11:20 +01:00
Fabio Manganiello
f6057274a0
Variable name fix
2021-11-28 11:32:03 +01:00
Fabio Manganiello
2d9dff7d4c
Fixed LTR559 integration after a change in the core library interface
2021-11-28 11:25:41 +01:00
Fabio Manganiello
e615891bf3
Fixed missed assignment
2021-11-27 02:00:43 +01:00
Fabio Manganiello
02b5ec1d38
Fixed regex typo
2021-11-27 01:43:57 +01:00
Fabio Manganiello
2914a74b75
Replace relative links in converted markdown
2021-11-27 01:19:55 +01:00
Fabio Manganiello
1e1bf46f32
Fixed handling of URLs on Pushbullet notes
2021-11-26 19:07:44 +01:00
Fabio Manganiello
848b736d6e
Support for output format type on http.webpage.simplify even when outfile is not specified
2021-11-26 19:07:15 +01:00
Fabio Manganiello
f9f9c38a8b
Improved robustness of ICal event parser
2021-11-21 23:50:35 +01:00
Fabio Manganiello
518d9f20c6
Added docs for config plugin
2021-11-17 23:59:17 +01:00
Fabio Manganiello
6ba3128ac4
[ #201 ] Added Mailgun integration
2021-11-14 22:40:59 +01:00
Fabio Manganiello
d7b273434b
[ #203 ] Added IRC integration
2021-11-14 19:43:19 +01:00
Fabio Manganiello
acdc636b1f
Resolve "Mastodon integration"
2021-11-07 01:00:29 +01:00
Fabio Manganiello
6db070db1c
- Fixed switchbot.status
to handle virtual devices
...
- Fixed StrippedString schema field serialize handler
- Fixed rendering of lists in documentation schemas
2021-10-26 00:48:05 +02:00
Fabio Manganiello
952a2a9379
- Render nested attributes in schemas
...
- Provide relevant examples for schema fields with no description/examples based on the field type
- Fixed RST warnings in Slack plugin
- Fixed list of events in ngrok plugin
2021-10-24 11:53:38 +02:00
Fabio Manganiello
1906876969
FIX: Replaced VLC event.u occurrences
...
Newer versions of python-vlc have apparently
removed the `event.u` union object from the
events dispatched by the player, resulting in
player callback failures.
The occurrences of `event.u` have therefore
been replaced with the player methods to
correctly retrieve the current state.
2021-10-17 17:56:57 +02:00
Fabio Manganiello
f9ce03919b
FIX: Various omxplayer fixes
...
- Better synchronization with the player upon `play` request - wait until the play started event is received before returning the status
- DBus exceptions should be caught and handled in the status call
2021-10-17 16:54:57 +02:00
Fabio Manganiello
c3681e7b2a
FIX: Don't try and set the volume of the omxplayer when the instance may not be ready yet
2021-10-17 16:38:38 +02:00
Fabio Manganiello
144700b693
media.mpv should send MediaPlayRequestEvent with player and plugin parameters
2021-10-17 16:17:20 +02:00
Fabio Manganiello
4a5bb766af
Fixed some media plugins inconsistencies
...
- Removed replication of logic between media.get_youtube_url (action) and media.get_youtube_video_url (internal method)
- Added differentiation between MediaPlayEvent and MediaResumeEvent
2021-10-17 16:03:57 +02:00
Fabio Manganiello
8c339d0d55
Added support for custom YouTube preferred video/audio formats
2021-10-17 02:53:38 +02:00
Fabio Manganiello
64c402b1c0
[ #115 ] Added google.maps.get_travel_time
method
2021-10-16 22:35:37 +02:00
Fabio Manganiello
31ef9515f8
Added support for virtual IR devices in Switchbot plugin
2021-10-02 23:44:13 +02:00
Fabio Manganiello
04a5480d19
Resolve "[Feature Request] Gotify Push Intergration"
2021-10-01 23:50:53 +02:00
Fabio Manganiello
68831e9e81
[ #196 ] Added ngrok integration
2021-09-25 01:34:45 +02:00
Fabio Manganiello
d18245b15f
Fixed Slack plugin docs
2021-09-22 00:38:34 +02:00
Fabio Manganiello
f147c44a8a
Fixed docs issues
2021-09-22 00:19:14 +02:00
Fabio Manganiello
1a314ffd6b
Fixed LGTM errors and warnings
2021-09-17 22:21:29 +02:00
Fabio Manganiello
85af031c26
Empty torrent responses can sometimes include the objects as an empty list instead of an empty dict
2021-09-17 10:47:01 +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
a8064d2add
parse_magnet_uri can return either a metadata object or a dict depending on the libtorrent version
2021-08-05 20:23:54 +02:00
Fabio Manganiello
90ec108580
Added Slack integration
2021-07-28 01:09:09 +02:00
Fabio Manganiello
371dd6da0a
Added sun
plugin [ closes #194 ]
2021-07-22 01:02:15 +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
03631bcebc
Fixed import error in Adafruit.IO
2021-07-04 23:49:18 +02:00
Fabio Manganiello
a39452124d
Refactored PCA9685 backend
2021-05-17 15:32:43 +02:00
Fabio Manganiello
7ee869ce42
More robust logic for smooth transients on PCA9685
2021-05-16 18:14:02 +02:00
Fabio Manganiello
df36a9f811
s/execute/write/
2021-05-16 17:53:22 +02:00
Fabio Manganiello
abf793e703
Added get_channels() method to PCA9685 driver
2021-05-16 17:51:51 +02:00
Fabio Manganiello
132c659d3c
Reset self._pca to None on deinit()
2021-05-16 17:42:05 +02:00
Fabio Manganiello
acc4f1c0e3
Added PCA9685 PWM driver plugin
2021-05-16 17:29:03 +02:00
Fabio Manganiello
9eab526e47
Specify propertyKey on set_value() if exposed/required by the value payload [see #188 ]
2021-05-13 22:38:04 +02:00
Fabio Manganiello
8f6404d0b1
Revert "Support for custom timeout on MQTT message publish" (already implemented in the current logic)
2021-05-13 21:49:24 +02:00
Fabio Manganiello
b42c491390
Support for custom timeout on MQTT message publish
2021-05-13 21:33:08 +02:00
Fabio Manganiello
18e99c6f12
Added new Google Fit scopes for sleep and heart rate read
2021-05-10 21:21:03 +02:00
Fabio Manganiello
664ce4050d
Added Switchbot plugin
2021-05-10 18:43:00 +02:00
Fabio Manganiello
46aef7c8b5
autodoc fixes
2021-05-08 21:38:32 +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
Fabio Manganiello
2224681e3c
Removed OZW type references altogether to prevent import errors
2021-04-18 02:27:33 +02:00
Fabio Manganiello
68c44c0c3c
OZW objects should be imported inside of the ZwavePlugin
class to prevent ImportError
on other Z-Wave plugins that don't depend on OZW
2021-04-18 02:19:53 +02:00
Fabio Manganiello
02a22d4a88
The zwave and zwave.mqtt plugins should extend a common abstract class instead of having a zwave.mqtt -> zwave functional dependency that introduces the PyOWZ dependency into zwave.mqtt
2021-04-16 20:54:07 +02:00
Fabio Manganiello
c006c4b368
Added zwave.mqtt plugin and backend [ closes #186 ]
2021-04-12 02:45:59 +02: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
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
4313b6e883
media.vlc.status should synchronize on _stop_lock, or it may fail in the middle of its execution if the VLC session is being freed
2021-03-24 15:02:05 +01:00
Fabio Manganiello
9e46ab0b60
Wait for _on_stop_event in media.vlc.stop before releasing the instance
2021-03-16 22:34:03 +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
f92d19a24e
media.vlc.stop should be synchronized on the _stop_lock and should call _reset_state instead of simply setting self._player = None
2021-03-16 19:42:59 +01:00
Fabio Manganiello
1d3d741212
Fixed Sphinx build warnings
2021-03-14 01:09:01 +01:00
Fabio Manganiello
cef310ffd7
Added missing methods docs
2021-03-12 01:53:16 +01:00
Fabio Manganiello
02f6845e72
- Added weather.openweathermap plugin and backend, as a replacement for Darksky [ closes #177 ]
...
- Added note to the Darksky plugin about the decomissioning of the API by the end of the year
2021-03-12 01:31:26 +01:00
Fabio Manganiello
4902475caf
Added active_scan mode to bluetooth.scanner backend to actively perform a lookup name on each device discovered at least once [see #174 ]
2021-03-09 11:50:59 +01:00
Fabio Manganiello
d860d8aef1
Added SmartThings switch web plugin
2021-03-05 21:29:32 +01:00
Fabio Manganiello
47ba13d985
calendar.ical.get_upcoming_events should fail hard if there was any exception/unsuccessful response
...
The error should not be swallowed and it should be instead propagated up
to calendar.get_upcoming_events, if it's called from that context. And
calendar.get_upcoming_events should be in charge of handling the
exceptions and make sure that failing to retrieve the events for one
calendar doesn't make the whole method fail.
2021-03-05 11:16:14 +01:00
Fabio Manganiello
4ada1c663d
Added SmartThings plugin [ #148 ]
2021-03-05 02:23:28 +01:00