Fabio Manganiello
962c55937d
Migrated `sensor.distance` integration.
...
Remove `backend.sensor.distance` and `gpio.sensor.distance`. They are
now replaced by the `sensor.hcsr04` integration, which is compatible
with the new `SensorPlugin` API.
2023-04-02 14:20:12 +02:00
Fabio Manganiello
92578a17c9
Added small docstring portion
2023-04-02 13:55:00 +02:00
Fabio Manganiello
beff88986a
Migrated `dht` integration.
...
Removed `backend.sensor.dht` and `gpio.sensor.dht`. They have been
merged into the new `sensor.dht` integration, which supports the new
`SensorPlugin` API.
2023-04-02 13:38:53 +02:00
Fabio Manganiello
8f604445a2
Migrated old `sensor.accelerometer` integration.
...
Removed `backend.sensor.accelerometer` and `gpio.sensor.accelerometer`.
The logic has now been merged in the new `sensor.lis3dh` integration,
which is compatible with the new `SensorPlugin` API.
2023-04-02 13:22:28 +02:00
Fabio Manganiello
44cf25271c
Migrated `pmw3901` integration.
...
Removed legacy `backend.sensor.motion.pmw3901` and
`gpio.sensor.motion.pmw3901`. They have been merged in the new
`sensor.pmw3901` integration, compatible with the new `SensorPlugin`
API.
2023-04-02 12:36:08 +02:00
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: #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