[#29] Support for general-purpose entities #230
No reviewers
Labels
No labels
architecture
authentication
backend
bug
ci/cd
cleanup
documentation
duplicate
enhancement
good first issue
help wanted
in progress
invalid
media
mobile
new feature
notes
packaging
question
ui
upstream breaking change
voice
waiting user input
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
platypush/platypush!230
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "29-generic-entities-support"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes: #29
TODO list:
zigbee/zwavelight.hueplugin/backendsmartthingsdevice_setif the device is write-onlylast_updated_atin entitieszwaveconfiguration entitieszigbeeconfiguration entitieszwave.mqttzwave.mqttzigbee.mqttsmartthingszigbee.mqttplugin/backendzwave.mqttplugin/backend@managesworkaround with propertyEntityManagerclassswitchbotintegrationbluetoothintegration[ ] Support OTA updates on(moved to #242)zigbee.mqttentities[ ] Support OTA updates on(moved to #242)zwave.mqttentities[ ] Support sensors in(moved to #243)light.hue[ ] Support dimmers in(moved to #243)light.hueswitchbot[ ] Support nested filters on(requires further refinements/use cases)@hookdataattributes on UI modal[ ] Add support for groups(moved to #244)[ ] Add support for scenes(moved to #245)[ ] Entity history(too complex to implement, too many use cases, and it can probably be handled better with custom user scripts on entity events that store them however the user wants)switcheszwaveintegration[ ] Implement camera entities(moved to #246)reachableflag[ ] TV entities support for(smartthings/samsungtvwssmartthingsTV support has already been implemented, whilesamsungtvwsis too specific to be modeled as a generic entity)[ ] Media player entities support(moved to #247)[ ] Audio player entities support(moved to #248)[ ] Audio stream entities support(moved to #249)<keep-alive>components.exceptionaction to logger plugin 2c4c27855dicon_class) db7c2095eaentitiesshould be the default view when the web panel is opened a9751f21f1reachableflag to device entities 90f067de61lightentities 975d37c562light.hueplugin. 8d57cf06c2dataattributes in the entity info modal b16af0a97freachableis an attribute ofstate46df3a6a98light.huebackend 117f92e5b4entities.get89560e7c38WIP: Support for general-purpose entitiesto [#29] WIP: Support for general-purpose entitiesextend_existing=Truefor entity tables 5f09d449f4zwaveplugin and backend (usezwave.mqttinstead) 1af7ece881zigbee.mqtta1cf671334No converter availablewarnings on zigbee2mqtt d7214c4c83expandeddata attribute 68dd09e8aeEnumSwitchentity type 00a43dd1f8user_managershould be a global object instead of being initialized on-demand 8a894d0989_get_sessioninEntityManagerbfeb0a08c4PRAGMA foreign_keys = ONbefore deleting entities on SQLite 24f5a8283czigbee.mqtt211372e472zwave.mqttd171000a0eEnumSensorentities b9e6614b04UserManager.get_usersae17a12c12dataattribute onEntityUpdateEventshouldn't be taken into account for flashing updates bba582875a[#29] WIP: Support for general-purpose entitiesto WIP: [#29] WIP: Support for general-purpose entitiesWIP: [#29] WIP: Support for general-purpose entitiesto WIP: [#29] Support for general-purpose entitieszwave.mqttentities cc156a53a1zwavejs2mqttproject has been renamedzwave-js-ui09d70e2ff1zigbee.mqtt1ab85f99d9Base.metadatainstead of having a separate entity registry ecba72935fbackend.zwaveevent logic dispatch for recent versions of ZWaveJS. 313105f014zwave.mqttbackend 6a2a3100f8autoflushshould be passed as an option todb.get_session. c4f649a0d5zwave.mqttvalue attributes. cf9d34d38edisable_loggingwith a more genericlogging_level. d4b540dd67backend.http. edddc90d73zwaveentities 01727f53bczigbee.mqtt4a2851231czigbee.mqtt22a566a88bzwave.mqttbackend 32e4e60579smartthingsddd516a677smartthings. 6d4cf64253stop_timeout(default=5) for RunnablePlugin bb637a1411VolumeandMutedentities fd76642082Sensorinstances should haveis_read_only=Trueby default 147f36c86csmartthingsba31dff06asmartthingsintegration afdeb91f66zigbee.mqttbackend into the plugin. 341e749d23zwave.mqttbackend into thezwave.mqttplugin 8aff181956@managesannotation into a properEntityManagerhierarchy be3b99326fswitch.tplinkplugin. 3db9c58d31utilsplugin 6ef2feea71get_sensor_pluginsandget_switch_pluginsactions a160d3217eswitch.wemointegration now extendsSwitchEntityManager0311d87bc3Dimmerdisplay value if it's available db5846d296Configclass b96838a856switchbotplugin as a runnable plugin + entity manager 2047b9b76cswitchbot06dfd1a152RunnablePluginset to 30 seconds b8fca97891utilsmodule + additional documentation 4849e14414SwitchPlugin9d028af524publish_entitiesreturn the list of transformed_entities 35719b0da9switchbot.bluetoothintegration. 8469a1027fswitchbot.bluetooth. f30e077a5abluetooth.bleplugin to usebleakinstead ofgattlib. b0cc80ceb0setas a base method for all plugins that implement writeable entities 575635fd6bEntityManager.set1d0be5c929scan_pause/scan_resumeonbluetoothintegration. a3aa186ddfbackend.bluetooth.scanner. 45664be44bEntityManager._normalize_entities8aedc3c233BluetoothDevice. a6c36fa1c1AsyncRunnablePlugin. 9112239ac3bluetooth.connectin a per-device locked section. 73bf2446bdtype: ignorecomments. 340fd08064smartthingsb2ffc08c89RawSensorentity. dc7cbe743dBluetoothDeviceNewDataEvent. a5a923a752RawSensorinbluetoothintegration. 9776921836StepsSensorentity. e1b3d52706StepsSensordetection tobluetooth. 3dab94c346TimeDurationSensorentity. d961e2a997unittobluetoothmappers whenever available. dd3f683006PressureSensorentities. d212276247DewPointSensorentities. 56d693032abluetoothdevices with multiple temperature sensors. 886b930e2fPresenceSensorentities. a0556d3a42bluetoothentity types in_mappers.py. 2dfb389630successresponse attribute. 70d1bb893cconnectanddisconnectactions tobluetooth. 15fadb93bbunitcolumn toRawSensorentity. ead4513915poll_intervalforRunnablePlugin. a688e7102e.copy()method toEntity. 7e92d5f244EntitiesDb.upsertshould return a deep copy of the upserted entities. 31552963c4to_jsonmethod. 4bc61133c5childrenfromBluetoothDevice.to_json- it makes events too verbose 256d9adbf2connectedflag toBluetoothService. 243de15813parentcomponent value toEntity. f74fab795dexcluded_manufacturerstoBluetoothPlugin. b1cb7ef847bluetooth.ServiceClass. c750d83188valueas well as_valuefields. 486f37a45eunitin BLE sensors when they are matched against the native type. f7e8cfe5a7exclude_known_noisy_beaconstobluetoothplugin. 01d323fad0Apple Continuityto the list of blacklisted manufacturers/models a2a5fce6cbBleakErrorexceptions intoAssertionError. 6267943786get_device. 43289a3b55bluetooth.setmethod, whose execution is delegated to the plugins. 4fac110bb8switchbot.bluetoothintegration migrated to abluetoothplugin. 0cebcf4f9bBluetoothDevice.reachablewhen a device is found/lost. 913ef6f8cdStoppableThreadcommon interface. 4b4db5b3c7OBEX_FILE_TRANSFERconstant todirectorystub. 998793e94fwait_stopandshoud_stopmethods toStoppableThread. 5ebf4e912eStoppableThreadAPI. 3c355352c5bluetoothbackends. 567e9d4e21marshmallow_dataclassto the requirements. f5d9895521platypush.entities._managers->platypush.entities.managers. 7bbae55e44EnumField. 4b9c5a0203linodeintegration. bc2730c841Event.__init__. 30124e7cefntfy.send_message. 6d674fef21maxdepthattribute in generate docs. efe400f921s/instance/instance_name/ginLinodeInstanceStatusChanged. c0251ef2f7navon desktop+ cf91ab90dfasyncio.wait([])withasyncio.gather(*[]). bce2fdee25.titleinget_pluginwith.upperon the first character. e198f2a175distance_sensorentity 226034946fserialplugin. 1efaff878ebinaryflag both onserial.readandserial.write. 7bdd877e49get_lockshould raise a TimeoutError iflock.acquireis False 42d468c895common.sensorspackage. 6a3ade3304SensorDataEventfor sensor events. bf75eb73acsensorbackend replaced by an extendedsensorrunnable plugin. bf4db76830serialplugin migrated to the newSensorPlugininterface. 6a5a5de03evl53l1xplugin migrated to the newSensorPlugininterface. 7912a59ff8enabled_sensorsto thesensorplugin c23e8867e2poll_secondsoption onRunnablePlugin6f237a1500sensor.bme280to the newSensorPlugininterface. 5dabfed365NoneTypereference. 98ec018292SensorPlugin.publish_entitieswith a list if not required 8e0f88ea16ltr559integration to the new API. c1d0f21eadsensor.transform_entities99572f9731sensor.vl53l1x.transform_entitiesto call the parent. f24d0773d1sensor.*icon classes 839c6108a0s/TimeDurationSensor/TimeDuration/gd964167631ThreeAxisSensor8d4aa310f4Entity.to_dictnow takes into account columns mapped to properties. 9e5ad0e0b1Message.Encodershould serialize binary data to0x-led hex strings. 31f411868cEntityshould useMessage.Encoderas a JSON serializer. 3cd42c9e45envirophatto the newSensorPluginAPI. 7697c1c6adabs(old_data - new_data) >= tolerance. 88784985e1_last_measurementonly if some events were processed from the new data. fcdda40c4apmw3901integration. 44cf25271csensor.accelerometerintegration. 8f604445a2dhtintegration. beff88986asensor.distanceintegration. 962c55937dmcp3008integration to the newSensorPluginAPI. ac2ec58f89arduinointegration to the newSensorPluginAPI. d5ddc0c65esensor.mcp3008plugin. 8852cb8db4gpio.sensorbase plugin. 6e5f746dbeswitchbot. 10955dad72poll_secondsinlight.hue. a499b7bc2fsystemplugin to support entities. b43017ef01include_childrenparameter to_merge_columns. e7f64843a5PercentSensorentity type. 65481dc6b4CpuandCpuTimesentities. e810025a6dCpuTimes. 6e65783feballEntities. 4842c1911bCpuTimesas an entity of thesystemplugin. b9286f50b0Also, there is now a single `Cpu` entity being exported, with a nested hierarchy structured like: ``` cpu -> cpu_info -> cpu_times -> idle -> user -> system -> ... -> cpu_load -> ... ```CpuTimesResponse. 711cc2b239percententity tocpu. b4fbd3e915CpuStatsentity tosystem. a5b0a524f6CpuFrequencyentity tosystem. 1cee0459cfload_averageentity. 0073239a40convertTimeutility function e8c96ad35ddiskentities in thesystemintegration. 44b8fd4b34NetworkInterfaceentities tosystemplugin. 98a300c4b1NetworkConnectionschema/response. b3a0896485.statusfails. 2d618188c8NetworkInterfacemodel. 977b55dea9network_statsintoNetworkInterfacemodel. 374f936c1fsystemplugin. b3440ab96bsystemplugin. a72c32cb00poll_intervalforsystemplugin to 60 seconds. 763d9e06ecbackend.sensor.battery. 259b42bdd6system.connected_usersto the new data model. 387616ea96system.processesto the new data model. 27b1048789zigbee.mqttplugin. 9c1855e4c0WIP: [#29] Support for general-purpose entitiesto [#29] Support for general-purpose entitiesThis PR has already been open for more than a year. Since most of the planned foundational features have now been implemented, this PR can be closed. New tickets have been created for the remaining features.
Pull request closed