Fabio Manganiello
fcdda40c4a
Update the _last_measurement
only if some events were processed from the new data.
2023-04-02 12:09:45 +02:00
Fabio Manganiello
88784985e1
Should be abs(old_data - new_data) >= tolerance
.
...
Not `abs(old_data - new_data) > tolerance`.
2023-04-02 12:08:40 +02:00
Fabio Manganiello
a3f4b21478
Updated dist files
2023-04-02 03:24:11 +02:00
Fabio Manganiello
e6e5dec088
Updated dist files
2023-04-02 02:56:09 +02:00
Fabio Manganiello
7697c1c6ad
Migrated envirophat
to the new SensorPlugin
API.
...
Removed `backend.sensor.envirophat` and `gpio.sensor.envirophat` plugin.
They have now been merged into the new `sensor.envirophat` plugin.
2023-04-02 02:49:08 +02:00
Fabio Manganiello
3cd42c9e45
Entity
should use Message.Encoder
as a JSON serializer.
2023-04-02 02:44:19 +02:00
Fabio Manganiello
31f411868c
Message.Encoder
should serialize binary data to 0x
-led hex strings.
2023-04-02 02:43:06 +02:00
Fabio Manganiello
9e5ad0e0b1
Entity.to_dict
now takes into account columns mapped to properties.
...
No more `_value` in the JSON output instead of the `value` property.
If a column is marked as private, and there's an associated property
mapped to its public name, then we should use and serialize that value.
2023-04-02 02:22:40 +02:00
Fabio Manganiello
8d4aa310f4
Support for values passed in dict format to ThreeAxisSensor
2023-04-02 02:02:08 +02:00
Fabio Manganiello
5a6f4bcf57
Added 3-axis sensor, accelerometer and magnetometer entities
2023-04-02 01:13:22 +02:00
Fabio Manganiello
d964167631
s/TimeDurationSensor/TimeDuration/g
2023-04-02 00:57:48 +02:00
Fabio Manganiello
839c6108a0
Added sensor.*
icon classes
2023-04-02 00:40:50 +02:00
Fabio Manganiello
429893ddbf
Updated dist files
2023-04-01 23:58:28 +02:00
Fabio Manganiello
f24d0773d1
No need for sensor.vl53l1x.transform_entities
to call the parent.
2023-04-01 23:54:43 +02:00
Fabio Manganiello
99572f9731
Sanity check to prevent empty objects from being propagated to sensor.transform_entities
2023-04-01 23:41:28 +02:00
Fabio Manganiello
3f3726c50a
Fixed another occurrence of "Subscripted generics cannot be used" etc. error
2023-04-01 23:34:22 +02:00
Fabio Manganiello
e2e73d0fdb
Fix another Python < 3.10 subscripted generic issue.
2023-04-01 23:23:51 +02:00
Fabio Manganiello
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
Fabio Manganiello
8e0f88ea16
Don't swap the argument of SensorPlugin.publish_entities
with a list if not required
2023-04-01 23:06:37 +02:00
Fabio Manganiello
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
Fabio Manganiello
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
Fabio Manganiello
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
Fabio Manganiello
6f237a1500
Support the deprecated poll_seconds
option on RunnablePlugin
2023-04-01 22:02:59 +02:00
Fabio Manganiello
c23e8867e2
Added enabled_sensors
to the sensor
plugin
2023-04-01 21:56:56 +02:00
Fabio Manganiello
7912a59ff8
vl53l1x
plugin migrated to the new SensorPlugin
interface.
2023-04-01 19:31:13 +02:00
Fabio Manganiello
6a5a5de03e
serial
plugin migrated to the new SensorPlugin
interface.
2023-04-01 19:29:56 +02:00
Fabio Manganiello
bf4db76830
Legacy sensor
backend replaced by an extended sensor
runnable plugin.
2023-04-01 19:24:35 +02:00
Fabio Manganiello
bf75eb73ac
Added an abstract base SensorDataEvent
for sensor events.
2023-03-31 22:51:35 +02:00
Fabio Manganiello
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
Fabio Manganiello
42d468c895
get_lock
should raise a TimeoutError if lock.acquire
is False
2023-03-31 22:31:32 +02:00
Fabio Manganiello
9693becb9e
Removed LGTM badges from the README.
...
LGTM is now merged into Github and the badges are no longer available.
2023-03-31 14:31:45 +02:00
Fabio Manganiello
7bdd877e49
Support the binary
flag both on serial.read
and serial.write
.
2023-03-31 14:31:45 +02:00
Fabio Manganiello
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
Fabio Manganiello
4f15758de9
black fixes
2023-03-31 14:31:38 +02:00
Fabio Manganiello
2a8a3f4394
Removed legacy sensor.distance.vl53l1x backend
2023-03-31 14:26:14 +02:00
Fabio Manganiello
a3e8c7c155
Rewritten vl53l1x integration as a runnable plugin with entity support
2023-03-31 14:25:05 +02:00
Fabio Manganiello
226034946f
Added distance_sensor
entity
2023-03-31 14:22:28 +02:00
Fabio Manganiello
6fb362a6fb
gpio.sensor.distance.vl53l1x -> sensor.distance.vl53l1x
2023-03-31 14:21:48 +02:00
Fabio Manganiello
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
Fabio Manganiello
c2f9ebf4ed
Updated dist files
2023-03-27 01:47:29 +02:00
Fabio Manganiello
2781eb1fb1
Merge branch 'master' into 29-generic-entities-support
2023-03-27 00:36:50 +02:00
Fabio Manganiello
792a65df8b
Merge pull request '[ #240 ] Migrated clipboard
plugin from pyperclip
to pyclip
' ( #241 ) from 240-migrate-clipboard-integration-to-pyclip into master
...
Reviewed-on: platypush/platypush#241
2023-03-26 23:56:51 +02:00
Fabio Manganiello
7a368ebbb8
[ #240 ] Migrated clipboard
plugin from pyperclip
to pyclip
.
...
Closes : #240
2023-03-26 23:52:15 +02:00
Fabio Manganiello
bce2fdee25
Replaced deprecated asyncio.wait([])
with asyncio.gather(*[])
.
2023-03-26 23:15:53 +02:00
Fabio Manganiello
cf91ab90df
Increased default width of nav
on desktop+
2023-03-26 23:10:46 +02:00
Fabio Manganiello
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
Fabio Manganiello
efe400f921
Fixed maxdepth
attribute in generate docs.
2023-03-26 22:55:22 +02:00
Fabio Manganiello
6d674fef21
Fixed small JSON syntax error in the docstring of ntfy.send_message
.
2023-03-26 22:53:42 +02:00
Fabio Manganiello
30124e7cef
Fixed docstring of Event.__init__
.
2023-03-26 22:53:11 +02:00
Fabio Manganiello
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