3f3726c50a
Fixed another occurrence of "Subscripted generics cannot be used" etc. error
2023-04-01 23:34:22 +02:00
e2e73d0fdb
Fix another Python < 3.10 subscripted generic issue.
2023-04-01 23:23:51 +02:00
c1d0f21ead
Migrated ltr559
integration to the new API.
...
Merged `backend.sensor.ltr559` and `gpio.sensor.ltr559` into the new
`sensor.ltr559` plugin, which extends the new `SensorPlugin` API.
2023-04-01 23:16:03 +02:00
8e0f88ea16
Don't swap the argument of SensorPlugin.publish_entities
with a list if not required
2023-04-01 23:06:37 +02:00
0047d85b9d
Dirty fix for "Subscripted generics cannot be used with class and instance checks" on Python < 3.10
2023-04-01 22:52:24 +02:00
98ec018292
Replaced NoneType
reference.
...
`types.NoneType` is not always available on all Python versions, so we
have to make our own type for it.
2023-04-01 22:42:13 +02:00
5dabfed365
Migrated sensor.bme280
to the new SensorPlugin
interface.
...
Removed the old `backend.sensor.bme280` and the old `gpio.sensor.bme280`
plugin. They have now been merged into the new `sensor.bme280` runnable
plugin, which extends the `SensorPlugin` API and supports entities.
2023-04-01 22:31:24 +02:00
6f237a1500
Support the deprecated poll_seconds
option on RunnablePlugin
2023-04-01 22:02:59 +02:00
c23e8867e2
Added enabled_sensors
to the sensor
plugin
2023-04-01 21:56:56 +02:00
7912a59ff8
vl53l1x
plugin migrated to the new SensorPlugin
interface.
2023-04-01 19:31:13 +02:00
6a5a5de03e
serial
plugin migrated to the new SensorPlugin
interface.
2023-04-01 19:29:56 +02:00
bf4db76830
Legacy sensor
backend replaced by an extended sensor
runnable plugin.
2023-04-01 19:24:35 +02:00
bf75eb73ac
Added an abstract base SensorDataEvent
for sensor events.
2023-03-31 22:51:35 +02:00
6a3ade3304
Added common.sensors
package.
...
The package contains the base types and constants shared across
sensor-based integrations.
2023-03-31 22:50:47 +02:00
42d468c895
get_lock
should raise a TimeoutError if lock.acquire
is False
2023-03-31 22:31:32 +02:00
7bdd877e49
Support the binary
flag both on serial.read
and serial.write
.
2023-03-31 14:31:45 +02:00
1efaff878e
Rewritten serial
plugin.
...
`backend.serial` has been removed and the polling logic merged into the
`serial` plugin.
The `serial` plugin now supports the new entity engine as well.
2023-03-31 14:31:45 +02:00
2a8a3f4394
Removed legacy sensor.distance.vl53l1x backend
2023-03-31 14:26:14 +02:00
a3e8c7c155
Rewritten vl53l1x integration as a runnable plugin with entity support
2023-03-31 14:25:05 +02:00
226034946f
Added distance_sensor
entity
2023-03-31 14:22:28 +02:00
6fb362a6fb
gpio.sensor.distance.vl53l1x -> sensor.distance.vl53l1x
2023-03-31 14:21:48 +02:00
e198f2a175
Replaced .title
in get_plugin
with .upper
on the first character.
...
`str.title` capitalizes any alphabetic letter after any non-alphabetic
letter. That's a problem for Platypush plugins' naming convention,
because plugins like `sensor.distance.vl53l1x` may be broken into
`sensor.distance.vl53.l1.x`.
2023-03-31 14:09:43 +02:00
c2f9ebf4ed
Updated dist files
2023-03-27 01:47:29 +02:00
2781eb1fb1
Merge branch 'master' into 29-generic-entities-support
2023-03-27 00:36:50 +02:00
7a368ebbb8
[ #240 ] Migrated clipboard
plugin from pyperclip
to pyclip
.
...
Closes : #240
2023-03-26 23:52:15 +02:00
bce2fdee25
Replaced deprecated asyncio.wait([])
with asyncio.gather(*[])
.
2023-03-26 23:15:53 +02:00
cf91ab90df
Increased default width of nav
on desktop+
2023-03-26 23:10:46 +02:00
c0251ef2f7
s/instance/instance_name/g
in LinodeInstanceStatusChanged
.
...
For sake of consistency - we also have `instance_id` and having the
instance name assigned to the `instance` attribute is quite ambiguous.
2023-03-26 22:58:20 +02:00
6d674fef21
Fixed small JSON syntax error in the docstring of ntfy.send_message
.
2023-03-26 22:53:42 +02:00
30124e7cef
Fixed docstring of Event.__init__
.
2023-03-26 22:53:11 +02:00
276aff757b
Removed circular dependency.
...
Workaround for the circular dependency between
`platypush.entities.bluetooth` and `platypush.plugins.bluetooth.model`.
Unentangling the circular dependency would require way too much work,
since the entity model provides several helpers and properties that
depend on the plugin's model.
The workaround in this commit is to simply push those imports down in
the methods that use them, so they won't be imported until those methods
are called, as well as removing some type annotations that depended on
those objects.
2023-03-26 15:30:57 +02:00
89bc54da22
Updated dist files
2023-03-26 12:30:46 +02:00
295758bb20
Added frontend components for cloud instances.
2023-03-26 12:27:17 +02:00
bc2730c841
Rewritten linode
integration.
...
- Support for cloud instances as native entities.
- Using Marshmallow dataclasses+schemas instead of custom `Response`
objects.
- Merge `linode` backend into `linode` plugin.
2023-03-26 11:23:33 +02:00
4b9c5a0203
Support for schema EnumField
.
2023-03-26 03:48:32 +02:00
026662f6b6
Added base schema for Marshmallow dataclasses.
2023-03-26 03:47:44 +02:00
7bbae55e44
platypush.entities._managers
-> platypush.entities.managers
.
...
It's better for entity managers to be stored in their own public
package, instead of cluttering too much the namespace of their parent
package.
2023-03-26 03:46:06 +02:00
89d85baa6d
Support for implicit serialization of Enum values in JSONAble.
2023-03-26 03:43:04 +02:00
a71017df33
Updated web app files
2023-03-24 16:45:55 +01:00
567e9d4e21
Removed legacy bluetooth
backends.
...
No replacements have been made for the OBEX backends (push and file
services). PyOBEX is too broken and unmaintained, and there are too many
poorly documented steps required to get an unprivileged user to run an
SDP service.
2023-03-24 16:41:30 +01:00
3c355352c5
Using the new StoppableThread
API.
2023-03-24 16:39:30 +01:00
5ebf4e912e
Added wait_stop
and shoud_stop
methods to StoppableThread
.
2023-03-24 16:05:18 +01:00
998793e94f
Added OBEX_FILE_TRANSFER
constant to directory
stub.
2023-03-24 15:41:20 +01:00
4b4db5b3c7
Added StoppableThread
common interface.
2023-03-24 15:40:16 +01:00
2f49ddf33a
Fallback logic that uses DBus to disconnect from a BT device.
...
This logic will be used if the connection wasn't opened by the current
process and therefore a call to DBus is required to terminate it.
2023-03-24 01:57:05 +01:00
913ef6f8cd
Refresh BluetoothDevice.reachable
when a device is found/lost.
2023-03-24 01:56:19 +01:00
d46d4e2300
Added support for Bluetooth devices blacklist.
...
Based on device address, name or manufacturer.
2023-03-24 01:52:39 +01:00
0cebcf4f9b
switchbot.bluetooth
integration migrated to a bluetooth
plugin.
2023-03-23 17:46:54 +01:00
4fac110bb8
Added bluetooth.set
method, whose execution is delegated to the plugins.
2023-03-23 17:45:02 +01:00
cd219f44c4
Pass the list of plugins when creating Bluetooth managers.
2023-03-23 17:42:16 +01:00