view README.md @ 1562:c2ed44ed1e3c dependabot/pip/service/collector/twisted-19.7.0

Bump twisted from 19.2.0 to 19.7.0 in /service/collector Bumps [twisted](https://github.com/twisted/twisted) from 19.2.0 to 19.7.0. - [Release notes](https://github.com/twisted/twisted/releases) - [Changelog](https://github.com/twisted/twisted/blob/trunk/NEWS.rst) - [Commits](https://github.com/twisted/twisted/compare/twisted-19.2.0...twisted-19.7.0) Signed-off-by: dependabot[bot] <support@github.com>
author dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
date Fri, 14 Feb 2020 10:01:26 +0000
parents a3dc6a31590f
children
line wrap: on
line source

# Goals

Make rules easy to add and experiment with. 
Be transparent and debuggable. 
Don't pack things into names that need to be parsed out. 
Prefer RDF and URIs over ad-hoc structures and ids. 
Integrate with lots of outside data sources. 

## Input

Services create RDF graphs (legacy) and send MQTT messages (esp32 nodes, and eventually everything)

`mqtt_to_rdf` gathers those inputs; writes some of them to influxdb; turns them into an RDF graph

`collector` takes multiple RDF graphs and merges them into new combinations

## Reasoning
`reasoning` takes an RDF graph and N3 rules; emits an RDF graph (and makes HTTP PUT and POST requests)

## Output

`rdf_to_mqtt` takes RDF graph and emits MQTT messages

(`reasoning` does some of its own output actions)

Services (sometimes, the same ones that gathered input) perform home automation outputs.

## Protocols

A SyncedGraph can be updated on a server such that the updates (as Patch objects) are sent as JSON-LD over a long-running SSE connection. There's a Patches-over-websocket connector in the `rdfdb` repo.

MQTT: Matching a lot of what esphome.io has, which maybe is compatible with homeassistant?