From 9bdfeca2f7c24fe9f400dc2994599fc65a60ed06 Mon Sep 17 00:00:00 2001 From: Florian Date: Mon, 23 Jan 2023 13:45:15 -0600 Subject: [PATCH] [DOCS] Add Theengs Plug links (#1416) * [DOCS] Add Theengs Plug links --- README.md | 14 ++++++++++++++ docs/README.md | 13 +++++++++++++ docs/img/Theengs-Plug-OpenMQTTGateway.png | Bin 0 -> 50221 bytes docs/prerequisites/board.md | 11 +++++++++++ 4 files changed, 38 insertions(+) create mode 100644 docs/img/Theengs-Plug-OpenMQTTGateway.png diff --git a/README.md b/README.md index 80d6950..62d97e8 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,20 @@ The reference sheet, with the list of all functions, pinouts is [here](https://d Upload OpenMQTTGateway directly from the [upload page](https://docs.openmqttgateway.com/upload/web-install.html) (no additional software required) or [build your own configuration](https://docs.openmqttgateway.com/upload/builds.html) with [PlatformIO](https://platformio.org/) or [Arduino IDE](https://www.arduino.cc/en/software) + +## First ready to go OpenMQTTGateway device ! + +[Theengs plug](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption) is available flashed with OpenMQTTGateway, and brings the functions below: +* BLE to MQTT gateway, tens of Bluetooth devices supported thanks to Theengs Decoder library. The plug uses an ESP32 acting as a BLE to Wifi gateway to scan, decode and forward the data of the nearby sensors, +* Smart plug that can be controlled remotely, +* Energy consumption monitoring, +* Presence detection (beta). + +[![](./docs/img/Theengs-Plug-OpenMQTTGateway.png)](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption) + +Support the project by purchasing the [Theengs plug](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption) +The plug is available in North America only, other regions are planned. + ## Compatible items * [List of supported devices](https://compatible.openmqttgateway.com/index.php/devices/), door/window sensors, PIR sensors, smoke detectors, weather stations... diff --git a/docs/README.md b/docs/README.md index e0c2271..6fd02d0 100644 --- a/docs/README.md +++ b/docs/README.md @@ -41,6 +41,19 @@ Behind the scene you will find functionalities dedicated to gateways like: * Secure connections * Over the air updates +## First ready to go OpenMQTTGateway device ! + +[Theengs plug](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption) is available flashed with OpenMQTTGateway, and brings the functions below: +* BLE to MQTT gateway, tens of Bluetooth devices supported thanks to Theengs Decoder library. The plug uses an ESP32 acting as a BLE to Wifi gateway to scan, decode and forward the data of the nearby sensors, +* Smart plug that can be controlled remotely, +* Energy consumption monitoring, +* Presence detection (beta). + +[![](./img/Theengs-Plug-OpenMQTTGateway.png)](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption) + +Support the project by purchasing the [Theengs plug](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption) +The plug is available in North America only, other regions are planned. + ::: warning Note The material and information contained in this documentation is for general information purposes only. You should not rely upon the material or information on this documentation as a basis for making any business, legal or any other decisions. There is no warranty given on this documentation content. If you decide to follow the information and materials given it is at your own risk. I will not be liable for any false, inaccurate, inappropriate or incomplete information presented on this website. ::: diff --git a/docs/img/Theengs-Plug-OpenMQTTGateway.png b/docs/img/Theengs-Plug-OpenMQTTGateway.png new file mode 100644 index 0000000000000000000000000000000000000000..7b83c261b487bd543e85ba8ee3d53e42c1de00da GIT binary patch literal 50221 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 literal 0 HcmV?d00001 diff --git a/docs/prerequisites/board.md b/docs/prerequisites/board.md index 72c2622..c2a0c05 100644 --- a/docs/prerequisites/board.md +++ b/docs/prerequisites/board.md @@ -15,6 +15,17 @@ If you want to use the BLE decoding capabilities of OpenMQTTGateway with a Raspb If you want to use the BLE decoding capabilities of OpenMQTTGateway with a tablet or smartphone you can use [Theengs App](https://app.theengs.io/). ::: +[Theengs plug](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption) is available flashed with OpenMQTTGateway, and brings the functions below: +* BLE to MQTT gateway, tens of Bluetooth devices supported thanks to Theengs Decoder library. The plug uses an ESP32 acting as a BLE to Wifi gateway to scan, decode and forward the data of the nearby sensors, +* Smart plug that can be controlled remotely, +* Energy consumption monitoring, +* Presence detection (beta). + +[![](../img/Theengs-Plug-OpenMQTTGateway.png)](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption) + +Support the project by purchasing the [Theengs plug](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption) +The plug is available in North America only, other regions are planned. + Choosing your board depends heavily on the technologies you want to use with it. To have a good overview of the compatibilities per board you can refer to the compatible modules attributes of each [board](https://compatible.openmqttgateway.com/index.php/boards/).