Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/freshollie/bacprop
A zero-configuration MQTT to BACnet gateway
https://github.com/freshollie/bacprop
asyncio bacnet bacpypes iot mqtt python
Last synced: 2 days ago
JSON representation
A zero-configuration MQTT to BACnet gateway
- Host: GitHub
- URL: https://github.com/freshollie/bacprop
- Owner: freshollie
- License: mit
- Created: 2019-05-30T14:26:55.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-07-22T07:11:30.000Z (over 1 year ago)
- Last Synced: 2024-05-02T02:37:35.757Z (7 months ago)
- Topics: asyncio, bacnet, bacpypes, iot, mqtt, python
- Language: Python
- Homepage:
- Size: 98.6 KB
- Stars: 5
- Watchers: 7
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# BACprop
[![pipeline status](https://gitlab.com/freshollie/bacprop/badges/master/pipeline.svg)](https://gitlab.com/freshollie/bacprop/commits/master)
[![coverage report](https://gitlab.com/freshollie/bacprop/badges/master/coverage.svg)](http://freshollie.gitlab.io/bacprop)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)A MQTT to BACnet relay. Translating IoT data into virtual sensors on a bacnet network.
## Usage
Running `bacprop` on a local network will allow IoT devices to send MQTT data representing sensor data to
`bacprop` where the sensor will be represented as a BACnet object on the same network.The sensor must send a JSON MQTT message on the channel `sensor/`. The JSON object keys
will be translated to the properties of the BACnet Object, with the sensorId as the ID of the object.A sensor message might look like:
```json
{
"sensorId": 2,
"temp": 5.3,
"co2": 502
}
````bacprop` will mark faultly any sensor object which it has no received data from
after 10 minutes, as specified in the `bacprop/service.py` definition.## Developing
`bacprop` is developed using `pipenv`
`pipenv install --dev` will install all requirements for development to take place.
## Testing
`bacprop` is 100% unit tested, and all changes should continue this.
`pipenv run python -m bacprop` can be used to test changes
`pipenv run test` will run all tests
## Running
`pipenv install` will install all requirements for running
`pipenv run python -m bacprop`
## Docker
Docker images have been provided for `bacprop`. Both an armv6 image and a x86 image exist.
## License
`MIT`