Skip to content

Commit

Permalink
Generate 2.2.9 docs
Browse files Browse the repository at this point in the history
  • Loading branch information
runner committed Jul 12, 2023
1 parent f9bfc0d commit 3d47ca7
Show file tree
Hide file tree
Showing 33 changed files with 4,992 additions and 3 deletions.
155 changes: 155 additions & 0 deletions docs/2.2.9/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
Unreleased
==========
- Nothing!

.v2.2.7 - 2022-07-07
====================
- Fix some minor pylint issues and silence some others.
- Fix bug with changing reference to 'edge' in raspberrypi module. #268 @vytautassurvila
- Add INA219 sensor module. #221 @birdie1
- Implement PinPUD.OFF for pcf8574/5. #217 @IlmLV
- Ensure HCSR04 distance cannot be None. #215 @joseffallman
- Add GPIOZero module. #212 @fipwmaqzufheoxq92ebc
- Render config with confp to allow dynamic configuration based on environment/redis/etcd vars. #210 @fipwmaqzufheoxq92ebc
- Log uncaught exceptions to configured logging handlers. #206 @fipwmaqzufheoxq92ebc

v2.2.6 - 2021-04-23
===================
- Create docs in a tempdir to stop them from being clobbered when changing branches.

v2.2.5 - 2021-04-23
===================
- Sort versions in docs. Use git pull properly.

v2.2.4 - 2021-04-23
===================
- Generate docs versions and root index to strings and write them after switching branches

v2.2.3 - 2021-04-23
===================
- Add docs root index to git separately

v2.2.2 - 2021-04-23
===================
- Fix version regex for docs index generation

v2.2.1 - 2021-04-23
===================
- Handle tags in generate docs script.

v2.2.0 - 2021-04-23
===================
- Multi-versioned documentation.
- Auto-reconnect to MQTT server on disconnection. #207 @fipwmaqzufheoxq92ebc

v2.1.8 - 2021-04-21
===================
- Fix broken hcsr04 sensor that I (@flyte) broke when rewriting for v2.x. #211 @r00tat
- Fix inversion not taken into account when publishing initial digital output value. #203 @r00tat
- Fix #198 where Future wasn't created from the right thread. #205 @fipwmaqzufheoxq92ebc

v2.1.7 - 2021-04-01
===================
- Add install_requirements config option to skip installing missing module requirements. #199

v2.1.6 - 2021-04-01
===================
- Add ADS1x15 module. #200 @r00tat

v2.1.5 - 2021-04-01
===================
- Update PyYAML version to 5.4 CVE-2020-14343

v2.1.4 - 2021-03-26
===================
- Add version to 'model' field of HA Discovery config payload. #196 @pbill2003

v2.1.3 - 2021-03-26
===================
- Add missing `spi_device` config schema entry for MCP3008 sensor module. #194

v2.1.2 - 2021-03-24
===================
- Remove config validation that checks usage of the same numbered pin used twice. #191

v2.1.1 - 2021-03-16
===================
- Fix bodged BH1750 sensor value reading code. #189

v2.1.0 - 2021-03-11
===================
- Add *OPT-IN* error reporting to sentry. Bumps minor version because it adds a config entry.

v2.0.1 - 2021-03-11
===================
- Fix bug where sensor config was retrieved from the wrong place https://github.com/flyte/mqtt-io/issues/185

v2.0.0 - 2021-03-07
===================
- Rewrite core with asyncio
- Change MQTT client to asyncio-mqtt
- Add better validation for config
- [Move some config values around](https://flyte.github.io/mqtt-io/#/config/v2-changes), but mostly stay compatible with existing configs
- Add MCP23017 module
- [Rework interrupts](https://flyte.github.io/mqtt-io/#/config/interrupts) to allow for pins to be interrupts for other pins on other modules
- Enable extra values to be added to the [Home Assistant Discovery](https://flyte.github.io/mqtt-io/#/config/ha_discovery) config payloads
- Rename package from pi-mqtt-gpio to mqtt-io since it's not just for Raspberry Pi, and not just for GPIO
- Create generated documentation for the config file options ("Section Reference" section of [the documentation](https://flyte.github.io/mqtt-io/#/))
- Tons more stuff, too varied to list here. It's safe to say that almost everything has been improved (hopefully) in some way

v0.5.3 - 2020-10-17
===================
- Add PCF8575 support. #121
- Add MCP3008 sensor support. #115
- Add AHT20 sensor support. #122
- Add BME280 sensor support. #132
- Install requirements using current Python executable. #134
- Add sensors to HASS discovery. #133
- Add option to publish output value on startup. #125

v0.5.2 - 2020-10-17
===================
- Update PyYAML to a version that doesn't suffer from CVE-2020-1747 vulnerability.
- Add 'stream' IO.

v0.3.1 - 2019-03-10
===================
- Pin safe version of PyYAML in requirements.

v0.3.0 - 2019-03-10
===================
- Merge PR from @BenjiU which implements a new sensor interface. #52

v0.0.12 - 2017-07-26
====================
- Add cleanup function to modules which are called before program exit. #16

v0.0.11 - 2017-07-26
====================
- Decode received MQTT message payload as utf8 before trying to match with on/off payload values. #14

v0.0.10 - 2017-07-26
====================
- Fix bug with selection of pullup value in raspberrypi module when none set. #15

v0.0.9 - 2017-07-26
===================
- Successful fix for bug with loading config schema. #13

v0.0.8 - 2017-07-26
===================
- Failed fix for bug with loading config schema. #13

v0.0.7 - 2017-07-17
===================

- Implement `set_on_ms` and `set_off_ms` topic suffixes. Closes #10

v0.0.6 - 2017-07-17
===================

- Large refactor and tidyup.
- Implement config validation using cerberus.
- Enable configuration of MQTT protocol. Closes #11.
- Deploy Python Wheel as well as source package.
- Add some (not exhaustive) tests.
119 changes: 119 additions & 0 deletions docs/2.2.9/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
<!--
***************************************************************************************
DO NOT EDIT README.md DIRECTLY, IT'S GENERATED FROM README.md.j2 USING generate_docs.py
***************************************************************************************
-->

# MQTT IO

_Documentation version: `2.2.9`_

[![Discord](https://img.shields.io/discord/713749043662290974.svg?label=Chat%20on%20Discord&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/gWyV9W4)

Exposes general purpose inputs and outputs (GPIO), hardware sensors and serial devices to an MQTT server. Ideal for single-board computers such as the Raspberry Pi.

## Supported Hardware

Hardware support is provided by specific GPIO, Sensor and Stream modules. It's easy to add support for new hardware and the list is growing fast.

### GPIO Modules

- Beaglebone GPIO (`beaglebone`)
- DockerPi 4 Channel Relay GPIO (`dockerpi`)
- Linux Kernel 4.8+ libgpiod (`gpiod`)
- GPIO Zero (`gpiozero`)
- MCP23017 IO expander (`mcp23017`)
- Orange Pi GPIO (`orangepi`)
- PCF8574 IO expander (`pcf8574`)
- PCF8575 IO expander (`pcf8575`)
- PiFace Digital IO 2 (`piface2`)
- Raspberry Pi GPIO (`raspberrypi`)

### Sensors

- ADS1x15 analog to digital converters (`ads1x15`)
- AHT20 temperature and humidity sensor (`aht20`)
- BH1750 light level sensor (`bh1750`)
- BME280 temperature, humidity and pressure sensor (`bme280`)
- BME680 temperature, humidity and pressure sensor (`bme680`)
- DHT11/DHT22/AM2302 temperature and humidity sensors (`dht22`)
- DS18S20/DS1822/DS18B20/DS1825/DS28EA00/MAX31850K temperature sensors (`ds18b`)
- HCSR04 ultrasonic range sensor (connected to the Raspberry Pi on-board GPIO) (`hcsr04`)
- INA219 DC current sensor (`ina219`)
- LM75 temperature sensor (`lm75`)
- MCP3008 analog to digital converter (`mcp3008`)
- MCP3xxx analog to digital converter via GPIOZero (`mcp3xxx`)

### Streams

- PN532 NFC/RFID reader (`pn532`)
- Serial port (`serial`)

## Installation

_Requires Python 3.6+_

`pip3 install mqtt-io`

## Execution

`python3 -m mqtt_io config.yml`

## Configuration Example

Configuration is written in a YAML file which is passed as an argument to the server on startup.



The following example will configure the software to do the following:

- Publish MQTT messages on the `home/input/doorbell` topic when the doorbell is pushed and released.
- Subscribe to the MQTT topic `home/output/port_light/set` and change the output when messages are received on it.
- Periodically read the value of the LM75 sensor and publish it on the MQTT topic `home/sensor/porch_temperature`.
- Publish any data received on the `/dev/ttyUSB0` serial port to the MQTT topic `home/serial/alarm_system`.
- Subscribe to the MQTT topic `home/serial/alarm_system/send` and send any data received on that topic to the serial port.

```yaml
mqtt:
host: localhost
topic_prefix: home

# GPIO
gpio_modules:
# Use the Raspberry Pi built-in GPIO
- name: rpi
module: raspberrypi

digital_inputs:
# Pin 0 is an input connected to a doorbell button
- name: doorbell
module: rpi
pin: 0

digital_outputs:
# Pin 1 is an output connected to a light
- name: porch_light
module: rpi
pin: 1

# Sensors
sensor_modules:
# An LM75 sensor attached to the I2C bus
- name: lm75_sensor
module: lm75
i2c_bus_num: 1
chip_addr: 0x48

sensor_inputs:
# The configuration of the specific sensor value to use (LM75 only has temperature)
- name: porch_temperature
module: lm75_sensor

# Streams
stream_modules:
# A serial port to communicate with the house alarm system
- name: alarm_system
module: serial
device: /dev/ttyUSB0
baud: 9600
```
Loading

0 comments on commit 3d47ca7

Please sign in to comment.