├── .clang-format
├── .editorconfig
├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
├── pull_request_template.md
├── stale.yml
└── workflows
│ ├── build.yml
│ ├── build_and_docs_to_dev.yml
│ ├── lint.yml
│ ├── manual_docs.yml
│ ├── release.yml
│ └── stale.yml
├── .gitignore
├── .gitmodules
├── .gitpod.yml
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE.txt
├── README.md
├── docs
├── .vuepress
│ ├── config.js
│ ├── public
│ │ ├── apple-touch-icon.png
│ │ ├── favicon-144x144.png
│ │ ├── favicon-16x16.png
│ │ ├── favicon-32x32.png
│ │ ├── img
│ │ │ ├── OpenMQTTGateway-sensors-ble.png
│ │ │ ├── OpenMQTTGateway.png
│ │ │ ├── Theengs-Bridge-ble-gateway.png
│ │ │ └── Theengs-Plug-OpenMQTTGateway.png
│ │ └── robots.txt
│ └── styles
│ │ └── index.styl
├── README.md
├── img
│ ├── EMQ.png
│ ├── HASS-RF-DeviceTrigger.png
│ ├── HASS-RF-MQTTSensor.png
│ ├── HASS-RF-Sensor-example.png
│ ├── HASS-RF-Trigger-example.png
│ ├── Integrate_AWS_IOT_Attach_Policy.png
│ ├── Integrate_AWS_IOT_Attach_Policy2.png
│ ├── Integrate_AWS_IOT_Attach_Thing.png
│ ├── Integrate_AWS_IOT_Attach_Thing2.png
│ ├── Integrate_AWS_IOT_Create_Certificate.png
│ ├── Integrate_AWS_IOT_Create_Certificate2.png
│ ├── Integrate_AWS_IOT_Create_Certificate3.png
│ ├── Integrate_AWS_IOT_Create_Policy.png
│ ├── Integrate_AWS_IOT_Create_Policy2.png
│ ├── Integrate_AWS_IOT_Create_Policy3.png
│ ├── Integrate_AWS_IOT_Create_Thing.png
│ ├── Integrate_AWS_IOT_Create_Thing2.png
│ ├── Integrate_AWS_IOT_Create_Thing3.png
│ ├── Integrate_AWS_IOT_Create_Thing4.png
│ ├── Integrate_AWS_IOT_Find_Endpoint.png
│ ├── Integrate_AWS_IOT_result_MQTT.png
│ ├── Integrate_Jeedom_Broker-brkTab.png
│ ├── Integrate_Jeedom_Broker-eqTab.png
│ ├── Integrate_Jeedom_Eq-Add.png
│ ├── Integrate_Jeedom_Eq-Mijia-Cmds.png
│ ├── Integrate_Jeedom_Eq-Mijia-Create.png
│ ├── Integrate_Jeedom_Eq-Mijia-Dashboard-pimped.png
│ ├── Integrate_Jeedom_Eq-Mijia-Dashboard.png
│ ├── Integrate_Jeedom_Eq-Mijia-tmp-Cmd-Json.png
│ ├── Integrate_Jeedom_Eq-Mijia-tmp-Cmd.png
│ ├── Integrate_Jeedom_Eq-OMG-BTtoMQTT-mijia.png
│ ├── Integrate_Jeedom_Eq-OMG-BTtoMQTT.png
│ ├── Integrate_Jeedom_Eq-OMG-SYStoMQTT-json.png
│ ├── Integrate_Jeedom_Eq-OMG-SYStoMQTT-restart.png
│ ├── Integrate_Jeedom_Eq-OMG-SYStoMQTT.png
│ ├── Integrate_Jeedom_Eq-OMG-cmd-added.png
│ ├── Integrate_Jeedom_Eq-OMG-cmds.png
│ ├── Integrate_Jeedom_Eq-OMG-config.png
│ ├── Integrate_Jeedom_Eq-OMG-lwt-formula.png
│ ├── Integrate_Jeedom_Eq-OMG-lwt.png
│ ├── Integrate_Jeedom_Install-Activate.png
│ ├── Integrate_Jeedom_Install-Daemon-OK.png
│ ├── Integrate_Jeedom_Install-Deps-OK.png
│ ├── Integrate_Jeedom_Install-Deps.png
│ ├── Integrate_Jeedom_Install-Mosquitto.png
│ ├── Integrate_Jeedom_Install-jMQTT.png
│ ├── KBeacon-app-configuration-moving.jpg
│ ├── KBeacon-app-configuration-moving2.jpg
│ ├── OMQTTG_8207.JPG
│ ├── OMQTTG_8211.JPG
│ ├── OMQTTG_8217.JPG
│ ├── OpenMQTTGateway-BLE-tracker-Home-Assistant.png
│ ├── OpenMQTTGateway-Build-gitpod-env.png
│ ├── OpenMQTTGateway-Build-gitpod.png
│ ├── OpenMQTTGateway-Configuration-Home-Assistant-Discovery-Integration.png
│ ├── OpenMQTTGateway-Configuration-Home-Assistant.png
│ ├── OpenMQTTGateway-OTA-Update-Home-Assistant.png
│ ├── OpenMQTTGateway-OpenHAB-Theengs-mqtt-binding.png
│ ├── OpenMQTTGateway-OpenHAB-Theengs-mqtt-binding2.png
│ ├── OpenMQTTGateway-OpenHAB-Theengs-mqtt-binding3.png
│ ├── OpenMQTTGateway-OpenHAB-Theengs-mqtt-binding4.png
│ ├── OpenMQTTGateway-OpenHAB-Theengs-mqtt-binding5.png
│ ├── OpenMQTTGateway-OpenHAB-Theengs-mqtt-binding6.png
│ ├── OpenMQTTGateway-OpenHAB-Theengs-mqtt-ip.png
│ ├── OpenMQTTGateway-OpenHAB-Theengs-mqtt-jinja.png
│ ├── OpenMQTTGateway-OpenHAB-Theengs-mqtt-things.png
│ ├── OpenMQTTGateway-OpenHAB-Theengs-mqtt-things2.png
│ ├── OpenMQTTGateway-OpenHAB-Theengs-mqtt-things3.png
│ ├── OpenMQTTGateway-OpenHAB-Theengs-mqtt-things4.png
│ ├── OpenMQTTGateway-OpenHAB-Theengs-mqtt-things5.png
│ ├── OpenMQTTGateway-OpenHAB-Theengs-mqtt.png
│ ├── OpenMQTTGateway-home-assistant-chart.png
│ ├── OpenMQTTGateway-mqtt-explorer-lywsd03mmc-atc.png
│ ├── OpenMQTTGateway-sensors-ble.png
│ ├── OpenMQTTGateway.jpg
│ ├── OpenMQTTGateway_ESP32_breadboard.jpg
│ ├── OpenMQTTGateway_Home_Assistant_MQTT_discovery.png
│ ├── OpenMQTTGateway_IR_AVATTO_TYWE3S.png
│ ├── OpenMQTTGateway_LORA_Configuration.png
│ ├── OpenMQTTGateway_Pilight_Digoo-DG-R8S.png
│ ├── OpenMQTTGateway_SONOFF_RF_Bridge_FTDI.jpg
│ ├── OpenMQTTGateway_SONOFF_RF_Bridge_OTA.png
│ ├── OpenMQTTGateway_SONOFF_RF_Bridge_disassembly.jpg
│ ├── OpenMQTTGateway_SONOFF_RF_Bridge_green_led.jpg
│ ├── OpenMQTTGateway_SONOFF_RF_Bridge_serial_and_broker.png
│ ├── OpenMQTTGateway_SONOFF_RF_Bridge_user_config.png
│ ├── OpenMQTTGateway_TTGO32_LORA_Receive.jpg
│ ├── OpenMQTTGateway_TTGO32_LORA_Send.jpg
│ ├── OpenMQTTGateway_Wifi_Manager_enter_parameters.png
│ ├── OpenMQTTGateway_Wifi_Manager_menu.png
│ ├── OpenMQTTGateway_Wifi_Manager_save.png
│ ├── OpenMQTTGateway_arduino_esp32_sketchbook_folder.png
│ ├── OpenMQTTGateway_auto_discovery_BLE_Sensor_Home_Assistant.gif
│ ├── OpenMQTTGateway_auto_discovery_Gateway_Home_Assistant.gif
│ ├── OpenMQTTGateway_board_wifi_rf_gateway.png
│ ├── OpenMQTTGateway_boards-removebg-preview.png
│ ├── OpenMQTTGateway_boards.png
│ ├── OpenMQTTGateway_boards_avatto_s06.png
│ ├── OpenMQTTGateway_boards_sonoff-removebg-preview.png
│ ├── OpenMQTTGateway_boards_sonoff.png
│ ├── OpenMQTTGateway_boards_sonoff_rfbridge.png
│ ├── OpenMQTTGateway_boards_sonoff_rfr3.png
│ ├── OpenMQTTGateway_breadboard.jpg
│ ├── OpenMQTTGateway_controllers.png
│ ├── OpenMQTTGateway_devices_ble.png
│ ├── OpenMQTTGateway_devices_rf1.png
│ ├── OpenMQTTGateway_devices_rf2.png
│ ├── OpenMQTTGateway_devices_rf3.png
│ ├── OpenMQTTGateway_multiple_install.png
│ ├── OpenMQTTGateway_serial1.jpg
│ ├── OpenMQTTGateway_serial2.jpg
│ ├── OpenMQTTGateway_serial3.jpg
│ ├── OpenMQTTGateway_serial_2G_1.jpg
│ ├── OpenMQTTGateway_serial_2G_2.jpg
│ ├── OpenMQTTgateway_Arduino_Addon_BT.fzz
│ ├── OpenMQTTgateway_Arduino_Addon_BT.png
│ ├── OpenMQTTgateway_Arduino_Addon_DHT.fzz
│ ├── OpenMQTTgateway_Arduino_Addon_DHT.png
│ ├── OpenMQTTgateway_Arduino_Addon_IR.fzz
│ ├── OpenMQTTgateway_Arduino_Addon_IR.png
│ ├── OpenMQTTgateway_Arduino_Addon_RF.fzz
│ ├── OpenMQTTgateway_Arduino_Addon_RF.png
│ ├── OpenMQTTgateway_Arduino_Addon_RS232.png
│ ├── OpenMQTTgateway_Arduino_AllInOne_IR-RF-BT-DHT.fzz
│ ├── OpenMQTTgateway_Arduino_AllInOne_IR-RF-BT-DHT.png
│ ├── OpenMQTTgateway_ESP32_Addon_IR.fzz
│ ├── OpenMQTTgateway_ESP32_Addon_IR.png
│ ├── OpenMQTTgateway_ESP32_Addon_RF.fzz
│ ├── OpenMQTTgateway_ESP32_Addon_RF.png
│ ├── OpenMQTTgateway_ESP32_Addon_RS232.png
│ ├── OpenMQTTgateway_ESP32_LORA_MSG.png
│ ├── OpenMQTTgateway_ESP32_binary_flash.png
│ ├── OpenMQTTgateway_ESP32_binary_flash2.png
│ ├── OpenMQTTgateway_ESP8266_Addon_2G.fzz
│ ├── OpenMQTTgateway_ESP8266_Addon_2G.png
│ ├── OpenMQTTgateway_ESP8266_Addon_DHT.fzz
│ ├── OpenMQTTgateway_ESP8266_Addon_DHT.png
│ ├── OpenMQTTgateway_ESP8266_Addon_I2C.fzz
│ ├── OpenMQTTgateway_ESP8266_Addon_I2C.png
│ ├── OpenMQTTgateway_ESP8266_Addon_IR.fzz
│ ├── OpenMQTTgateway_ESP8266_Addon_IR.png
│ ├── OpenMQTTgateway_ESP8266_Addon_RF.fzz
│ ├── OpenMQTTgateway_ESP8266_Addon_RF.png
│ ├── OpenMQTTgateway_ESP8266_Addon_RFM69.fzz
│ ├── OpenMQTTgateway_ESP8266_Addon_RFM69.png
│ ├── OpenMQTTgateway_ESP8266_Addon_RS232.png
│ ├── OpenMQTTgateway_ESP8285_Addon_IR.fzz
│ ├── OpenMQTTgateway_ESP8285_Addon_IR.png
│ ├── OpenMQTTgateway_M5_Atom_Board.png
│ ├── OpenMQTTgateway_M5_Stack_Board_Display_Logo.png
│ ├── OpenMQTTgateway_M5_Stack_Board_Display_Text.png
│ ├── OpenMQTTgateway_M5_Stack_Board_Display_Warning.png
│ ├── OpenMQTTgateway_M5_StickC_Board_Display_Text.png
│ ├── OpenMQTTgateway_NODERED-chart-dashboard.png
│ ├── OpenMQTTgateway_NODERED-chart.png
│ ├── OpenMQTTgateway_NODERED-flow-BLE-temperature.png
│ ├── OpenMQTTgateway_NODERED-gauge-dashboard.png
│ ├── OpenMQTTgateway_NODERED-gauge.png
│ ├── OpenMQTTgateway_NODERED-integration-debug.png
│ ├── OpenMQTTgateway_NODERED-integration-debug2.png
│ ├── OpenMQTTgateway_NODERED-integration-debug3.png
│ ├── OpenMQTTgateway_NODERED-integration-process.png
│ ├── OpenMQTTgateway_NODERED-integration.png
│ ├── OpenMQTTgateway_NodeMCU_PyFlasher.png
│ ├── OpenMQTTgateway_OpenHAB_Control.png
│ ├── OpenMQTTgateway_SONOFF_RFBRIDGE_Upload_Parameters.png
│ ├── OpenMQTTgateway_SONOFF_RFBRIDGE_results.png
│ ├── OpenMQTTgateway_miflora_results.png
│ ├── Openmqttgateway_logo.png
│ ├── Openmqttgateway_logo_micro.png
│ ├── Openmqttgateway_logo_mini.png
│ ├── Openmqttgateway_logo_mini_512.png
│ ├── Openmqttgateway_logo_mini_margins.png
│ ├── Theengs-Bridge-ble-gateway.png
│ ├── Theengs-Plug-OpenMQTTGateway.png
│ ├── Wiki_module_BT.png
│ ├── Wiki_module_DHT.png
│ ├── Wiki_module_I2C.png
│ ├── Wiki_module_IR.png
│ ├── Wiki_module_RF.png
│ ├── Wiki_module_RFM69.png
│ ├── arduino-esp32-sketchbook.png
│ ├── digoo-pir-DG-HOSA.png
│ ├── domoticz-logo.jpg
│ ├── fhem_logo.png
│ ├── home-assistant-logo.png
│ ├── jeedom-logo.png
│ ├── node-red-logo.png
│ └── openhab-logo.png
├── integrate
│ ├── aws_iot.md
│ ├── home_assistant.md
│ ├── jeedom.md
│ ├── node_red.md
│ ├── openhab2.md
│ └── openhab3.md
├── participate
│ ├── adding-protocols.md
│ ├── community.md
│ ├── development.md
│ └── support.md
├── prerequisites
│ ├── M5.md
│ ├── board.md
│ ├── boards
│ │ └── .gitignore
│ ├── broker.md
│ ├── controller.md
│ ├── devices.md
│ └── parts.md
├── setitup
│ ├── actuators.md
│ ├── ble.md
│ ├── gsm.md
│ ├── ir.md
│ ├── lora.md
│ ├── rf.md
│ ├── sensors.md
│ └── serial.md
├── upload
│ ├── advanced-configuration.md
│ ├── binaries.md
│ ├── builds.md
│ ├── gitpod.md
│ ├── portal.md
│ ├── troubleshoot.md
│ └── web-install.md
└── use
│ ├── actuators.md
│ ├── ble.md
│ ├── boards.md
│ ├── displays.md
│ ├── gateway.md
│ ├── gsm.md
│ ├── ir.md
│ ├── lora.md
│ ├── ota_command_cert.zip
│ ├── rf.md
│ ├── rfm69.md
│ ├── sensors.md
│ ├── serial.md
│ └── webui.md
├── environments.ini
├── examples
├── LoraTemperature
│ ├── .gitignore
│ ├── README.md
│ ├── platformio.ini
│ └── src
│ │ └── main.cpp
└── LoraWaterCounter
│ ├── OpenGatewaySensorCounter.ino
│ ├── README.md
│ ├── platformio.ini
│ └── src
│ └── main.cpp
├── lib
├── LEDManager
│ ├── LEDManager.cpp
│ ├── LEDManager.h
│ └── README.md
├── TheengsUtils
│ ├── TheengsUtils.cpp
│ └── TheengsUtils.h
└── esp32-bt-lib
│ ├── LICENSE
│ ├── README
│ ├── README.rst
│ └── esp32
│ └── libbtdm_app.a
├── main
├── TheengsCommon.h
├── User_config.h
├── actuatorFASTLED.cpp
├── actuatorONOFF.cpp
├── actuatorPWM.cpp
├── actuatorSomfy.cpp
├── blufi.cpp
├── blufiSec.cpp
├── boardM5.cpp
├── boardTheengs.cpp
├── certs
│ ├── default_client_cert.h
│ ├── default_client_key.h
│ ├── default_ota_cert.h
│ └── default_server_cert.h
├── commonRF.cpp
├── config_2G.h
├── config_ADC.h
├── config_AHTx0.h
├── config_BH1750.h
├── config_BME280.h
├── config_BT.h
├── config_C37_YL83_HMRD.h
├── config_DHT.h
├── config_DS1820.h
├── config_FASTLED.h
├── config_GFSunInverter.h
├── config_GPIOInput.h
├── config_GPIOKeyCode.h
├── config_HCSR04.h
├── config_HCSR501.h
├── config_HTU21.h
├── config_INA226.h
├── config_IR.h
├── config_LM75.h
├── config_LORA.h
├── config_M5.h
├── config_MQ2.h
├── config_ONOFF.h
├── config_PWM.h
├── config_RF.h
├── config_RFM69.h
├── config_RN8209.h
├── config_SERIAL.h
├── config_SHTC3.h
├── config_SRFB.h
├── config_SSD1306.h
├── config_Somfy.h
├── config_TEMT6000.h
├── config_TSL2561.h
├── config_Touch.h
├── config_WeatherStation.h
├── config_WebContent.h
├── config_WebUI.h
├── config_mqttDiscovery.h
├── displaySSD1306.cpp
├── gateway2G.cpp
├── gatewayBLEConnect.cpp
├── gatewayBLEConnect.h
├── gatewayBT.cpp
├── gatewayGFSunInverter.cpp
├── gatewayIR.cpp
├── gatewayLORA.cpp
├── gatewayPilight.cpp
├── gatewayRF.cpp
├── gatewayRF2.cpp
├── gatewayRFM69.cpp
├── gatewayRTL_433.cpp
├── gatewaySERIAL.cpp
├── gatewaySRFB.cpp
├── gatewayWeatherStation.cpp
├── main.cpp
├── mqttDiscovery.cpp
├── sensorADC.cpp
├── sensorAHTx0.cpp
├── sensorBH1750.cpp
├── sensorBME280.cpp
├── sensorC37_YL83_HMRD.cpp
├── sensorDHT.cpp
├── sensorDS1820.cpp
├── sensorGPIOInput.cpp
├── sensorGPIOKeyCode.cpp
├── sensorHCSR04.cpp
├── sensorHCSR501.cpp
├── sensorHTU21.cpp
├── sensorINA226.cpp
├── sensorLM75.cpp
├── sensorMQ2.cpp
├── sensorRN8209.cpp
├── sensorSHTC3.cpp
├── sensorTEMT6000.cpp
├── sensorTSL2561.cpp
├── sensorTouch.cpp
└── webUI.cpp
├── package-lock.json
├── package.json
├── partitions
├── alltest_large.csv
├── default.csv
├── default_16MB.csv
├── default_8MB.csv
├── min_spiffs.csv
└── no_coredump.csv
├── platformio.ini
├── prod_env.ini.example
├── scripts
├── common_wu.py
├── compressFirmware.py
├── gen_wu.py
├── generate_board_docs.py
├── latest_version.json
├── latest_version_dev.json
├── prepare_deploy.sh
└── replace_lib.py
└── sdkconfig.defaults
/.clang-format:
--------------------------------------------------------------------------------
1 | BasedOnStyle: Google
2 | Language: Cpp
3 | ColumnLimit: 0
4 | IndentWidth: 2
5 | TabWidth: 2
6 | UseTab: Never
7 | IndentPPDirectives: AfterHash
8 | ReflowComments: false
9 | SpacesBeforeTrailingComments: 1
10 | AlignConsecutiveMacros: true
11 | AlignTrailingComments: false
12 | AccessModifierOffset: -2
13 | DerivePointerAlignment: false
14 | PointerAlignment: Left
15 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | indent_style = space
5 | indent_size = 2
6 | charset = utf-8
7 | trim_trailing_whitespace = false
8 | insert_final_newline = true
9 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 |
5 | ---
6 |
7 | Before submitting a problem please check the troubleshooting section
8 | https://docs.openmqttgateway.com/upload/troubleshoot.html
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is.
12 |
13 | **To Reproduce**
14 | Steps to reproduce the behavior:
15 | 1. Publish to '...'
16 | 2. Subscribe on '....'
17 | 3. See error
18 |
19 | **Expected behavior**
20 | A clear and concise description of what you expected to happen.
21 |
22 | **Screenshots**
23 | If applicable, add screenshots to help explain your problem.
24 |
25 | **Environment (please complete the following information):**
26 | * OpenMQTTGateway version used (V0.9.3, 0.8, development)
27 | * Library version related to the problem you have (if you have troubles with RF provide the version of RCSwitch library)
28 | * For IR and RF clarify if you tested with the basic examples given with these libraries
29 |
30 | **Additional context**
31 | Add any other context about the problem here.
32 |
33 | * You should not have a compilation error if you use the versions of the libraries linked into the libraries folder, this badges show you the state of the compilation
34 | [](https://github.com/1technophile/OpenMQTTGateway/actions)
35 | * If you are not sure this is a bug or an enhancement post your question to the forum below
36 | [](https://community.openmqttgateway.com)
37 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 |
5 | ---
6 |
7 | **Is your feature request related to a problem? Please describe.**
8 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
9 |
10 | **Describe the solution you'd like**
11 | A clear and concise description of what you want to happen.
12 |
13 | **Describe alternatives you've considered**
14 | A clear and concise description of any alternative solutions or features you've considered.
15 |
16 | **Additional context**
17 | Add any other context or screenshots about the feature request here.
18 |
--------------------------------------------------------------------------------
/.github/pull_request_template.md:
--------------------------------------------------------------------------------
1 | ## Description:
2 |
3 |
4 | ## Checklist:
5 | - [ ] The pull request is done against the latest development branch
6 | - [ ] Only one feature/fix was added per PR and the code change compiles without warnings
7 | - [ ] I accept the [DCO](https://github.com/1technophile/OpenMQTTGateway/blob/development/docs/participate/development.md#developer-certificate-of-origin).
8 |
--------------------------------------------------------------------------------
/.github/stale.yml:
--------------------------------------------------------------------------------
1 | # Number of days of inactivity before an issue becomes stale
2 | daysUntilStale: 60
3 | # Number of days of inactivity before a stale issue is closed
4 | daysUntilClose: 7
5 | # Issues with these labels will never be considered stale
6 | exemptLabels:
7 | - pinned
8 | - security
9 | - enhancement
10 | - bug
11 | # Label to use when marking an issue as stale
12 | staleLabel: wontfix
13 | # Comment to post when marking an issue as stale. Set to `false` to disable
14 | markComment: >
15 | This issue has been automatically marked as stale because it has not had
16 | recent activity. It will be closed if no further activity occurs. Thank you
17 | for your contributions.
18 | # Comment to post when closing a stale issue. Set to `false` to disable
19 | closeComment: false
20 |
--------------------------------------------------------------------------------
/.github/workflows/build_and_docs_to_dev.yml:
--------------------------------------------------------------------------------
1 | name: Build binaries, docs and publish to dev folder
2 | on:
3 | workflow_dispatch:
4 | schedule:
5 | - cron: '0 0 * * *'
6 | jobs:
7 | build-upload:
8 | runs-on: ubuntu-latest
9 | if: github.repository_owner == '1technophile'
10 | name: Build and upload Assets to Release
11 | steps:
12 | - uses: actions/checkout@v4
13 | - uses: benjlevesque/short-sha@v2.1
14 | id: short-sha
15 | with:
16 | length: 6
17 | - name: Set up Python
18 | uses: actions/setup-python@v5
19 | with:
20 | python-version: "3.11"
21 | - name: Install dependencies
22 | run: |
23 | python -m pip install --upgrade pip
24 | pip install platformio requests shutils
25 | npm install
26 | - name: Set sha tag
27 | run: |
28 | sed -i "s/version_tag/${{ steps.short-sha.outputs.sha }}/g" main/User_config.h scripts/latest_version_dev.json
29 | sed -i "s/version_tag/DEVELOPMENT SHA:${{ steps.short-sha.outputs.sha }} TEST ONLY/g" docs/.vuepress/config.js
30 | sed -i "s|base: '/'|base: '/dev/'|g" docs/.vuepress/config.js
31 | - name: Extract ESP32 platform version from platformio.ini
32 | run: |
33 | ESP32_VERSION=$(grep 'esp32_platform\s*=' platformio.ini | cut -d'@' -f2 | tr -d '[:space:]')
34 | echo "ESP32_PLATFORM_VERSION=${ESP32_VERSION}" >> $GITHUB_ENV
35 | - name: Run PlatformIO
36 | run: |
37 | export PLATFORMIO_BUILD_FLAGS="'-DDEVELOPMENTOTA=true'"
38 | platformio run
39 | - name: Prepare Release Assets
40 | run: |
41 | sudo apt install rename
42 | ./scripts/prepare_deploy.sh
43 | - name: Set up Node.js
44 | uses: actions/setup-node@v4
45 | with:
46 | node-version: "16.x"
47 | - name: Download Common Config
48 | run: |
49 | curl -o docs/.vuepress/public/commonConfig.js https://www.theengs.io/commonConfig.js
50 | - name: Build documentation
51 | run: |
52 | python ./scripts/gen_wu.py --dev
53 | npm run docs:build
54 | - name: Deploy to GitHub Pages
55 | uses: peaceiris/actions-gh-pages@v3
56 | with:
57 | github_token: ${{ secrets.GITHUB_TOKEN }}
58 | publish_dir: ./docs/.vuepress/dist
59 | destination_dir: dev
60 | cname: docs.openmqttgateway.com
61 | - name: Running Page Speed Insights
62 | uses: jakepartusch/psi-action@v1.3
63 | id: psi
64 | with:
65 | url: "https://docs.openmqttgateway.com/dev/"
66 | threshold: 60
67 | key: ${{ secrets.APIKEY }}
68 |
--------------------------------------------------------------------------------
/.github/workflows/lint.yml:
--------------------------------------------------------------------------------
1 | name: Check Code Format
2 |
3 | on: [push, pull_request]
4 |
5 | jobs:
6 | lint:
7 | runs-on: ubuntu-latest
8 |
9 | steps:
10 | - uses: actions/checkout@v4
11 | - name: Check main format
12 | uses: DoozyX/clang-format-lint-action@v0.6
13 | with:
14 | source: "./main"
15 | extensions: "h,ino"
16 | clangFormatVersion: 9
17 |
--------------------------------------------------------------------------------
/.github/workflows/manual_docs.yml:
--------------------------------------------------------------------------------
1 | name: Create and publish documentation
2 | on:
3 | workflow_dispatch:
4 | workflow_call:
5 | jobs:
6 | documentation:
7 | runs-on: ubuntu-latest
8 | name: Create the documentation and deploy it to GitHub Pages
9 | steps:
10 | - uses: actions/checkout@v4
11 | - name: Set up Node.js
12 | uses: actions/setup-node@v4
13 | with:
14 | node-version: "14.x"
15 | - name: Set up Python
16 | uses: actions/setup-python@v5
17 | with:
18 | python-version: "3.11"
19 | - name: Install build dependencies
20 | run: |
21 | python -m pip install --upgrade pip
22 | pip install requests pandas markdown pytablereader tabulate
23 | npm install
24 | - name: Download Common Config
25 | run: |
26 | curl -o docs/.vuepress/public/commonConfig.js https://www.theengs.io/commonConfig.js
27 | - name: get lastest release tag
28 | id: last_release
29 | uses: InsonusK/get-latest-release@v1.0.1
30 | with:
31 | myToken: ${{ github.token }}
32 | view_top: 1
33 | - name: Set version tag from git
34 | run: sed -i "s/version_tag/${{steps.last_release.outputs.tag_name}}/g" docs/.vuepress/config.js scripts/latest_version.json
35 | - name: Build documentation
36 | run: |
37 | python ./scripts/generate_board_docs.py
38 | python ./scripts/gen_wu.py ${GITHUB_REPOSITORY}
39 | npm run docs:build
40 | - name: Deploy to GitHub Pages
41 | uses: peaceiris/actions-gh-pages@v3
42 | with:
43 | github_token: ${{ secrets.GITHUB_TOKEN }}
44 | publish_dir: ./docs/.vuepress/dist
45 | cname: docs.openmqttgateway.com
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | name: Release
2 |
3 | on:
4 | release:
5 | types: [published]
6 |
7 | jobs:
8 | build-upload:
9 | runs-on: ubuntu-latest
10 | name: Build and upload Assets to Release
11 | steps:
12 | - uses: actions/checkout@v4
13 | - name: Set up Python
14 | uses: actions/setup-python@v5
15 | with:
16 | python-version: "3.11"
17 | - name: Install platformio
18 | run: |
19 | python -m pip install --upgrade pip
20 | pip install platformio
21 | - name: Set version tag from git
22 | run: sed -i "s/version_tag/${GITHUB_REF#refs/tags/}/g" main/User_config.h scripts/latest_version.json
23 | - name: Extract ESP32 platform version from platformio.ini
24 | run: |
25 | ESP32_VERSION=$(grep 'esp32_platform\s*=' platformio.ini | cut -d'@' -f2 | tr -d '[:space:]')
26 | echo "ESP32_PLATFORM_VERSION=${ESP32_VERSION}" >> $GITHUB_ENV
27 | - name: Run PlatformIO
28 | run: platformio run
29 | - name: Prepare Release Assets
30 | run: |
31 | sudo apt install rename
32 | ./scripts/prepare_deploy.sh
33 | - name: Get upload url
34 | id: release-id
35 | run: |
36 | RELEASE_ID=$(jq --raw-output '.release.id' $GITHUB_EVENT_PATH)
37 | echo "::set-output name=upload_url::https://uploads.github.com/repos/${GITHUB_REPOSITORY}/releases/${RELEASE_ID}/assets{?name,label}"
38 | - name: Upload Release Assets
39 | uses: bgpat/release-asset-action@03b0c30db1c4031ce3474740b0e4275cd7e126a3
40 | with:
41 | pattern: "toDeploy/*"
42 | github-token: ${{ secrets.GITHUB_TOKEN }}
43 | release-url: ${{ steps.release-id.outputs.upload_url }}
44 | allow-overwrite: true
45 | call-workflow-passing-data:
46 | needs: build-upload
47 | uses: ./.github/workflows/manual_docs.yml
48 |
--------------------------------------------------------------------------------
/.github/workflows/stale.yml:
--------------------------------------------------------------------------------
1 | name: Close inactive issues or PR
2 | on:
3 | schedule:
4 | - cron: "30 0 * * *"
5 |
6 | jobs:
7 | close-issues:
8 | runs-on: ubuntu-latest
9 | permissions:
10 | issues: write
11 | pull-requests: write
12 | steps:
13 | - uses: actions/stale@v4.1.1
14 | with:
15 | days-before-issue-stale: 90
16 | days-before-issue-close: 14
17 | stale-issue-label: "stale"
18 | stale-issue-message: "This issue is stale because it has been open for 90 days with no activity."
19 | close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale."
20 | days-before-pr-stale: 90
21 | days-before-pr-close: 14
22 | repo-token: ${{ secrets.GITHUB_TOKEN }}
23 | exempt-issue-labels: "enhancement"
24 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .pio
2 | .vscode
3 | *_env.ini
4 | *.pem
5 | **/.DS_Store
6 | node_modules
7 | *.ps1
8 | main/certs/private*
9 | lib/*
10 | !lib/esp32-bt-lib
11 | !lib/TheengsUtils
12 | !lib/LEDManager
13 | CMakeLists.txt
14 | dependencies.lock
15 | sdkconfig.*
16 | !sdkconfig.defaults
17 | __pycache__
18 | *.pem
19 | managed_components
20 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/.gitmodules
--------------------------------------------------------------------------------
/.gitpod.yml:
--------------------------------------------------------------------------------
1 | tasks:
2 | - command: pip3 install -U platformio && platformio run -e esp32dev-ble
3 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6 |
7 | ## Our Standards
8 |
9 | Examples of behavior that contributes to creating a positive environment include:
10 |
11 | * Using welcoming and inclusive language
12 | * Being respectful of differing viewpoints and experiences
13 | * Gracefully accepting constructive criticism
14 | * Focusing on what is best for the community
15 | * Showing empathy towards other community members
16 |
17 | Examples of unacceptable behavior by participants include:
18 |
19 | * The use of sexualized language or imagery and unwelcome sexual attention or advances
20 | * Trolling, insulting/derogatory comments, and personal or political attacks
21 | * Public or private harassment
22 | * Publishing others' private information, such as a physical or electronic address, without explicit permission
23 | * Other conduct which could reasonably be considered inappropriate in a professional setting
24 |
25 | ## Our Responsibilities
26 |
27 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28 |
29 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
30 |
31 | ## Scope
32 |
33 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
34 |
35 | ## Enforcement
36 |
37 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at untechnophile@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38 |
39 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
40 |
41 | ## Attribution
42 |
43 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
44 |
45 | [homepage]: http://contributor-covenant.org
46 | [version]: http://contributor-covenant.org/version/1/4/
47 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | Contributing guidelines can be found into the docs below:
2 | ## Development:
3 | https://docs.openmqttgateway.com/participate/development.html
4 |
5 | ## Community:
6 | https://docs.openmqttgateway.com/participate/community.html
7 |
--------------------------------------------------------------------------------
/docs/.vuepress/public/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/.vuepress/public/apple-touch-icon.png
--------------------------------------------------------------------------------
/docs/.vuepress/public/favicon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/.vuepress/public/favicon-144x144.png
--------------------------------------------------------------------------------
/docs/.vuepress/public/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/.vuepress/public/favicon-16x16.png
--------------------------------------------------------------------------------
/docs/.vuepress/public/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/.vuepress/public/favicon-32x32.png
--------------------------------------------------------------------------------
/docs/.vuepress/public/img/OpenMQTTGateway-sensors-ble.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/.vuepress/public/img/OpenMQTTGateway-sensors-ble.png
--------------------------------------------------------------------------------
/docs/.vuepress/public/img/OpenMQTTGateway.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/.vuepress/public/img/OpenMQTTGateway.png
--------------------------------------------------------------------------------
/docs/.vuepress/public/img/Theengs-Bridge-ble-gateway.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/.vuepress/public/img/Theengs-Bridge-ble-gateway.png
--------------------------------------------------------------------------------
/docs/.vuepress/public/img/Theengs-Plug-OpenMQTTGateway.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/.vuepress/public/img/Theengs-Plug-OpenMQTTGateway.png
--------------------------------------------------------------------------------
/docs/.vuepress/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 |
3 | Allow: /
4 |
--------------------------------------------------------------------------------
/docs/.vuepress/styles/index.styl:
--------------------------------------------------------------------------------
1 | div.table-generated-page
2 | main
3 | div.content__default,
4 | footer.page-edit,
5 | div.page-nav
6 | // Display full with the API pages
7 | max-width: 65%
8 |
9 | .sidebar
10 | z-index 6
11 |
12 | .navbar
13 | z-index 6
--------------------------------------------------------------------------------
/docs/img/EMQ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/EMQ.png
--------------------------------------------------------------------------------
/docs/img/HASS-RF-DeviceTrigger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/HASS-RF-DeviceTrigger.png
--------------------------------------------------------------------------------
/docs/img/HASS-RF-MQTTSensor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/HASS-RF-MQTTSensor.png
--------------------------------------------------------------------------------
/docs/img/HASS-RF-Sensor-example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/HASS-RF-Sensor-example.png
--------------------------------------------------------------------------------
/docs/img/HASS-RF-Trigger-example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/HASS-RF-Trigger-example.png
--------------------------------------------------------------------------------
/docs/img/Integrate_AWS_IOT_Attach_Policy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_AWS_IOT_Attach_Policy.png
--------------------------------------------------------------------------------
/docs/img/Integrate_AWS_IOT_Attach_Policy2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_AWS_IOT_Attach_Policy2.png
--------------------------------------------------------------------------------
/docs/img/Integrate_AWS_IOT_Attach_Thing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_AWS_IOT_Attach_Thing.png
--------------------------------------------------------------------------------
/docs/img/Integrate_AWS_IOT_Attach_Thing2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_AWS_IOT_Attach_Thing2.png
--------------------------------------------------------------------------------
/docs/img/Integrate_AWS_IOT_Create_Certificate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_AWS_IOT_Create_Certificate.png
--------------------------------------------------------------------------------
/docs/img/Integrate_AWS_IOT_Create_Certificate2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_AWS_IOT_Create_Certificate2.png
--------------------------------------------------------------------------------
/docs/img/Integrate_AWS_IOT_Create_Certificate3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_AWS_IOT_Create_Certificate3.png
--------------------------------------------------------------------------------
/docs/img/Integrate_AWS_IOT_Create_Policy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_AWS_IOT_Create_Policy.png
--------------------------------------------------------------------------------
/docs/img/Integrate_AWS_IOT_Create_Policy2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_AWS_IOT_Create_Policy2.png
--------------------------------------------------------------------------------
/docs/img/Integrate_AWS_IOT_Create_Policy3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_AWS_IOT_Create_Policy3.png
--------------------------------------------------------------------------------
/docs/img/Integrate_AWS_IOT_Create_Thing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_AWS_IOT_Create_Thing.png
--------------------------------------------------------------------------------
/docs/img/Integrate_AWS_IOT_Create_Thing2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_AWS_IOT_Create_Thing2.png
--------------------------------------------------------------------------------
/docs/img/Integrate_AWS_IOT_Create_Thing3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_AWS_IOT_Create_Thing3.png
--------------------------------------------------------------------------------
/docs/img/Integrate_AWS_IOT_Create_Thing4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_AWS_IOT_Create_Thing4.png
--------------------------------------------------------------------------------
/docs/img/Integrate_AWS_IOT_Find_Endpoint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_AWS_IOT_Find_Endpoint.png
--------------------------------------------------------------------------------
/docs/img/Integrate_AWS_IOT_result_MQTT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_AWS_IOT_result_MQTT.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Broker-brkTab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Broker-brkTab.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Broker-eqTab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Broker-eqTab.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Eq-Add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Eq-Add.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Eq-Mijia-Cmds.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Eq-Mijia-Cmds.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Eq-Mijia-Create.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Eq-Mijia-Create.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Eq-Mijia-Dashboard-pimped.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Eq-Mijia-Dashboard-pimped.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Eq-Mijia-Dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Eq-Mijia-Dashboard.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Eq-Mijia-tmp-Cmd-Json.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Eq-Mijia-tmp-Cmd-Json.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Eq-Mijia-tmp-Cmd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Eq-Mijia-tmp-Cmd.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Eq-OMG-BTtoMQTT-mijia.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Eq-OMG-BTtoMQTT-mijia.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Eq-OMG-BTtoMQTT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Eq-OMG-BTtoMQTT.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Eq-OMG-SYStoMQTT-json.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Eq-OMG-SYStoMQTT-json.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Eq-OMG-SYStoMQTT-restart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Eq-OMG-SYStoMQTT-restart.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Eq-OMG-SYStoMQTT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Eq-OMG-SYStoMQTT.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Eq-OMG-cmd-added.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Eq-OMG-cmd-added.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Eq-OMG-cmds.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Eq-OMG-cmds.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Eq-OMG-config.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Eq-OMG-config.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Eq-OMG-lwt-formula.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Eq-OMG-lwt-formula.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Eq-OMG-lwt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Eq-OMG-lwt.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Install-Activate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Install-Activate.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Install-Daemon-OK.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Install-Daemon-OK.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Install-Deps-OK.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Install-Deps-OK.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Install-Deps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Install-Deps.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Install-Mosquitto.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Install-Mosquitto.png
--------------------------------------------------------------------------------
/docs/img/Integrate_Jeedom_Install-jMQTT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Integrate_Jeedom_Install-jMQTT.png
--------------------------------------------------------------------------------
/docs/img/KBeacon-app-configuration-moving.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/KBeacon-app-configuration-moving.jpg
--------------------------------------------------------------------------------
/docs/img/KBeacon-app-configuration-moving2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/KBeacon-app-configuration-moving2.jpg
--------------------------------------------------------------------------------
/docs/img/OMQTTG_8207.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OMQTTG_8207.JPG
--------------------------------------------------------------------------------
/docs/img/OMQTTG_8211.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OMQTTG_8211.JPG
--------------------------------------------------------------------------------
/docs/img/OMQTTG_8217.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OMQTTG_8217.JPG
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-BLE-tracker-Home-Assistant.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-BLE-tracker-Home-Assistant.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-Build-gitpod-env.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-Build-gitpod-env.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-Build-gitpod.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-Build-gitpod.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-Configuration-Home-Assistant-Discovery-Integration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-Configuration-Home-Assistant-Discovery-Integration.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-Configuration-Home-Assistant.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-Configuration-Home-Assistant.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-OTA-Update-Home-Assistant.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-OTA-Update-Home-Assistant.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-binding.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-binding.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-binding2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-binding2.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-binding3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-binding3.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-binding4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-binding4.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-binding5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-binding5.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-binding6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-binding6.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-ip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-ip.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-jinja.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-jinja.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-things.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-things.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-things2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-things2.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-things3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-things3.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-things4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-things4.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-things5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt-things5.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-OpenHAB-Theengs-mqtt.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-home-assistant-chart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-home-assistant-chart.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-mqtt-explorer-lywsd03mmc-atc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-mqtt-explorer-lywsd03mmc-atc.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway-sensors-ble.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway-sensors-ble.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway.jpg
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_ESP32_breadboard.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_ESP32_breadboard.jpg
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_Home_Assistant_MQTT_discovery.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_Home_Assistant_MQTT_discovery.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_IR_AVATTO_TYWE3S.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_IR_AVATTO_TYWE3S.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_LORA_Configuration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_LORA_Configuration.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_Pilight_Digoo-DG-R8S.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_Pilight_Digoo-DG-R8S.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_SONOFF_RF_Bridge_FTDI.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_SONOFF_RF_Bridge_FTDI.jpg
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_SONOFF_RF_Bridge_OTA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_SONOFF_RF_Bridge_OTA.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_SONOFF_RF_Bridge_disassembly.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_SONOFF_RF_Bridge_disassembly.jpg
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_SONOFF_RF_Bridge_green_led.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_SONOFF_RF_Bridge_green_led.jpg
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_SONOFF_RF_Bridge_serial_and_broker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_SONOFF_RF_Bridge_serial_and_broker.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_SONOFF_RF_Bridge_user_config.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_SONOFF_RF_Bridge_user_config.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_TTGO32_LORA_Receive.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_TTGO32_LORA_Receive.jpg
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_TTGO32_LORA_Send.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_TTGO32_LORA_Send.jpg
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_Wifi_Manager_enter_parameters.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_Wifi_Manager_enter_parameters.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_Wifi_Manager_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_Wifi_Manager_menu.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_Wifi_Manager_save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_Wifi_Manager_save.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_arduino_esp32_sketchbook_folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_arduino_esp32_sketchbook_folder.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_auto_discovery_BLE_Sensor_Home_Assistant.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_auto_discovery_BLE_Sensor_Home_Assistant.gif
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_auto_discovery_Gateway_Home_Assistant.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_auto_discovery_Gateway_Home_Assistant.gif
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_board_wifi_rf_gateway.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_board_wifi_rf_gateway.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_boards-removebg-preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_boards-removebg-preview.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_boards.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_boards.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_boards_avatto_s06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_boards_avatto_s06.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_boards_sonoff-removebg-preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_boards_sonoff-removebg-preview.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_boards_sonoff.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_boards_sonoff.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_boards_sonoff_rfbridge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_boards_sonoff_rfbridge.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_boards_sonoff_rfr3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_boards_sonoff_rfr3.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_breadboard.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_breadboard.jpg
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_controllers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_controllers.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_devices_ble.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_devices_ble.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_devices_rf1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_devices_rf1.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_devices_rf2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_devices_rf2.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_devices_rf3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_devices_rf3.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_multiple_install.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_multiple_install.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_serial1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_serial1.jpg
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_serial2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_serial2.jpg
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_serial3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_serial3.jpg
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_serial_2G_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_serial_2G_1.jpg
--------------------------------------------------------------------------------
/docs/img/OpenMQTTGateway_serial_2G_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTGateway_serial_2G_2.jpg
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_Arduino_Addon_BT.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_Arduino_Addon_BT.fzz
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_Arduino_Addon_BT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_Arduino_Addon_BT.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_Arduino_Addon_DHT.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_Arduino_Addon_DHT.fzz
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_Arduino_Addon_DHT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_Arduino_Addon_DHT.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_Arduino_Addon_IR.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_Arduino_Addon_IR.fzz
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_Arduino_Addon_IR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_Arduino_Addon_IR.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_Arduino_Addon_RF.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_Arduino_Addon_RF.fzz
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_Arduino_Addon_RF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_Arduino_Addon_RF.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_Arduino_Addon_RS232.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_Arduino_Addon_RS232.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_Arduino_AllInOne_IR-RF-BT-DHT.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_Arduino_AllInOne_IR-RF-BT-DHT.fzz
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_Arduino_AllInOne_IR-RF-BT-DHT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_Arduino_AllInOne_IR-RF-BT-DHT.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP32_Addon_IR.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP32_Addon_IR.fzz
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP32_Addon_IR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP32_Addon_IR.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP32_Addon_RF.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP32_Addon_RF.fzz
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP32_Addon_RF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP32_Addon_RF.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP32_Addon_RS232.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP32_Addon_RS232.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP32_LORA_MSG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP32_LORA_MSG.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP32_binary_flash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP32_binary_flash.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP32_binary_flash2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP32_binary_flash2.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP8266_Addon_2G.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP8266_Addon_2G.fzz
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP8266_Addon_2G.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP8266_Addon_2G.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP8266_Addon_DHT.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP8266_Addon_DHT.fzz
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP8266_Addon_DHT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP8266_Addon_DHT.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP8266_Addon_I2C.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP8266_Addon_I2C.fzz
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP8266_Addon_I2C.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP8266_Addon_I2C.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP8266_Addon_IR.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP8266_Addon_IR.fzz
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP8266_Addon_IR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP8266_Addon_IR.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP8266_Addon_RF.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP8266_Addon_RF.fzz
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP8266_Addon_RF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP8266_Addon_RF.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP8266_Addon_RFM69.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP8266_Addon_RFM69.fzz
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP8266_Addon_RFM69.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP8266_Addon_RFM69.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP8266_Addon_RS232.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP8266_Addon_RS232.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP8285_Addon_IR.fzz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP8285_Addon_IR.fzz
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_ESP8285_Addon_IR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_ESP8285_Addon_IR.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_M5_Atom_Board.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_M5_Atom_Board.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_M5_Stack_Board_Display_Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_M5_Stack_Board_Display_Logo.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_M5_Stack_Board_Display_Text.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_M5_Stack_Board_Display_Text.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_M5_Stack_Board_Display_Warning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_M5_Stack_Board_Display_Warning.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_M5_StickC_Board_Display_Text.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_M5_StickC_Board_Display_Text.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_NODERED-chart-dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_NODERED-chart-dashboard.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_NODERED-chart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_NODERED-chart.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_NODERED-flow-BLE-temperature.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_NODERED-flow-BLE-temperature.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_NODERED-gauge-dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_NODERED-gauge-dashboard.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_NODERED-gauge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_NODERED-gauge.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_NODERED-integration-debug.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_NODERED-integration-debug.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_NODERED-integration-debug2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_NODERED-integration-debug2.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_NODERED-integration-debug3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_NODERED-integration-debug3.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_NODERED-integration-process.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_NODERED-integration-process.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_NODERED-integration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_NODERED-integration.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_NodeMCU_PyFlasher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_NodeMCU_PyFlasher.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_OpenHAB_Control.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_OpenHAB_Control.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_SONOFF_RFBRIDGE_Upload_Parameters.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_SONOFF_RFBRIDGE_Upload_Parameters.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_SONOFF_RFBRIDGE_results.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_SONOFF_RFBRIDGE_results.png
--------------------------------------------------------------------------------
/docs/img/OpenMQTTgateway_miflora_results.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/OpenMQTTgateway_miflora_results.png
--------------------------------------------------------------------------------
/docs/img/Openmqttgateway_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Openmqttgateway_logo.png
--------------------------------------------------------------------------------
/docs/img/Openmqttgateway_logo_micro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Openmqttgateway_logo_micro.png
--------------------------------------------------------------------------------
/docs/img/Openmqttgateway_logo_mini.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Openmqttgateway_logo_mini.png
--------------------------------------------------------------------------------
/docs/img/Openmqttgateway_logo_mini_512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Openmqttgateway_logo_mini_512.png
--------------------------------------------------------------------------------
/docs/img/Openmqttgateway_logo_mini_margins.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Openmqttgateway_logo_mini_margins.png
--------------------------------------------------------------------------------
/docs/img/Theengs-Bridge-ble-gateway.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Theengs-Bridge-ble-gateway.png
--------------------------------------------------------------------------------
/docs/img/Theengs-Plug-OpenMQTTGateway.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Theengs-Plug-OpenMQTTGateway.png
--------------------------------------------------------------------------------
/docs/img/Wiki_module_BT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Wiki_module_BT.png
--------------------------------------------------------------------------------
/docs/img/Wiki_module_DHT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Wiki_module_DHT.png
--------------------------------------------------------------------------------
/docs/img/Wiki_module_I2C.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Wiki_module_I2C.png
--------------------------------------------------------------------------------
/docs/img/Wiki_module_IR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Wiki_module_IR.png
--------------------------------------------------------------------------------
/docs/img/Wiki_module_RF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Wiki_module_RF.png
--------------------------------------------------------------------------------
/docs/img/Wiki_module_RFM69.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/Wiki_module_RFM69.png
--------------------------------------------------------------------------------
/docs/img/arduino-esp32-sketchbook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/arduino-esp32-sketchbook.png
--------------------------------------------------------------------------------
/docs/img/digoo-pir-DG-HOSA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/digoo-pir-DG-HOSA.png
--------------------------------------------------------------------------------
/docs/img/domoticz-logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/domoticz-logo.jpg
--------------------------------------------------------------------------------
/docs/img/fhem_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/fhem_logo.png
--------------------------------------------------------------------------------
/docs/img/home-assistant-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/home-assistant-logo.png
--------------------------------------------------------------------------------
/docs/img/jeedom-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/jeedom-logo.png
--------------------------------------------------------------------------------
/docs/img/node-red-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/node-red-logo.png
--------------------------------------------------------------------------------
/docs/img/openhab-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/img/openhab-logo.png
--------------------------------------------------------------------------------
/docs/integrate/aws_iot.md:
--------------------------------------------------------------------------------
1 | # Integrate AWS IOT
2 | ## Create a thing
3 |
4 | * From AWS console, search for IOT core
5 | * Create a Thing and name it, this name will be used as the OpenMQTTGateway name.
6 |
7 | 
8 |
9 | 
10 |
11 | 
12 |
13 | 
14 |
15 | ## Create a policy
16 |
17 | 
18 |
19 | 
20 |
21 | 
22 |
23 | * Add this json code to the policy
24 | ```json
25 | {
26 | "Version": "2021-11-01",
27 | "Statement": [
28 | {
29 | "Effect": "Allow",
30 | "Action": [
31 | "iot:Connect",
32 | "iot:Publish",
33 | "iot:Subscribe",
34 | "iot:Receive",
35 | "greengrass:Discover"
36 | ],
37 | "Resource": [
38 | "*"
39 | ]
40 | }
41 | ]
42 | }
43 | ```
44 |
45 | ## Create a certificate
46 |
47 | * Create a new certificate
48 |
49 | 
50 | 
51 |
52 | * Download certificates and key
53 |
54 | 
55 |
56 | ## Attach Policy with certificate
57 |
58 | 
59 | 
60 |
61 | ## Activate certificate and attach it to Thing
62 |
63 | 
64 | 
65 |
66 | ## Find AWS EndPoint
67 |
68 | 
69 |
70 | ## Gather the information for OpenMQTTGateway configuration
71 |
72 | Now you should have the following information for the OpenMQTTGateway configuration:
73 | * Root certificate
74 | * Client certificate
75 | * Client key
76 | * End point url
77 | * Gateway name
78 |
79 | ## Modify OpenMQTTGateway configuration
80 |
81 | With PlatformIO you can directly leverage the environment `esp32dev-ble-aws` as an example and modify it following your needs.
82 |
83 | ## Build and upload
84 |
85 | ## Connect to a WiFi Access point [see portal](../upload/portal)
86 | Enter your credentials and verify that Secure connection is marked.
87 |
88 | ## Verify that you receive data in AWS
89 |
90 | * Go to things
91 | * Click on the thing created
92 | * Go to Activity
93 | * Click on MQTT Test Client
94 | * Subscribe to `+/#`
95 |
96 | You should see messages coming.
97 |
98 | 
--------------------------------------------------------------------------------
/docs/participate/adding-protocols.md:
--------------------------------------------------------------------------------
1 | # Adding protocols
2 |
3 | Adding your device protocol to OpenMQTTGateway enables it to increase interoperability and to create new use cases with your device. Below you will find some guidance to do that.
4 |
5 | ## RF or IR
6 | For adding RF and IR protocols to OpenMQTTGateway the best way is to do a pull request to [RCSwitch](https://github.com/1technophile/rc-switch), [Pilight](https://github.com/pilight/pilight) for RF, and [IRRemoteESP8266](https://github.com/crankyoldgit/IRremoteESP8266) for IR.
7 |
8 | ## BLE
9 | For BLE message decoding OpenMQTTGateway uses the [Theengs Decoder](https://decoder.theengs.io/) library. New device decoder pull requests can be submitted directly to the [GitHub repository](https://github.com/theengs/decoder).
10 |
11 | Currently we support the reading of advertizing BLE devices, advertizing means that the BLE device broadcasts regularly its sensor data without the need of a BLE connection.
12 |
13 |
--------------------------------------------------------------------------------
/docs/participate/community.md:
--------------------------------------------------------------------------------
1 | # Community participation
2 | The first entry step for participating to OMG is sharing and discussing with the [community](https://community.openmqttgateway.com), by sharing your experiences and answering to other questions you are giving back what the others gave to you.
3 |
4 | You can use the forum to ask questions, post answers, suggest features and discuss about home automation or Internet of things in a more general way.
--------------------------------------------------------------------------------
/docs/participate/support.md:
--------------------------------------------------------------------------------
1 | # Supporting the project
2 |
3 | If you like the project and/or used it please consider supporting it! It can be done in different ways:
4 | * Purchase the [Theengs mobile application](https://app.theengs.io)
5 | * Purchase the [Theengs plug](https://shop.theengs.io)
6 | * Helping other users in the [community](https://community.openmqttgateway.com)
7 | * [Contribute](development) to the [code](https://github.com/1technophile/OpenMQTTGateway) or the [documentation](https://docs.openmqttgateway.com)
8 | * Buy devices, boards or parts from the [compatible web site](https://compatible.openmqttgateway.com), the devices and parts linked use affiliated links.
9 | * Donate or sponsor the project [developers](https://github.com/1technophile/OpenMQTTGateway/graphs/contributors)
10 | * Make a video or a blog article about what you have done with [OpenMQTTGateway](https://docs.openmqttgateway.com) and share it.
11 |
12 | Support open-source development through sponsorship and gain exclusive access to our private forum. Your questions, issues, and feature requests will receive priority attention, plus you'll gain insider access to our roadmap.
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/docs/prerequisites/M5.md:
--------------------------------------------------------------------------------
1 | # M5 Boards
2 | M5 boards, manufactured by [M5Stack](https://m5stack.com/) are inexpensive, well featured boards based on ESP32.
3 |
4 | ## M5StickC and M5Stack
5 | M5StickC and M5Stack are supported by OpenMQTTGateway and provide the following features:
6 |
7 | ### 3 low power modes
8 | #### Always ON display
9 | The display is always ON but decrease its brightness when not processing.
10 |
11 | #### ON display when processing
12 | The display is OFF when not processing and the ESP32 is put in low power mode.
13 |
14 | #### Always OFF display
15 | The display is always OFF, if the board has a led, the led is used when processing.
16 |
17 | To change the low power mode you can do it by [MQTT](../use/boards#low-power-mode-for-m5-boards) or by pushing the middle button (btn B) of the M5Stack and the top button (btn B) of the M5Stick C
18 |
19 | ### Start screen
20 | 
21 |
22 | ### Sleep screen
23 | The screen brightness is put to a minimum so as to reduce power consumption.
24 | 
25 |
26 | ### Log display in case of warning
27 | If the gateway detects a warning or an error the sleep go out the sleep screen and show the message with a red (error) or orange (warning) background.
28 | 
29 |
30 | The M5Stick support low power mode 2 but its display is not supported for the moment.
31 |
--------------------------------------------------------------------------------
/docs/prerequisites/boards/.gitignore:
--------------------------------------------------------------------------------
1 | # Ignore everything in this directory
2 | *
3 | # Except this file
4 | !.gitignore
--------------------------------------------------------------------------------
/docs/prerequisites/broker.md:
--------------------------------------------------------------------------------
1 | # Broker
2 | The broker will act as an intermediary between OpenMQTTGateway and your [controller](/prerequisites/controller), it can be seen as a centralized hub at the heart of your automation system. It carry on messages following a publish / subscribe mechanism.
3 |
4 | All the events or commands could pass by the broker.
5 |
6 | There are many choices of brokers, here are some of the most popular:
7 | * [Mosquitto](https://mosquitto.org/) (Open source)
8 | * [Moquette](https://moquette-io.github.io/moquette/) (Open source)
9 | * [EMQX](https://www.emqx.io/) (Open Source)
10 | * [HiveMQ](https://www.hivemq.com/hivemq/features/)
11 | * Embedded MQTT brokers (Home Assistant and OpenHAB)
12 |
13 | This [wikipedia list](https://en.wikipedia.org/wiki/Comparison_of_MQTT_implementations) gives you more details about the different choices you have.
14 | This [github list](https://github.com/mqtt/mqtt.github.io/wiki/libraries) seems to be the most exhaustive ones.
15 | Here is also some [ideas of criteria](https://www.hivemq.com/blog/top-10-mqtt-broker-criteria/) from HiveMQ.
16 |
17 | Once your broker is installed it can be interesting to see the traffic passing to it and to publish data, so as to do that there are several tools available:
18 | * [MQTT Explorer](http://mqtt-explorer.com/)
19 | * [HIVE MQ Web client](https://github.com/hivemq/hivemq-mqtt-web-client)
20 | * [MQTT FX](https://mqttfx.jensd.de/)
21 |
22 |
--------------------------------------------------------------------------------
/docs/prerequisites/controller.md:
--------------------------------------------------------------------------------
1 | # Controller
2 | MQTT enables you to connect easily a controller so as to monitor, control and automate scenarios.
3 |
4 | The following controllers (and many other software) are compatible with MQTT:
5 |
6 | 
7 |
8 | OpenMQTTGateway is independent from these projects, you have the liberty of choice among all the compatible software.
9 |
10 | * [OpenHAB](https://www.openhab.org)
11 | * [Home Assistant](https://www.home-assistant.io)
12 | * [Domoticz](https://www.domoticz.com)
13 | * [Jeedom](https://www.jeedom.com)
14 | * [Node Red](https://nodered.org)
15 | * [FHEM](https://fhem.de)
16 |
--------------------------------------------------------------------------------
/docs/prerequisites/devices.md:
--------------------------------------------------------------------------------
1 | # Devices
2 |
3 | You can take a look to the [OpenMQTTGateway compatible website](https://compatible.openmqttgateway.com) to have a view of the [supported devices](https://compatible.openmqttgateway.com/index.php/devices/).
4 |
5 | Added to that is an overview of devices supported by OpenMQTTGateway:
6 |
7 | ## For radio frequency devices
8 | OpenMQTTGateway can support a wide range of 433mhz/315mhz devices, all the ones with SC5262 / SC5272, HX2262 / HX2272, PT2262 / PT2272, EV1527, RT1527, FP1527, HS1527 chipsets are supported by the RF gateway. Added to that RF2 support Kaku and Pilight an [huge list](https://wiki.pilight.org/devices).
9 | Note that for the moment RF, RF2 and Pilight can not be activated on the same boards together.
10 |
11 | 
12 | 
13 | 
14 |
15 | ## For BLE devices
16 | OpenMQTTGateway is able to scan all the BLE devices that advertise their data so as to do presence detection.
17 | Added to that it retrieves the measures from the devices mentioned and linked to below. By default the data are read from the advertisements (no or very little impact on device battery life). For some devices we may connect briefly only to retrieve one or several parameters.
18 |
19 | OpenMQTTGateway currently supports the decoding of [more than 100 Bluetooth devices](https://decoder.theengs.io/devices/devices.html), which include popular devices like Mi Flora, Xiaomi scales, Inkbird, Govee and ThermoPro thermo-hygrometers and BBQ thermometers, SwitchBot devices status and many more.
20 |
21 | ::: tip
22 | - (2) See https://github.com/atc1441/ATC_MiThermometer
23 | - (3) See https://github.com/pvvx/ATC_MiThermometer
24 | :::
25 |
26 | 
27 |
28 | ## For infrared IR devices
29 | The list of supported devices for ESP is [here](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/SupportedProtocols.md), and [here](https://github.com/1technophile/OpenMQTTGateway/blob/6f73160d1421bebf2c1bbc9b8017978ff5b16520/main/config_IR.h#L123) for Arduino boards, as there is also the possibility of using raw and global cache (ESP) sending possibilities of this gateway is huge!
30 |
31 | ## LORA
32 | LoRa is more dedicated at this moment for tinkering and DIY and there is no Off the shelves devices compatible to my knowledge with this gateway.
33 |
--------------------------------------------------------------------------------
/docs/prerequisites/parts.md:
--------------------------------------------------------------------------------
1 | # Parts
2 | Depending on the gateway you would like to setup and your board, you may need extra parts/module to add.
3 |
4 | You can take a look to the [OpenMQTTGateway compatible website](https://compatible.openmqttgateway.com) to have a view of the [supported parts](https://compatible.openmqttgateway.com/index.php/parts/).
5 |
6 | Here is below the main parts reference.
7 |
8 | ## Main parts
9 | |Parts|RF|IR|BLE|LoRa|GSM|
10 | |-|:-:|:-:|:-:|:-:|:-:|
11 | |SRX882 / STX882|X|-||-|-|
12 | |CC1101|X|-|-|-|-|
13 | |38KHz IR emitter and receiver|-|X|-|-|-|
14 | |SX1276 / SX1278|-|-|-|X|-|
15 | |A6/A7|-|-|-|-|X|
16 |
17 | ::: tip
18 | There is a wide range of parts available that may be compatible with OpenMQTTGateway, the ones [listed](https://compatible.openmqttgateway.com/index.php/parts/) are the ones tested and for which you can ask for support. Indeed for other parts we may not have it so as to reproduce the issue, or in the worst case they may not be compatible.
19 | :::
20 |
--------------------------------------------------------------------------------
/docs/setitup/actuators.md:
--------------------------------------------------------------------------------
1 | # Actuators
2 | ## Compatible parts
3 | |Module|Purpose|Where to Buy|
4 | |-|-|-|
5 | |LED|Basic led|[parts list](https://compatible.openmqttgateway.com/index.php/parts)|
6 | |FASTLED|RGB Leds management|[parts list](https://compatible.openmqttgateway.com/index.php/parts)|
7 | |BUZZER|-|[parts list](https://compatible.openmqttgateway.com/index.php/parts)|
8 | |RELAY|Switch power circuit|[parts list](https://compatible.openmqttgateway.com/index.php/parts)|
9 |
10 | ## Pinout
11 | |Module| Boards|
12 | |-|-|
13 | |RELAY|all output compatible pins|
14 | |FASTLED|all output compatible pins|
15 |
16 | Vcc pin of the board and the Module to a 5V supply source
17 | Ground pins of the board and the Module to the ground of the supply source.
18 |
19 | ## Somfy RTS
20 | For this actuator a 433.42 MHz RF transmitter is required.
21 | The standard 433.92 MHz transmitter don't work.
22 | The CC1101 Transceiver supports both 433.42 MHz and 433.92 MHz and can be used with the Somfy RTS actor.
23 | The wiring of the hardware is described in the [RF gateway](rf).
24 |
--------------------------------------------------------------------------------
/docs/setitup/ble.md:
--------------------------------------------------------------------------------
1 | # BLE gateway
2 | ## Compatible parts
3 | **The ESP32 has an integrated BLE module**, with this board the BLE gateway don't need any additional hardware. Making it the **advised board for BLE**.
4 |
5 | You can use a barebone ESP32 or some nice looking products like the ones below (from M5Stack):
6 |
7 | 
8 | 
9 |
10 | For Arduino and ESP8266, we previously used HM10, this module is no longer supported by OpenMQTTGateway, prefer an ESP32.
11 |
--------------------------------------------------------------------------------
/docs/setitup/gsm.md:
--------------------------------------------------------------------------------
1 | # GSM 2G gateway
2 | ## Compatible parts
3 |
4 | |Module|Purpose|Where to Buy|
5 | |-|-|-|
6 | |A6|GSM GPRS module|[compatible parts list](https://compatible.openmqttgateway.com/index.php/parts)|
7 | |A7|GSM GPRS module with GPS|[compatible parts list](https://compatible.openmqttgateway.com/index.php/parts)|
8 |
9 | ## Hardware setup
10 |
11 | |Module Pin|NodeMCU / ESP8266 Pin|
12 | |-|:-:|
13 | |H_RXD|D6|
14 | |H_TXD|D7|
15 | |GND|GND|
16 | |VCC5|MOSFET driven by D5|
17 |
18 | For VCC5 you can power it directly all the time with an USB cable or use a MOSFET like [here](https://gitlab.com/stavros/A6-ESP8266-breakout/raw/master/images/schematic.png)
19 |
20 | Don't use the nodemcu/wemos 5V pin for the A6/7 power, use a dedicated power supply for both or dedicated to the A6/7 with at least 2 amps ability.
21 |
22 | So as to start your A6/7 module press the red button for 4 seconds, or link the PWR_KEY GPIO to VCC5.0 for the same time.
23 |
24 | 
25 |
--------------------------------------------------------------------------------
/docs/setitup/ir.md:
--------------------------------------------------------------------------------
1 | # IR gateway
2 | ## Compatible parts
3 | |Module|Purpose|Where to Buy|
4 | |-|-|-|
5 | |IR diode|Emitting|[compatible parts list](https://compatible.openmqttgateway.com/index.php/parts)|
6 | |IR receiver|Receiving|[compatible parts list](https://compatible.openmqttgateway.com/index.php/parts)|
7 | |transistor 2N2222|Amplify uC signal for the IR diode|-|
8 | |330 ohms resistor|-|[compatible parts list](https://compatible.openmqttgateway.com/index.php/parts)|
9 | |220 ohms resistor|limit current to LED|[compatible parts list](https://compatible.openmqttgateway.com/index.php/parts)|
10 |
11 | The IR setup can work with bc547 and a 4x3 LED-Matrix.
12 |
13 | ## Pinout
14 | |Board| Receiver Pin| Emitter Pin|
15 | |-|:-:|:-:|
16 | |ESP8266|D4|D0|
17 | |ESP32|27/**26**|14|
18 |
19 | Connect the Emitter and Receiver to a 5V supply source, and the ground of your supply source to the ground of your board.
20 |
21 | ## ESP8266 Hardware setup
22 | 
23 |
24 | ## ESP32 Hardware setup
25 | 
26 |
27 | ## Credits
28 | This gateway exists thanks to the work done on [IRRemote](https://github.com/z3t0/Arduino-IRremote) and [IRremoteESP8266](https://github.com/crankyoldgit/IRremoteESP8266) libraries. Thanks for the works of contributors and especially [@crankyoldgit](https://github.com/crankyoldgit) for its active contributions.
29 |
--------------------------------------------------------------------------------
/docs/setitup/lora.md:
--------------------------------------------------------------------------------
1 | # LoRa gateway
2 | ## Compatible parts
3 | An ESP32 board with a LoRa module.
4 | Ideally a TTGO board with LoRa module included see [compatible parts list](https://compatible.openmqttgateway.com/index.php/parts)
5 |
6 | With this kind of board there is no hardware modification needed.
7 |
--------------------------------------------------------------------------------
/docs/setitup/sensors.md:
--------------------------------------------------------------------------------
1 | # Sensors
2 | ## Compatible sensors
3 | |Module|Purpose|Where to Buy|
4 | |-|-|-|
5 | |DHT11|Temperature, Humidity|[parts list](https://compatible.openmqttgateway.com/index.php/parts)|
6 | |DHT22|Temperature, Humidity|[parts list](https://compatible.openmqttgateway.com/index.php/parts)|
7 | |HCSR501|PIR|[parts list](https://compatible.openmqttgateway.com/index.php/parts)|
8 | |BH1750|Digital light|[parts list](https://compatible.openmqttgateway.com/index.php/parts)|
9 | |BME280|Temperature, Humidity, Pressure|[parts list](https://compatible.openmqttgateway.com/index.php/parts)|
10 | |BMP280|Temperature, Pressure|[parts list](https://compatible.openmqttgateway.com/index.php/parts)|
11 | |C-37, YL-83, HM-RD|Leak, Water|[parts list](https://compatible.openmqttgateway.com/index.php/parts)|
12 | |HTU21|Temperature, Humidity|[parts list](https://compatible.openmqttgateway.com/index.php/parts)|
13 | |GPIO Input|Inputs|-|
14 | |GPIO KeyCode|Keycode|[parts list](https://compatible.openmqttgateway.com/index.php/parts)|
15 | |INA226|Current, Voltage|[parts list](https://compatible.openmqttgateway.com/index.php/parts)|
16 | |MQ2|Gas (flammable)|[parts list](https://compatible.openmqttgateway.com/index.php/parts)|
17 | |TEMT6000|Luminosity|[parts list](https://compatible.openmqttgateway.com/index.php/parts)|
18 | |TSL2561|Luminosity|[parts list](https://compatible.openmqttgateway.com/index.php/parts)|
19 |
20 | ## Pinout
21 | |Module|Arduino Pin| ESP8266 Pin|ESP32 Pin|
22 | |-|-|-|-|
23 | |Analog reading|A0|A0|A0|
24 | |BH1750 SDA|A4|D2|21|
25 | |BH1750 SCL|A5|D1|22|
26 | |BME280/BMP280 SDA|A4|D2|21|
27 | |BME280/BMP280 SCL|A5|D1|22|
28 | |C-37, YL-83, HM-RD|A0 + D14|A0 + D14|A7 + D14|
29 | |DHT11/22|D8|D1|16|
30 | |HC-SR501/HC-SR505|7|D5|5|
31 | |HTU21 SDA|A4|D2|21|
32 | |HTU21 SCL|A5|D1|22|
33 | |INA226 SDA|A4|D2|21|
34 | |INA226 SCL|A5|D1|22|
35 | |MQ02 |A0 + D4|A0 + D4|A0 + D4|
36 | |TEMT6000 |A0|A0|A0|
37 | |TSL2561 SDA|A4|D2|21|
38 | |TSL2561 SCL|A5|D1|22|
39 |
40 | Vcc pin of the board and the Module to a 3.3V or 5V supply source depending on sensor voltage requirement.
41 | Ground pins of the board and the Module to the ground of the supply source.
42 |
--------------------------------------------------------------------------------
/docs/setitup/serial.md:
--------------------------------------------------------------------------------
1 | # Serial/RS232 gateway
2 | ## Compatible parts
3 | |Module|Purpose|Where to Buy|
4 | |-|-|-|
5 | |TTL to RS232 module|Transceiving|-|
6 |
7 |
8 | Any module using a MAX232 chip will work. Don't pay extra to get all the signals, we're only using RX and TX.
9 |
10 | ## Pinout
11 | |Board| Receiver Pin| Emitter Pin|
12 | |-|:-:|:-:|
13 | |ESP8266|D2|D4|
14 | |ESP32|27/**26**|14|
15 |
16 | Connect VCC on the module to 5V of your board, and the ground on the module to the ground of your board. your Transmit pin goes to TX and your Receive pin goes to RX. This may seem backwards, but the module is labeled as where it will be connected on the RS232 side of the module.
17 |
18 | ## ESP8266 Hardware setup
19 | 
20 |
21 | ## ESP32 Hardware setup
22 | 
23 |
24 | ## Credits
25 | RS232 gateway Developed by DieKatzchen
--------------------------------------------------------------------------------
/docs/upload/gitpod.md:
--------------------------------------------------------------------------------
1 | # (Option 4) Build from the web
2 |
3 | To build OpenMQTTGateway from the web and download the binary, follow these steps:
4 |
5 | 1. Use Gitpod by clicking on the link below:
6 | [https://gitpod.io#https://github.com/1technophile/OpenMQTTGateway/tree/development](https://gitpod.io#https://github.com/1technophile/OpenMQTTGateway/tree/development)
7 |
8 | 2. This will generate a development environment in your browser and install [platformio](https://platformio.org/) as a build environment.
9 |
10 | 3. A first build for `esp32dev-ble` will be launched automatically. To modify the environment configuration, go to the environments.ini file in the root folder and launch the command like the one shown at the bottom of the image below:
11 | `platformio run -e `
12 |
13 | 
14 |
15 | 4. Wait for the server to build the binary. Once you see [SUCCESS], you can go to `.pio/build/` and download `firmware.bin` and `partitions.bin` by right-clicking on each and selecting "Download."
16 | 
17 |
18 | 5. Finally, follow [Option 2](binaries.md) to upload the binary.
19 |
--------------------------------------------------------------------------------
/docs/upload/web-install.md:
--------------------------------------------------------------------------------
1 | ---
2 | pageClass: table-generated-page
3 | ---
4 |
5 | # (Option 1) Upload from the web
6 |
7 | ::: tip Running on a tablet or phone
8 | 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/).
9 | :::
10 |
11 | ::: warning Note
12 | If you are on macOS and have a LilyGo LoRa32 V2.1 board, make sure you have the [correct driver for the CH9102 Serial Chip](https://github.com/WCHSoftGroup/ch34xser_macos) installed and selected in the popup when initiating the web install.
13 | To finalise the driver installation don't forget the confirmation in the **Security** section of **System Preferences** after the restart.
14 | The correct driver to then select in the popup of this web install is
15 | `/dev/cu.wchusbserialXXXXXXXXXXX`
16 | :::
17 |
18 | You can upload the firmware to your ESP device directly from here.
19 | 1. Plug in your ESP to a USB port.
20 | 2. Select the firmware in the box below.
21 | 3. Click the install button and choose the port that the ESP is connected to.
22 | 4. Wait until the process is complete.
23 | 5. Once completed you can configure your [WiFi and MQTT credentials](portal.md)
24 |
25 |
26 |
27 | Upload powered by [ESP Web Tools](https://esphome.github.io/esp-web-tools/)
28 |
29 | ## Using OpenMQTTGateway ?
30 | Support open-source development through sponsorship and gain exclusive access to our private forum. Your questions, issues, and feature requests will receive priority attention, plus you'll gain insider access to our roadmap.
31 |
32 |
33 |
34 |
35 |
36 | ## Environments characteristics
37 | The auto-generated table below describes the libraries and the modules of each board configuration.
38 |
--------------------------------------------------------------------------------
/docs/use/gsm.md:
--------------------------------------------------------------------------------
1 | # GSM 2G gateway
2 | ## Receiving SMS from 2G
3 |
4 | Subscribe to all the messages with mosquitto or open your MQTT client software:
5 | `mosquitto_sub -t +/# -v`
6 |
7 | Generate your SMS by sending an SMS to the phone number of the A6/A7 SIM card you will see :
8 |
9 | ```
10 | home/OpenMQTTGateway/2GtoMQTT {"phone":"+33123456789","date":"2018/04/22,16:17:51+02","message":"Hello OpenMQTTGateway"}
11 | ```
12 |
13 | ## Send data by MQTT to send an SMS message with A6/7
14 |
15 | `sudo mosquitto_pub -t home/OpenMQTTGateway/commands/MQTTto2G -m '{"phone":"+33123456789","date":"2018/04/22,16:17:51+02","message":"hello"}'`
16 |
17 | This command will send by SMS the sentence "hello" and use the phone number 0123456789
18 |
19 | Arduino IDE serial data received when publishing data by MQTT
20 |
21 | 
22 |
23 | Arduino IDE serial data received when receiving SMS
24 |
25 | 
26 |
--------------------------------------------------------------------------------
/docs/use/ota_command_cert.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/docs/use/ota_command_cert.zip
--------------------------------------------------------------------------------
/docs/use/rfm69.md:
--------------------------------------------------------------------------------
1 | # RFM69 gateway
2 |
3 | The RFM69 gateway enables to send and receive signal from/to another RFM69 module. It is based on the work of @bbx10 https://github.com/bbx10/nanohab
4 |
5 | ### Receiving data from RFM signal
6 |
7 | Subscribe to all the messages with mosquitto or open your MQTT client software:
8 |
9 | ` sudo mosquitto_sub -t +/# -v`
10 |
11 | Generate your RF signals with a Moteino on other RFM69 based devices, you will receive :
12 |
13 | `home/OpenMQTTGateway/RFM69toMQTT 60,-98,0`
14 |
15 | In this case "60,-98,0" is the signal sent by another RFM69 + a wemos D1 with the sample sketch [rfm69send](https://github.com/1technophile/rfm69send/blob/master/rfm69send.ino) loaded in it.
16 |
17 | ### Send data by MQTT to convert it on RFM69 signal
18 | `mosquitto_pub -t "home/OpenMQTTGateway/commands/MQTTtoPilight" -m '{"data":"test"}'`
19 |
20 | This command will send by RFM69 the string *test* to the default receiver id 99
21 |
22 | ### Send data by MQTT with advanced RFM69 parameters
23 |
24 | RFM69 sending support one advanced parameters the target receiver ID.
25 |
26 | Example:
27 | SimplePublishing
28 | `mosquitto_pub -t home/OpenMQTTGateway/commands/MQTTtoRFM69/RCV_34 -m 33151562`
29 | will make the gateway send to the receiver ID 34 (node number) instead of 99
30 |
31 | JsonPublishing
32 | `mosquitto_pub -t home/OpenMQTTGateway/commands/MQTTtoRFM69 -m '{"data":1315156,"receiverid":34}'`
33 | This command will send by RFM69 the string *test* to the receiver id 34 instead of 99
34 |
35 | ### RFM69 acknowledgment
36 | Unlike RF or IR RFM69 as a complete acknowledgment mechanism. When a signal is sent the RFM69 can acknowledge the fact that the recipient received the message.
37 | In this case the gateway will publish the sent message to the topic defined by subjectGTWRFM69toMQTT macro.
38 |
--------------------------------------------------------------------------------
/docs/use/serial.md:
--------------------------------------------------------------------------------
1 | # RS232/Serial gateway
2 |
3 | The SERIAL gateway can be used to send and receive data from the serial connection to and from MQTT. Both softwareSerial as hardwareSerial are supported. HardwareSerial can be used for higher baud rates, but is limited to specific pins on most platforms.
4 |
5 | ## Sending an SERIAL message
6 |
7 | Simply publish the message you wish to transmit, minus the prefix and postfix. For example, to send the "Turn On" signal for a Mitsubishi XD221U projector, the code is simply '!' so you would use the command
8 |
9 | `mosquitto_pub -t home/OpenMQTTGateway/commands/XtoSERIAL -m '{"value": "!"}'`
10 |
11 | It will automatically add the prefix and postfix you set in [config_SERIAL.h](https://github.com/1technophile/OpenMQTTGateway/blob/master/main/config_SERIAL.h).
12 |
13 |
14 | ## Receiving an SERIAL message
15 |
16 | Two modes are available for receiving SERIAL messages.
17 |
18 | ### Single MQTT message mode (default)
19 | To receive a message, subscribe to all with `mosquitto_sub -t +/# -v`
20 | and perform an action that should get a response from the device. For example, If I were to send the "Turn On" signal from earlier, I would receive back
21 |
22 | ```json
23 | home/OpenMQTTGateway/SERIALtoMQTT {"value":"1"}
24 | ```
25 |
26 | Because this projector echoes back a received command to acknowledge. Some devices will send a NACK, or Negative Acknowledge, to confirm that they received your message but could not comply. That would look like
27 |
28 | ```json
29 | home/OpenMQTTGateway/SERIALtoMQTT {"value":"!:N"}
30 | ```
31 |
32 | ### JSON mode
33 | This mode can be used if the received message on the serial link is JSON. The JSON keys are used as separate MQTT sub-topics. For nested JSON this will be repeated for sub-keys up to the specified nesting level.
34 |
35 | For example:
36 |
37 | input received at serial link:
38 | ```json
39 | {temperature: {sens1: 22, sens2: 23}, humidity: {sens1: 80, sens2: 60}}
40 | ```
41 |
42 |
43 | output in case of max nesting level 1:
44 | ```json
45 | home/OpenMQTTGateway/SERIALtoMQTT/temperature "{sens1: 22, sens2: 23}"
46 | home/OpenMQTTGateway/SERIALtoMQTT/humidity "{sens1: 80, sens2: 60}"
47 | ```
48 |
49 | output in case of max nesting level 2 (or higher):
50 | ```json
51 | home/OpenMQTTGateway/SERIALtoMQTT/temperature/sens1 22
52 | home/OpenMQTTGateway/SERIALtoMQTT/temperature/sens2 23
53 | home/OpenMQTTGateway/SERIALtoMQTT/humidity/sens1 80
54 | home/OpenMQTTGateway/SERIALtoMQTT/humidity/sens2 60
55 | ```
56 |
57 |
--------------------------------------------------------------------------------
/docs/use/webui.md:
--------------------------------------------------------------------------------
1 | # WebUI
2 |
3 | For ESP32 based environments a WebUI is available to provide basic configuration and monitoring of your OpenMQTTGateway Device. Functions included are:
4 |
5 | * Configuration
6 | * Information
7 | * Firmware Upgrade
8 | * Console
9 | * Restart
10 |
11 | # Login Authentication
12 |
13 | By default access to the WebUI uses basic authentication to control access to your OpenMQTTGateway Device. The login is `admin` and the password is your `gateway password` (if unchanged during onboarding there is no password).
14 |
15 | ::: warning
16 | The communication with the WebUI is not encrypted, which means that your data may be visible on your local network.
17 | :::
18 |
19 | # Configuration Options
20 |
21 | ## WiFi
22 |
23 | Ability to change the SSID and password for your WiFi, if the change is unsuccessful it will revert back to the previous WiFi settings.
24 |
25 | ## MQTT
26 |
27 | Ability to change the mqtt settings, if the change is unsuccessful it will revert back to the previous mqtt settings.
28 |
29 | ## WebUI
30 |
31 | Ability to change the display of sensor to Metric or Imperial, and disable the WebUI Authentication
32 |
33 | ## Logging
34 |
35 | Ability to temporarily change the logging level.
36 |
37 | # Information
38 |
39 | Details of OpenMQTTGateway Device status
40 |
41 | # Firmware Upgrade
42 |
43 | Ability to upgrade firmware by URL or to latest version.
44 |
45 | # Console
46 |
47 | Ability to view messages from the OpenMQTTGateway console. The scope of messages visible in the UI is limited to just the OpenMQTTGateway codebase, messages from the ESP hardware or other libraries are not visible,
48 |
49 | Ability to inject commands to OpenMQTTGateway for processing. The commands accepted are of the form mqtt topic then json message. And as you are already on the target device, you do not need to include the device name ie
50 |
51 | `commands/MQTTtoSYS/config {"cmd":"restart"}`
52 |
53 | This works for all modules in your environment.
54 |
--------------------------------------------------------------------------------
/examples/LoraTemperature/.gitignore:
--------------------------------------------------------------------------------
1 | .pio
2 | .vscode/.browse.c_cpp.db*
3 | .vscode/c_cpp_properties.json
4 | .vscode/launch.json
5 | .vscode/ipch
6 |
--------------------------------------------------------------------------------
/examples/LoraTemperature/README.md:
--------------------------------------------------------------------------------
1 | # OpenMQTTGateway LoRa Node Example
2 | This repository contains an example of a LoRa node program designed for the ESP32 platform. The program reads the internal temperature of the ESP32, packages the data into a JSON format, and sends it over LoRa.
3 | It also sends a constant raw string simulating a Makerfab Soil sensor payload.
4 |
5 | ## Features:
6 | * Uses an SX12XX LoRa module.
7 | * Displays packet sending status and temperature data on an SSD1306 OLED display.
8 | * Sends the ESP32's MAC address as the node ID.
9 | * Sends temperature data in Celsius.
10 |
11 | ## Hardware Requirements:
12 | * ESP32 development board.
13 | * SX12XX LoRa module.
14 | * SSD1306 OLED display.
15 |
16 | ## Pin Configuration:
17 | * SCK - GPIO5
18 | * MISO - GPIO19
19 | * MOSI - GPIO27
20 | * SS - GPIO18
21 | * RST - GPIO14
22 | * DI0 - GPIO26
23 |
24 | ## Setup:
25 | ### Hardware Setup:
26 |
27 | Connect the SX1278 LoRa module and the SSD1306 OLED display to the ESP32 according to the pin configuration.
28 | Ensure that the OLED display is powered correctly.
29 |
30 | ### Software Setup:
31 |
32 | * Clone this repository.
33 | * Open the provided node program with PlatformIO
34 | * Upload the program to your ESP32.
35 |
36 | ## Usage:
37 | Power on the ESP32.
38 | The OLED display will show the status of the packet being sent and the current temperature reading.
39 | The built-in LED on the ESP32 will blink once every time a packet is sent.
40 | Monitor the serial output (at 115200 baud rate) to see the JSON formatted data being sent.
41 |
42 | ## Data Format:
43 | The data is sent in the following JSON format:
44 |
45 | ```json
46 | {
47 | "model": "ESP32TEMP",
48 | "id": "ESP32_MAC_ADDRESS",
49 | "tempc": "TEMPERATURE_IN_CELSIUS"
50 | }
51 | ```
52 |
53 | ## Troubleshooting:
54 | LoRa Initialization Failed: Ensure that the SX1278 LoRa module is connected correctly and powered on.
55 | OLED Display Not Working: Check the connections and ensure that the display is powered correctly.
56 | No Temperature Data: Ensure that the ESP32's internal temperature sensor is functional.
57 | Contributing:
58 | Feel free to contribute to this example by opening issues or submitting pull requests. Any feedback or improvements are welcome!
59 |
60 | I hope this README helps users understand and use your program! Adjustments can be made as necessary to fit any additional details or changes.
--------------------------------------------------------------------------------
/examples/LoraTemperature/platformio.ini:
--------------------------------------------------------------------------------
1 | ; PlatformIO Project Configuration File
2 | ;
3 | ; Build options: build flags, source filter
4 | ; Upload options: custom upload port, speed and extra flags
5 | ; Library options: dependencies, extra library storages
6 | ; Advanced options: extra scripting
7 | ;
8 | ; Please visit documentation for the other options and examples
9 | ; https://docs.platformio.org/page/projectconf.html
10 |
11 | [env:ttgo-lora32-v1]
12 | platform = espressif32
13 | board = ttgo-lora32-v1
14 | framework = arduino
15 | lib_deps =
16 | https://github.com/sandeepmistry/arduino-LoRa.git#f4a1d27
17 | https://github.com/ThingPulse/esp8266-oled-ssd1306.git#f96fd6a
18 | monitor_speed = 115200
19 |
20 | [env:ttgo-lora32-v21]
21 | platform = espressif32
22 | board = ttgo-lora32-v21
23 | framework = arduino
24 | lib_deps =
25 | https://github.com/sandeepmistry/arduino-LoRa.git#f4a1d27
26 | https://github.com/ThingPulse/esp8266-oled-ssd1306.git#f96fd6a
27 | monitor_speed = 115200
28 |
29 | [env:heltec-wifi-lora-32] ; Heltec ESP32 Board with SSD1306 display
30 | platform = espressif32
31 | board = heltec_wifi_lora_32
32 | framework = arduino
33 | lib_deps =
34 | https://github.com/sandeepmistry/arduino-LoRa.git#f4a1d27
35 | https://github.com/ThingPulse/esp8266-oled-ssd1306.git#f96fd6a
36 | monitor_speed = 115200
--------------------------------------------------------------------------------
/examples/LoraWaterCounter/README.md:
--------------------------------------------------------------------------------
1 | # OpenMQTTGateway LoRa Node Example
2 | This repository contains an example of a LoRa node program designed for the ESP32 platform.
3 | The program reads the DHT22 temperature and humidity, the battery level and water consumption via reed switch, packages the data into a JSON format, and sends it over LoRa.
4 |
5 | ## Features:
6 | * Uses an SX12XX LoRa module.
7 | * Displays packet sending status, counter and battery level data on an SSD1306 OLED display.
8 | * Sends the ESP32's MAC address as the node ID.
9 | * Sends temperature data in Celsius.
10 |
11 | ## Hardware Requirements:
12 | * ESP32 development board.
13 | * SX12XX LoRa module.
14 | * SSD1306 OLED display.
15 |
16 | ## Pin Configuration: (Lilygo LoRa32 V2.1_1.6)
17 | * SCK - GPIO5
18 | * MISO - GPIO19
19 | * MOSI - GPIO27
20 | * SS - GPIO18
21 | * RST - GPIO23
22 | * DI0 - GPIO26
23 |
24 | ## Setup:
25 | ### Hardware Setup:
26 |
27 | Connect the SX1278 LoRa module and the SSD1306 OLED display to the ESP32 according to the pin configuration.
28 | Ensure that the OLED display is powered correctly.
29 |
30 | ### Software Setup:
31 |
32 | * Clone this repository.
33 | * Open the provided node program with PlatformIO
34 | * Upload the program to your ESP32.
35 |
36 | ## Usage:
37 | Power on the ESP32.
38 | The OLED display will show the status of the packet being sent and the current temperature reading.
39 | The built-in LED on the ESP32 will blink once every time a packet is sent.
40 | Monitor the serial output (at 115200 baud rate) to see the JSON formatted data being sent.
41 |
42 | If you use arduino load ino file.
43 |
44 | ## Data Format:
45 | The data is sent in the following JSON format:
46 |
47 | ```json
48 | {
49 | "model": "ESP32CNT",
50 | "id": "ESP32_MAC_ADDRESS",
51 | "count": "COUNTER_IN_LITER",
52 | "tempc": "TEMPERATURE_IN_CELSIUS",
53 | "hum": "HUMIDITY_IN_PERCENTAGE",
54 | "batt": "BATTERY_IN_PERCENTAGE"
55 | }
56 | ```
57 |
58 | ## Troubleshooting:
59 | LoRa Initialization Failed: Ensure that the SX1278 LoRa module is connected correctly and powered on.
60 | OLED Display Not Working: Check the connections and ensure that the display is powered correctly.
61 | No Temperature Data: Ensure that the ESP32's internal temperature sensor is functional.
62 | Contributing:
63 | Feel free to contribute to this example by opening issues or submitting pull requests. Any feedback or improvements are welcome!
64 |
65 | I hope this README helps users understand and use your program! Adjustments can be made as necessary to fit any additional details or changes.
66 |
--------------------------------------------------------------------------------
/examples/LoraWaterCounter/platformio.ini:
--------------------------------------------------------------------------------
1 | ; PlatformIO Project Configuration File
2 | ;
3 | ; Build options: build flags, source filter
4 | ; Upload options: custom upload port, speed and extra flags
5 | ; Library options: dependencies, extra library storages
6 | ; Advanced options: extra scripting
7 | ;
8 | ; Please visit documentation for the other options and examples
9 | ; https://docs.platformio.org/page/projectconf.html
10 |
11 | [env:ttgo-lora32-v1]
12 | platform = espressif32
13 | board = ttgo-lora32-v1
14 | framework = arduino
15 | lib_deps =
16 | https://github.com/sandeepmistry/arduino-LoRa.git#f4a1d27
17 | https://github.com/ThingPulse/esp8266-oled-ssd1306.git#f96fd6a
18 | monitor_speed = 115200
19 |
20 | [env:ttgo-lora32-v21]
21 | platform = espressif32
22 | board = ttgo-lora32-v21
23 | framework = arduino
24 | lib_deps =
25 | https://github.com/sandeepmistry/arduino-LoRa.git#f4a1d27
26 | https://github.com/ThingPulse/esp8266-oled-ssd1306.git#f96fd6a
27 | monitor_speed = 115200
28 |
29 | [env:heltec-wifi-lora-32] ; Heltec ESP32 Board with SSD1306 display
30 | platform = espressif32
31 | board = heltec_wifi_lora_32
32 | framework = arduino
33 | lib_deps =
34 | https://github.com/sandeepmistry/arduino-LoRa.git#f4a1d27
35 | https://github.com/ThingPulse/esp8266-oled-ssd1306.git#f96fd6a
36 | monitor_speed = 115200
--------------------------------------------------------------------------------
/lib/TheengsUtils/TheengsUtils.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs - IoT Interoperability
3 |
4 | Copyright: (c)Florian ROBERT
5 |
6 | This file is part of Theengs products.
7 |
8 | Theengs is free software: you can redistribute it and/or modify
9 | it under the terms of the GNU General Public License as published by
10 | the Free Software Foundation, either version 3 of the License, or
11 | (at your option) any later version.
12 |
13 | Theengs is distributed in the hope that it will be useful,
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | GNU General Public License for more details.
17 |
18 | You should have received a copy of the GNU General Public License
19 | along with this program. If not, see .
20 | */
21 |
22 | #ifndef THEENGS_UTIL_H
23 | #define THEENGS_UTIL_H
24 |
25 | #include
26 | #include
27 | #include
28 | #include
29 |
30 | class TheengsUtils {
31 | public:
32 | static String toString(uint64_t input);
33 | static std::string processCert(const char* cert);
34 | static std::string generateHash(const std::string& input);
35 | static unsigned long uptime();
36 | static void syncNTP();
37 | static int unixtimestamp();
38 | static String UTCtimestamp();
39 | static void revert_hex_data(const char* in, char* out, int l);
40 | static long value_from_hex_data(const char* service_data, int offset, int data_length, bool reverse, bool canBeNegative = true);
41 | static double round2(float value);
42 | static bool _rawToHex(byte* in, char* out, int rawSize);
43 | static bool _hexToRaw(const char* in, byte* out, int rawSize);
44 | static char* ip2CharArray(IPAddress ip);
45 | static bool to_bool(String const& s);
46 | };
47 |
48 | #endif
--------------------------------------------------------------------------------
/lib/esp32-bt-lib/README:
--------------------------------------------------------------------------------
1 |
2 | This directory is intended for project specific (private) libraries.
3 | PlatformIO will compile them to static libraries and link into executable file.
4 |
5 | The source code of each library should be placed in a an own separate directory
6 | ("lib/your_library_name/[here are source files]").
7 |
8 | For example, see a structure of the following two libraries `Foo` and `Bar`:
9 |
10 | |--lib
11 | | |
12 | | |--Bar
13 | | | |--docs
14 | | | |--examples
15 | | | |--src
16 | | | |- Bar.c
17 | | | |- Bar.h
18 | | | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
19 | | |
20 | | |--Foo
21 | | | |- Foo.c
22 | | | |- Foo.h
23 | | |
24 | | |- README --> THIS FILE
25 | |
26 | |- platformio.ini
27 | |--src
28 | |- main.c
29 |
30 | and a contents of `src/main.c`:
31 | ```
32 | #include
33 | #include
34 |
35 | int main (void)
36 | {
37 | ...
38 | }
39 |
40 | ```
41 |
42 | PlatformIO Library Dependency Finder will find automatically dependent
43 | libraries scanning project source files.
44 |
45 | More information about PlatformIO Library Dependency Finder
46 | - https://docs.platformio.org/page/librarymanager/ldf.html
47 |
--------------------------------------------------------------------------------
/lib/esp32-bt-lib/README.rst:
--------------------------------------------------------------------------------
1 | ESP32 BT/BLE Stack Libraries
2 | ====================
3 |
4 | This repository contains binary libraries supporting the ESP32 RF subsystems. It is used as a submodule within `Espressif IoT Development Framework`_ (ESP-IDF).
5 |
6 | Files in this repository are Copyright (C) 2015-2016 Espressif Systems.
7 |
8 | These binary libraries are provided under the same license as the parent esp-idf project - the Apache License 2.0 as provided in the file LICENSE. (The license text refers to this as "Object" form.)
9 |
10 | .. _Espressif IoT Development Framework: https://github.com/espressif/esp-idf
11 |
--------------------------------------------------------------------------------
/lib/esp32-bt-lib/esp32/libbtdm_app.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1technophile/OpenMQTTGateway/9b6e835afbf46731d88e166967722423508c9cb9/lib/esp32-bt-lib/esp32/libbtdm_app.a
--------------------------------------------------------------------------------
/main/actuatorSomfy.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
4 | Send and receiving command by MQTT
5 |
6 | This actor enables to:
7 | - receive MQTT data from a topic and send Somfy RTS remote control signals corresponding to the received MQTT data
8 |
9 | Copyright (C) 2020 Leon Kiefer
10 |
11 | This file is part of OpenMQTTGateway.
12 |
13 | OpenMQTTGateway is free software: you can redistribute it and/or modify
14 | it under the terms of the GNU General Public License as published by
15 | the Free Software Foundation, either version 3 of the License, or
16 | (at your option) any later version.
17 | OpenMQTTGateway is distributed in the hope that it will be useful,
18 | but WITHOUT ANY WARRANTY; without even the implied warranty of
19 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 | GNU General Public License for more details.
21 | You should have received a copy of the GNU General Public License
22 | along with this program. If not, see .
23 | */
24 | #include "User_config.h"
25 |
26 | #ifdef ZactuatorSomfy
27 | # include
28 | # include
29 | # include
30 |
31 | # include "config_RF.h"
32 | # include "config_Somfy.h"
33 | # ifdef ZradioCC1101
34 | # include
35 | # endif
36 |
37 | void disableCurrentReceiver();
38 | void enableActiveReceiver();
39 | void initCC1101();
40 | void setupSomfy();
41 |
42 | void setupSomfy() {
43 | pinMode(RF_EMITTER_GPIO, OUTPUT);
44 | digitalWrite(RF_EMITTER_GPIO, LOW);
45 |
46 | # if defined(ESP32)
47 | if (!EEPROM.begin(max(4, SOMFY_REMOTE_NUM * 2))) {
48 | Log.error(F("failed to initialise EEPROM" CR));
49 | }
50 | # elif defined(ESP8266)
51 | EEPROM.begin(max(4, SOMFY_REMOTE_NUM * 2));
52 | # endif
53 |
54 | Log.trace(F("actuatorSomfy setup done " CR));
55 | }
56 |
57 | # if jsonReceiving
58 | void XtoSomfy(const char* topicOri, JsonObject& jsonData) {
59 | if (cmpToMainTopic(topicOri, subjectMQTTtoSomfy)) {
60 | Log.trace(F("MQTTtoSomfy json data analysis" CR));
61 | float txFrequency = jsonData["frequency"] | RFConfig.frequency;
62 | # ifdef ZradioCC1101 // set Receive off and Transmitt on
63 | disableCurrentReceiver();
64 | ELECHOUSE_cc1101.SetTx(txFrequency);
65 | Log.notice(F("Transmit frequency: %F" CR), txFrequency);
66 | # endif
67 |
68 | const int remoteIndex = jsonData["remote"];
69 | if (remoteIndex >= SOMFY_REMOTE_NUM) {
70 | Log.warning(F("actuatorSomfy remote does not exist" CR));
71 | return;
72 | }
73 | const String commandData = jsonData["command"];
74 | const Command command = getSomfyCommand(commandData);
75 |
76 | const int repeat = jsonData["repeat"] | 4;
77 |
78 | EEPROMRollingCodeStorage rollingCodeStorage(EEPROM_ADDRESS_START + remoteIndex * 2);
79 | SomfyRemote somfyRemote(RF_EMITTER_GPIO, somfyRemotes[remoteIndex], &rollingCodeStorage);
80 | somfyRemote.sendCommand(command, repeat);
81 | initCC1101();
82 | enableActiveReceiver();
83 | }
84 | }
85 | # endif
86 |
87 | #endif
88 |
--------------------------------------------------------------------------------
/main/certs/default_client_cert.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include
3 |
4 | static const char* ss_client_cert PROGMEM = R"EOF("
5 | -----BEGIN CERTIFICATE-----
6 | ...
7 | -----END CERTIFICATE-----
8 | ")EOF";
9 |
--------------------------------------------------------------------------------
/main/certs/default_client_key.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include
3 |
4 | static const char* ss_client_key PROGMEM = R"EOF("
5 | -----BEGIN RSA PRIVATE KEY-----
6 | ...
7 | -----END RSA PRIVATE KEY-----
8 | ")EOF";
9 |
--------------------------------------------------------------------------------
/main/certs/default_ota_cert.h:
--------------------------------------------------------------------------------
1 | // The certificate must be in PEM ascii format.
2 | // The default certificate is for ota.openmqttgateway.com
3 | #pragma once
4 | #include
5 |
6 | static const char* OTAserver_cert PROGMEM = R"EOF("
7 | -----BEGIN CERTIFICATE-----
8 | MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF
9 | ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6
10 | b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL
11 | MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv
12 | b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj
13 | ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM
14 | 9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw
15 | IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6
16 | VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L
17 | 93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm
18 | jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
19 | AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA
20 | A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI
21 | U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs
22 | N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv
23 | o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU
24 | 5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy
25 | rqXRfboQnoZsG4q5WTP468SQvvG5
26 | -----END CERTIFICATE-----
27 | ")EOF";
28 |
--------------------------------------------------------------------------------
/main/certs/default_server_cert.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include
3 |
4 | static const char* ss_server_cert PROGMEM = R"EOF("
5 | -----BEGIN CERTIFICATE-----
6 | ...
7 | -----END CERTIFICATE-----
8 | ")EOF";
9 |
--------------------------------------------------------------------------------
/main/config_2G.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This gateway enables to set your parameters for the 2G gateway
8 |
9 | Copyright: (c)Florian ROBERT
10 |
11 | This file is part of OpenMQTTGateway.
12 |
13 | OpenMQTTGateway is free software: you can redistribute it and/or modify
14 | it under the terms of the GNU General Public License as published by
15 | the Free Software Foundation, either version 3 of the License, or
16 | (at your option) any later version.
17 |
18 | OpenMQTTGateway is distributed in the hope that it will be useful,
19 | but WITHOUT ANY WARRANTY; without even the implied warranty of
20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 | GNU General Public License for more details.
22 |
23 | You should have received a copy of the GNU General Public License
24 | along with this program. If not, see .
25 | */
26 | #ifndef config_2G_h
27 | #define config_2G_h
28 |
29 | #include "TheengsCommon.h"
30 |
31 | extern void setup2G();
32 | extern bool _2GtoX();
33 | extern void Xto2G(const char* topicOri, const char* datacallback);
34 | extern void Xto2G(const char* topicOri, JsonObject& SMSdata);
35 | /*-------------------2G topics & parameters----------------------*/
36 | //433Mhz MQTT Subjects and keys
37 | #define subjectMQTTto2G "/commands/MQTTto2G"
38 | #define subject2GtoMQTT "/2GtoMQTT"
39 | #define subjectGTW2GtoMQTT "/2GtoMQTT"
40 | #define _2GPhoneKey "PHO_" // phone number define the phone number to send the SMS MQTT->2G
41 |
42 | #define _2G_MODULE_BAUDRATE 9600
43 | #define _2G_MIN_SIGNAL 30
44 | #define _2G_MAX_SIGNAL 1000
45 |
46 | /*-------------------PIN DEFINITIONS----------------------*/
47 | #if !defined(_2G_TX_GPIO) || !defined(_2G_RX_GPIO) || !defined(_2G_PWR_GPIO)
48 | # ifdef ESP8266
49 | # define _2G_TX_GPIO D6 //D6 to A6 RX,
50 | # define _2G_RX_GPIO D7 //D7 to A6 TX
51 | # define _2G_PWR_GPIO D5 // connect a MOSFET to power on and off your A6/7 module
52 | # elif defined(ESP32)
53 | # define _2G_TX_GPIO 16 //D16 to A6 RX,
54 | # define _2G_RX_GPIO 17 //D17 to A6 TX
55 | # define _2G_PWR_GPIO 5 // connect a MOSFET to power on and off your A6/7 module
56 | # else
57 | # define _2G_TX_GPIO 6 //D6 to A6 RX,
58 | # define _2G_RX_GPIO 7 //D7 to A6 TX
59 | # define _2G_PWR_GPIO 5 // connect a MOSFET to power on and off your A6/7 module
60 | # endif
61 | #endif
62 |
63 | #endif
64 |
--------------------------------------------------------------------------------
/main/config_ADC.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This files enables to set your parameter for the ADC value
8 |
9 | Copyright: (c)Florian ROBERT
10 |
11 | This file is part of OpenMQTTGateway.
12 |
13 | OpenMQTTGateway is free software: you can redistribute it and/or modify
14 | it under the terms of the GNU General Public License as published by
15 | the Free Software Foundation, either version 3 of the License, or
16 | (at your option) any later version.
17 |
18 | OpenMQTTGateway is distributed in the hope that it will be useful,
19 | but WITHOUT ANY WARRANTY; without even the implied warranty of
20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 | GNU General Public License for more details.
22 |
23 | You should have received a copy of the GNU General Public License
24 | along with this program. If not, see .
25 | */
26 | #ifndef config_ADC_h
27 | #define config_ADC_h
28 |
29 | extern void setupADC();
30 | extern void ADCtoX();
31 | extern void MeasureADC();
32 | /*----------------------------USER PARAMETERS-----------------------------*/
33 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
34 | #define ADCTOPIC "/ADCtoMQTT"
35 |
36 | #if !defined(TimeBetweenReadingADC) || (TimeBetweenReadingADC < 200)
37 | # define TimeBetweenReadingADC 500 // time between 2 ADC readings, minimum 200 to let the time of the ESP to keep the connection
38 | #endif
39 |
40 | #ifndef ThresholdReadingADC
41 | # define ThresholdReadingADC 50 // following the comparison between the previous value and the current one +- the threshold the value will be published or not
42 | #endif
43 |
44 | #if !defined(NumberOfReadingsADC) || (NumberOfReadingsADC < 1)
45 | # define NumberOfReadingsADC 1 // number of readings for better accuracy: avg adc = sum of adc / num readings
46 | #endif
47 |
48 | #ifndef MinTimeInSecBetweenPublishingADC
49 | # define MinTimeInSecBetweenPublishingADC 0 // pub at least at defined interval - useful to publish values in case they do not change so much ; 0 = disabled
50 | #endif
51 |
52 | /*-------------------PIN DEFINITIONS----------------------*/
53 | #if defined(ESP8266) || !defined(ADC_GPIO)
54 | # define ADC_GPIO A0 //on nodeMCU this is D3 pin
55 | #endif
56 |
57 | #endif
58 |
--------------------------------------------------------------------------------
/main/config_AHTx0.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This is the Climate Addon:
8 | - Measures Temperature, Humidity
9 | - Generates Values for: Temperature in degrees C and F, Humidity in %
10 | - Required Hardware Module: AHTX0 (AHT10 & AHT20)
11 | - Required Library: Adafruit AHTX0 by Adafruit
12 |
13 | Connection Schemata:
14 | --------------------
15 |
16 | AHT10 ------> ESP8266
17 | =======================
18 | Vcc ---------> 3v3 (3V)
19 | GND ---------> GND
20 | SCL ---------> D1
21 | SDA ---------> D2
22 |
23 | This file is part of OpenMQTTGateway.
24 |
25 | OpenMQTTGateway is free software: you can redistribute it and/or modify
26 | it under the terms of the GNU General Public License as published by
27 | the Free Software Foundation, either version 3 of the License, or
28 | (at your option) any later version.
29 |
30 | OpenMQTTGateway is distributed in the hope that it will be useful,
31 | but WITHOUT ANY WARRANTY; without even the implied warranty of
32 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33 | GNU General Public License for more details.
34 |
35 | You should have received a copy of the GNU General Public License
36 | along with this program. If not, see .
37 | */
38 | #ifndef config_AHTx0_h
39 | #define config_AHTx0_h
40 |
41 | extern void setupZsensorAHTx0();
42 | extern void MeasureAHTTempHum();
43 |
44 | #define AHTx0_always true // if false when the current value of the parameter is the same as previous one don't send it by MQTT
45 | #define TimeBetweenReadingAHTx0 30000
46 |
47 | /*----------------------------USER PARAMETERS-----------------------------*/
48 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
49 | #define AHTTOPIC "/CLIMAtoMQTT/aht"
50 |
51 | #if defined(ESP32)
52 | # if !defined(AHT_I2C_SDA) || !defined(AHT_I2C_SCL)
53 | # define AHT_I2C_SDA 16
54 | # define AHT_I2C_SCL 0
55 | # endif
56 | #endif
57 |
58 | #endif
--------------------------------------------------------------------------------
/main/config_BH1750.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This files enables to set your parameter for the BH1750 sensor
8 |
9 | Copyright: (c) Hans-Juergen Dinges
10 |
11 | This file is part of OpenMQTTGateway.
12 |
13 | OpenMQTTGateway is free software: you can redistribute it and/or modify
14 | it under the terms of the GNU General Public License as published by
15 | the Free Software Foundation, either version 3 of the License, or
16 | (at your option) any later version.
17 |
18 | OpenMQTTGateway is distributed in the hope that it will be useful,
19 | but WITHOUT ANY WARRANTY; without even the implied warranty of
20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 | GNU General Public License for more details.
22 |
23 | You should have received a copy of the GNU General Public License
24 | along with this program. If not, see .
25 |
26 | Connection Schemata:
27 | --------------------
28 |
29 | BH1750 ------> ESP8266
30 | ==================================
31 | Vcc ---------> (5V)
32 | GND ---------> GND
33 | SCL ---------> D1
34 | SDA ---------> D2
35 | ADD ---------> N/C (Not Connected)
36 |
37 | */
38 | #ifndef config_BH1750_h
39 | #define config_BH1750_h
40 |
41 | extern void setupZsensorBH1750();
42 | extern void MeasureLightIntensity();
43 |
44 | #define bh1750_always true // if false when the current value for light Level (Lux) is the same as previous one don't send it by MQTT
45 | #define TimeBetweenReadingBH1750 30000
46 |
47 | /*----------------------------USER PARAMETERS-----------------------------*/
48 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
49 | #define subjectBH1750toMQTT "/BH1750toMQTT"
50 |
51 | #define BH1750_I2C_ADDR 0x23; // Light Sensor I2C Address
52 |
53 | #endif
54 |
--------------------------------------------------------------------------------
/main/config_C37_YL83_HMRD.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a wifi or ethernet gateway between your RF/infrared IR signal and a MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This file sets parameters for the integration of C-37 YL-83 HM-RD water detection sensors
8 |
9 | This file is part of OpenMQTTGateway.
10 |
11 | OpenMQTTGateway is free software: you can redistribute it and/or modify
12 | it under the terms of the GNU General Public License as published by
13 | the Free Software Foundation, either version 3 of the License, or
14 | (at your option) any later version.
15 |
16 | OpenMQTTGateway is distributed in the hope that it will be useful,
17 | but WITHOUT ANY WARRANTY; without even the implied warranty of
18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 | GNU General Public License for more details.
20 |
21 | You should have received a copy of the GNU General Public License
22 | along with this program. If not, see .
23 | */
24 | #ifndef config_C37_YL83_HMRD_h
25 | #define config_C37_YL83_HMRD_h
26 |
27 | extern void setupZsensorC37_YL83_HMRD();
28 | extern void C37_YL83_HMRDtoX();
29 | extern void MeasureC37_YL83_HMRDWater();
30 |
31 | /*----------------------------USER PARAMETERS-----------------------------*/
32 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
33 | #define C37_YL83_HMRD_TOPIC "/WATERtoMQTT/c37_yk83_hmrd"
34 | #define C37_YL83_HMRD_ALWAYS true // if false only published current water leak detection if has changed from previous reading
35 | #ifndef C37_YL83_HMRD_INTERVAL_SEC
36 | # define C37_YL83_HMRD_INTERVAL_SEC 10000 // time between C-37, YL-83, HM-RD readings (ms)
37 | #endif
38 | #ifndef C37_YL83_HMRD_RESOLUTION
39 | # define C37_YL83_HMRD_RESOLUTION 10 // conversion times: 9 bit (93.75 ms), 10 bit (187.5 ms), 11 bit (375 ms), 12 bit (750 ms)
40 | #endif
41 | /*-------------------PIN DEFINITIONS----------------------*/
42 |
43 | #ifndef C37_YL83_HMRD_Digital_GPIO
44 | # if defined(ESP8266)
45 | # define C37_YL83_HMRD_Digital_GPIO 14
46 | # elif defined(ESP32)
47 | # define C37_YL83_HMRD_Digital_GPIO GPIO_NUM_14
48 | # else
49 | # define C37_YL83_HMRD_Digital_GPIO 14
50 | # endif
51 | #endif
52 |
53 | #ifndef C37_YL83_HMRD_Analog_GPIO
54 | # if defined(ESP8266)
55 | # define C37_YL83_HMRD_Analog_GPIO A0
56 | # elif defined(ESP32)
57 | # define C37_YL83_HMRD_Analog_GPIO GPIO_NUM_35
58 | # else
59 | # define C37_YL83_HMRD_Analog_GPIO A0
60 | # endif
61 | #endif
62 |
63 | #endif
64 |
--------------------------------------------------------------------------------
/main/config_DHT.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This files enables to set your parameter for the DHT11/22 sensor
8 |
9 | Copyright: (c)Florian ROBERT
10 |
11 | This file is part of OpenMQTTGateway.
12 |
13 | OpenMQTTGateway is free software: you can redistribute it and/or modify
14 | it under the terms of the GNU General Public License as published by
15 | the Free Software Foundation, either version 3 of the License, or
16 | (at your option) any later version.
17 |
18 | OpenMQTTGateway is distributed in the hope that it will be useful,
19 | but WITHOUT ANY WARRANTY; without even the implied warranty of
20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 | GNU General Public License for more details.
22 |
23 | You should have received a copy of the GNU General Public License
24 | along with this program. If not, see .
25 | */
26 | #ifndef config_DHT_h
27 | #define config_DHT_h
28 |
29 | extern void setupDHT();
30 | extern void MeasureTempAndHum();
31 |
32 | /*----------------------------USER PARAMETERS-----------------------------*/
33 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
34 | #define DHTTOPIC "/DHTtoMQTT/dht1"
35 | #define dht_always true // if false when the current value for temp or hum is the same as previous one don't send it by MQTT
36 | #define TimeBetweenReadingDHT 30000 // time between 2 DHT readings
37 | /*-------------DHT SENSOR TYPE-------------*/
38 | //#define DHT_SENSOR_TYPE DHT11 //uncomment for DHT11 Sensor
39 | //#define DHT_SENSOR_TYPE DHT21 //uncomment for DHT21 Sensor
40 | #ifndef DHT_SENSOR_TYPE
41 | # define DHT_SENSOR_TYPE DHT22 //uncomment for DHT22 Sensor (default for backwards compatibility)
42 | #endif
43 | /*-------------------PIN DEFINITIONS----------------------*/
44 | #ifndef DHT_RECEIVER_GPIO
45 | # if defined(ESP8266)
46 | # define DHT_RECEIVER_GPIO 5 //5 = D1 you can put 14 = D5 if you don't use HCSR501 sensor and the RFM69
47 | # elif defined(ESP32)
48 | # define DHT_RECEIVER_GPIO 16
49 | # else
50 | # define DHT_RECEIVER_GPIO 8
51 | # endif
52 | #endif
53 |
54 | #endif
--------------------------------------------------------------------------------
/main/config_DS1820.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a wifi or ethernet gateway between your RF/infrared IR signal and a MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This file sets parameters for the integration of 1-wire DS1820 temperature sensors
8 |
9 | Copyright (c) 2020 Lars Wessels
10 |
11 | This file is part of OpenMQTTGateway.
12 |
13 | OpenMQTTGateway is free software: you can redistribute it and/or modify
14 | it under the terms of the GNU General Public License as published by
15 | the Free Software Foundation, either version 3 of the License, or
16 | (at your option) any later version.
17 |
18 | OpenMQTTGateway is distributed in the hope that it will be useful,
19 | but WITHOUT ANY WARRANTY; without even the implied warranty of
20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 | GNU General Public License for more details.
22 |
23 | You should have received a copy of the GNU General Public License
24 | along with this program. If not, see .
25 | */
26 | #ifndef config_DS1820_h
27 | #define config_DS1820_h
28 |
29 | extern void setupZsensorDS1820();
30 | extern void DS1820toX();
31 | extern void MeasureDS1820Temp();
32 | extern void pubOneWire_HADiscovery();
33 |
34 | /*----------------------------USER PARAMETERS-----------------------------*/
35 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
36 | #define OW_TOPIC "/OneWiretoMQTT/ds1820"
37 | #define OW_MAX_SENSORS 8 // query max. sensors on 1-wire bus
38 | #define DS1820_ALWAYS true // if false only published current temperature if has changed from previous reading
39 | #ifndef DS1820_INTERVAL_SEC
40 | # define DS1820_INTERVAL_SEC 60UL // time between DS1820 readings (seconds)
41 | #endif
42 | #ifndef DS1820_RESOLUTION
43 | # define DS1820_RESOLUTION 10 // conversion times: 9 bit (93.75 ms), 10 bit (187.5 ms), 11 bit (375 ms), 12 bit (750 ms)
44 | #endif
45 | #define DS1820_DETAILS true // publish extended info for each sensor (resolution, address, type)
46 | #define DS1820_CONV_TIME 2000UL // trigger conversion before requesting temperature readings (ms)
47 | /*-------------------PIN DEFINITIONS----------------------*/
48 |
49 | #ifndef DS1820_OWBUS_GPIO
50 | # if defined(ESP8266)
51 | # define DS1820_OWBUS_GPIO 2
52 | # elif defined(ESP32)
53 | # define DS1820_OWBUS_GPIO 2
54 | # else
55 | # define DS1820_OWBUS_GPIO 2
56 | # endif
57 | #endif
58 |
59 | #endif
60 |
--------------------------------------------------------------------------------
/main/config_GFSunInverter.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a wifi or ethernet gateway between your GridFree SUN-2000G inverter and a MQTT broker.
5 | Send inverter metrics by MQTT.
6 |
7 | This gateway enables to:
8 | - publish MQTT data, which are received by RS232 ModBus.
9 |
10 | Library for read metrics from GWL Power, GridFree SUN-2000G inverter .
11 |
12 | This file is part of OpenMQTTGateway.
13 |
14 | OpenMQTTGateway is free software: you can redistribute it and/or modify
15 | it under the terms of the GNU General Public License as published by
16 | the Free Software Foundation, either version 3 of the License, or
17 | (at your option) any later version.
18 |
19 | OpenMQTTGateway is distributed in the hope that it will be useful,
20 | but WITHOUT ANY WARRANTY; without even the implied warranty of
21 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 | GNU General Public License for more details.
23 |
24 | You should have received a copy of the GNU General Public License
25 | along with this program. If not, see .
26 | */
27 | #ifndef config_GFSunInverter_h
28 | #define config_GFSunInverter_h
29 |
30 | extern void setupGFSunInverter();
31 | extern void ZgatewayGFSunInverterMQTT();
32 |
33 | /*----------------------------USER PARAMETERS-----------------------------*/
34 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
35 | #define subjectRFtoMQTT "/GFSuntoMQTT"
36 | #ifndef GFSUNINVERTER_DELAY
37 | # define GFSUNINVERTER_DELAY 10000
38 | #endif
39 |
40 | // Enable to publish a whole dbus registry
41 | // #define GFSUNINVERTER_DEVEL 1
42 |
43 | #endif
--------------------------------------------------------------------------------
/main/config_GPIOInput.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This files enables to set your parameter for the GPIOInput sensor
8 |
9 | Copyright: (c)Florian ROBERT
10 |
11 | This file is part of OpenMQTTGateway.
12 |
13 | OpenMQTTGateway is free software: you can redistribute it and/or modify
14 | it under the terms of the GNU General Public License as published by
15 | the Free Software Foundation, either version 3 of the License, or
16 | (at your option) any later version.
17 |
18 | OpenMQTTGateway is distributed in the hope that it will be useful,
19 | but WITHOUT ANY WARRANTY; without even the implied warranty of
20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 | GNU General Public License for more details.
22 |
23 | You should have received a copy of the GNU General Public License
24 | along with this program. If not, see .
25 | */
26 | #ifndef config_GPIOInput_h
27 | #define config_GPIOInput_h
28 |
29 | extern void setupGPIOInput();
30 | extern void GPIOInputtoX();
31 | extern void MeasureGPIOInput();
32 | /*----------------------------USER PARAMETERS-----------------------------*/
33 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
34 | #define subjectGPIOInputtoMQTT "/GPIOInputtoMQTT"
35 | #define GPIOInputDebounceDelay 60 //debounce time, increase if there are issues
36 |
37 | /*-------------------PIN DEFINITIONS----------------------*/
38 | #ifndef INPUT_GPIO
39 | # if defined(ESP8266) || defined(ESP32)
40 | # define INPUT_GPIO 13
41 | # else
42 | # define INPUT_GPIO 7
43 | # endif
44 | #endif
45 |
46 | #ifndef GPIO_INPUT_TYPE
47 | # define GPIO_INPUT_TYPE INPUT_PULLUP
48 | #endif
49 |
50 | #define INPUT_GPIO_ON_VALUE "HIGH"
51 | #define INPUT_GPIO_OFF_VALUE "LOW"
52 |
53 | #endif
54 |
--------------------------------------------------------------------------------
/main/config_GPIOKeyCode.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This files enables to set your parameter for the GPIOKeyCode multi input
8 |
9 | Copyright: (c)Grzegorz Rajtar
10 |
11 | This file is part of OpenMQTTGateway.
12 |
13 | OpenMQTTGateway is free software: you can redistribute it and/or modify
14 | it under the terms of the GNU General Public License as published by
15 | the Free Software Foundation, either version 3 of the License, or
16 | (at your option) any later version.
17 |
18 | OpenMQTTGateway is distributed in the hope that it will be useful,
19 | but WITHOUT ANY WARRANTY; without even the implied warranty of
20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 | GNU General Public License for more details.
22 |
23 | You should have received a copy of the GNU General Public License
24 | along with this program. If not, see .
25 | */
26 | #ifndef config_GPIOKeyCode_h
27 | #define config_GPIOKeyCode_h
28 |
29 | extern void setupGPIOKeyCode();
30 | extern void GPIOKeyCodetoX();
31 | extern void MeasureGPIOKeyCode();
32 | /*----------------------------USER PARAMETERS-----------------------------*/
33 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
34 | #define subjectGPIOKeyCodetoMQTT "/keycode"
35 | #define subjectGPIOKeyCodeStatetoMQTT subjectGPIOKeyCodetoMQTT "/status"
36 | #define GPIOKeyCodeDebounceDelay 60 //debounce time, increase if there are issues
37 |
38 | /*-------------------PIN DEFINITIONS----------------------*/
39 | #if defined(ESP8266) || defined(ESP32)
40 |
41 | # ifndef GPIOKeyCode_LATCH_GPIO
42 | # define GPIOKeyCode_LATCH_GPIO 12 //D6
43 | # endif
44 | # ifndef GPIOKeyCode_D0_GPIO
45 | # define GPIOKeyCode_D0_GPIO 14 //D5
46 | # endif
47 | # ifndef GPIOKeyCode_D1_GPIO
48 | # define GPIOKeyCode_D1_GPIO 5 //D1
49 | # endif
50 | # ifndef GPIOKeyCode_D2_GPIO
51 | # define GPIOKeyCode_D2_GPIO 13 //D7
52 | # endif
53 | # ifndef GPIOKeyCode_D3_GPIO
54 | # define GPIOKeyCode_D3_GPIO XX //??
55 | # endif
56 | #else
57 | // must define !!!
58 | #endif
59 |
60 | #endif
--------------------------------------------------------------------------------
/main/config_HCSR04.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This files enables to set your parameter for the HCSR04 sensor
8 |
9 | Copyright: (c) mpember
10 |
11 | This file is part of OpenMQTTGateway.
12 |
13 | OpenMQTTGateway is free software: you can redistribute it and/or modify
14 | it under the terms of the GNU General Public License as published by
15 | the Free Software Foundation, either version 3 of the License, or
16 | (at your option) any later version.
17 |
18 | OpenMQTTGateway is distributed in the hope that it will be useful,
19 | but WITHOUT ANY WARRANTY; without even the implied warranty of
20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 | GNU General Public License for more details.
22 |
23 | You should have received a copy of the GNU General Public License
24 | along with this program. If not, see .
25 |
26 | Connection Schemata:
27 | --------------------
28 |
29 | HC-SR04 ------> ESP8266
30 | =======================
31 | Vcc ---------> Vu (5V)
32 | GND ---------> GND
33 | TRI ---------> D6
34 | ECH ---------> D7
35 |
36 | */
37 | #ifndef config_HCSR04_h
38 | #define config_HCSR04_h
39 |
40 | extern void setupHCSR04();
41 | extern void MeasureDistance();
42 |
43 | #define HCSR04_always true // If false, the current value of the parameter is the same as previous one don't send it by MQTT
44 | #define TimeBetweenReadingHCSR04 5000
45 |
46 | /*----------------------------USER PARAMETERS-----------------------------*/
47 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
48 | #define subjectHCSR04 "/DISTtoMQTT/sr04"
49 |
50 | /*-------------------PIN DEFINITIONS----------------------*/
51 | #if defined(ESP8266)
52 | # define HCSR04_TRI_GPIO D6
53 | # define HCSR04_ECH_GPIO D7
54 | #elif defined(ESP32)
55 | # define HCSR04_TRI_GPIO 16 // NOT TESTED
56 | # define HCSR04_ECH_GPIO 17 // NOT TESTED
57 | #else
58 | # define HCSR04_TRI_GPIO 6 // NOT TESTED
59 | # define HCSR04_ECH_GPIO 5 // NOT TESTED
60 | #endif
61 |
62 | #endif
--------------------------------------------------------------------------------
/main/config_HCSR501.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This files enables to set your parameter for the HC SR-501 sensor
8 |
9 | Copyright: (c)Florian ROBERT
10 |
11 | This file is part of OpenMQTTGateway.
12 |
13 | OpenMQTTGateway is free software: you can redistribute it and/or modify
14 | it under the terms of the GNU General Public License as published by
15 | the Free Software Foundation, either version 3 of the License, or
16 | (at your option) any later version.
17 |
18 | OpenMQTTGateway is distributed in the hope that it will be useful,
19 | but WITHOUT ANY WARRANTY; without even the implied warranty of
20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 | GNU General Public License for more details.
22 |
23 | You should have received a copy of the GNU General Public License
24 | along with this program. If not, see .
25 | */
26 | #ifndef config_HCSR501_h
27 | #define config_HCSR501_h
28 |
29 | extern void setupHCSR501();
30 | extern void HCSR501toX();
31 | extern void MeasureHCSR501();
32 | /*----------------------------USER PARAMETERS-----------------------------*/
33 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
34 | #define subjectHCSR501toMQTT "/HCSR501toMQTT"
35 | //#define HCSR501_LED_NOTIFY_GPIO 4 //Uncomment this line to mirror the state of the PIR sensor to the specified GPIO
36 |
37 | #if defined(HCSR501_LED_NOTIFY_GPIO) && !defined(HCSR501_LED_ON)
38 | # define HCSR501_LED_ON HIGH
39 | #endif
40 |
41 | #ifndef TimeBeforeStartHCSR501
42 | # define TimeBeforeStartHCSR501 60000 //define the time necessary for HC SR501 init
43 | #endif
44 |
45 | /*-------------------PIN DEFINITIONS----------------------*/
46 | #ifndef HCSR501_GPIO
47 | # if defined(ESP8266)
48 | # define HCSR501_GPIO D5
49 | # elif defined(ESP32)
50 | # define HCSR501_GPIO 5
51 | # else
52 | # define HCSR501_GPIO 7
53 | # endif
54 | #endif
55 |
56 | #endif
--------------------------------------------------------------------------------
/main/config_HTU21.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This is the Climate Addon:
8 | - Measures Temperature, Humidity and Pressure
9 | - Generates Values for: Temperature in degrees C and F, Humidity in %, Pressure in Pa, Altitude in Meter and Feet
10 | - Required Hardware Module: HTU21
11 | - Required Library: SparkFun HTU21 Library v1.1.3
12 |
13 | Connection Schemata:
14 | --------------------
15 |
16 | HTU21 ------> ESP8266
17 | ======================
18 | Vcc ---------> Vu (5V)
19 | GND ---------> GND
20 | SCL ---------> D1
21 | SDA ---------> D2
22 |
23 | This file is part of OpenMQTTGateway.
24 |
25 | OpenMQTTGateway is free software: you can redistribute it and/or modify
26 | it under the terms of the GNU General Public License as published by
27 | the Free Software Foundation, either version 3 of the License, or
28 | (at your option) any later version.
29 |
30 | OpenMQTTGateway is distributed in the hope that it will be useful,
31 | but WITHOUT ANY WARRANTY; without even the implied warranty of
32 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33 | GNU General Public License for more details.
34 |
35 | You should have received a copy of the GNU General Public License
36 | along with this program. If not, see .
37 | */
38 | #ifndef config_HTU21_h
39 | #define config_HTU21_h
40 |
41 | extern void setupZsensorHTU21();
42 | extern void MeasureTempHum();
43 |
44 | #define htu21_always true // if false when the current value of the parameter is the same as previous one don't send it by MQTT
45 | #define TimeBetweenReadinghtu21 30000
46 |
47 | /*----------------------------USER PARAMETERS-----------------------------*/
48 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
49 | #define HTUTOPIC "/CLIMAtoMQTT/htu"
50 |
51 | #if defined(ESP32)
52 | # if !defined(I2C_SDA) || !defined(I2C_SCL)
53 | # define I2C_SDA 16
54 | # define I2C_SCL 0
55 | # endif
56 | #endif
57 |
58 | #endif
--------------------------------------------------------------------------------
/main/config_INA226.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This files enables to set your parameter for the INA226 sensor
8 |
9 | Copyright: (c)Florian ROBERT
10 |
11 | This file is part of OpenMQTTGateway.
12 |
13 | OpenMQTTGateway is free software: you can redistribute it and/or modify
14 | it under the terms of the GNU General Public License as published by
15 | the Free Software Foundation, either version 3 of the License, or
16 | (at your option) any later version.
17 |
18 | OpenMQTTGateway is distributed in the hope that it will be useful,
19 | but WITHOUT ANY WARRANTY; without even the implied warranty of
20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 | GNU General Public License for more details.
22 |
23 | You should have received a copy of the GNU General Public License
24 | along with this program. If not, see .
25 | */
26 | #ifndef config_INA226_h
27 | #define config_INA226_h
28 |
29 | extern void setupINA226();
30 | extern void INA226toX();
31 | extern void MeasureINA226();
32 |
33 | /*----------------------------USER PARAMETERS-----------------------------*/
34 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
35 | #define subjectINA226toMQTT "/INA226toMQTT"
36 | #define TimeBetweenReadingINA226 30000 // time between 2 INA226 readings
37 |
38 | #endif
39 |
--------------------------------------------------------------------------------
/main/config_LM75.h:
--------------------------------------------------------------------------------
1 | /*
2 | OpenMQTTGateway Addon - ESP8266 or Arduino program for home automation
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This is a Temperature Addon:
8 | - Measures Temperature
9 | - Generates Values for: Temperature in degrees C and F
10 | - Required Hardware Module: LM75 or NCT75
11 | - Required Library: jeremycole/I2C Temperature Sensors derived from the LM75
12 |
13 | Connection Schemata:
14 | --------------------
15 |
16 | LM75 ------> ESP8266
17 | ======================
18 | Vcc ---------> Vu (5V)
19 | GND ---------> GND
20 | SCL ---------> D1
21 | SDA ---------> D2
22 |
23 | This file is part of OpenMQTTGateway.
24 |
25 | OpenMQTTGateway is free software: you can redistribute it and/or modify
26 | it under the terms of the GNU General Public License as published by
27 | the Free Software Foundation, either version 3 of the License, or
28 | (at your option) any later version.
29 |
30 | OpenMQTTGateway is distributed in the hope that it will be useful,
31 | but WITHOUT ANY WARRANTY; without even the implied warranty of
32 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33 | GNU General Public License for more details.
34 |
35 | You should have received a copy of the GNU General Public License
36 | along with this program. If not, see .
37 | */
38 | #ifndef config_LM75_h
39 | #define config_LM75_h
40 |
41 | extern void setupLM75();
42 | extern void LM75toX();
43 |
44 | #define lm75_always true // if false when the current value of the parameter is the same as previous one don't send it by MQTT
45 | #define TimeBetweenReadinglm75 30000
46 |
47 | /*----------------------------USER PARAMETERS-----------------------------*/
48 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
49 | #define LM75TOPIC "/TEMPtoMQTT/lm75"
50 |
51 | #if defined(ESP32)
52 | # if !defined(I2C_SDA) || !defined(I2C_SCL)
53 | # define I2C_SDA 16
54 | # define I2C_SCL 0
55 | # endif
56 | #endif
57 |
58 | #endif
--------------------------------------------------------------------------------
/main/config_M5.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This files enables to use M5Stick C board components (display)
8 |
9 | Copyright: (c)Florian ROBERT
10 |
11 | This file is part of OpenMQTTGateway.
12 |
13 | OpenMQTTGateway is free software: you can redistribute it and/or modify
14 | it under the terms of the GNU General Public License as published by
15 | the Free Software Foundation, either version 3 of the License, or
16 | (at your option) any later version.
17 |
18 | OpenMQTTGateway is distributed in the hope that it will be useful,
19 | but WITHOUT ANY WARRANTY; without even the implied warranty of
20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 | GNU General Public License for more details.
22 |
23 | You should have received a copy of the GNU General Public License
24 | along with this program. If not, see .
25 | */
26 | #ifndef config_M5_h
27 | #define config_M5_h
28 |
29 | #ifdef ZboardM5STICKC
30 | # include
31 | #endif
32 | #ifdef ZboardM5STICKCP
33 | # include
34 | #endif
35 | #ifdef ZboardM5STACK
36 | # include
37 | #endif
38 | #ifdef ZboardM5TOUGH
39 | # include
40 | #endif
41 |
42 | extern void setupM5();
43 | extern void loopM5();
44 | /*----------------------------USER PARAMETERS-----------------------------*/
45 | /*---------------DEFINE SCREEN BRIGHTNESS------------------*/
46 | #ifdef ZboardM5TOUGH // Sleep brightness doesn't seem to work for the moment on Tough
47 | # ifndef SLEEP_LCD_BRIGHTNESS
48 | # define SLEEP_LCD_BRIGHTNESS 15 // 0 to 100
49 | # endif
50 | #else
51 | # ifndef SLEEP_LCD_BRIGHTNESS
52 | # define SLEEP_LCD_BRIGHTNESS 2 // 0 to 100
53 | # endif
54 | #endif
55 | #ifndef NORMAL_LCD_BRIGHTNESS
56 | # define NORMAL_LCD_BRIGHTNESS 100 // 0 to 100
57 | #endif
58 | /*---------------DEFINE SLEEP BUTTON------------------*/
59 | #ifndef SLEEP_BUTTON
60 | # define SLEEP_BUTTON 33
61 | #endif
62 | /*-------------------DEFINE LOG LEVEL----------------------*/
63 | #ifndef LOG_LEVEL_LCD
64 | # define LOG_LEVEL_LCD LOG_LEVEL_WARNING // Default to only display Warning level messages, if we go down below warning the size of the text to display can make the M5 restarting
65 | #endif
66 | #ifndef LOG_TO_LCD
67 | # define LOG_TO_LCD true // Default to display log messages on display
68 | #endif
69 | /*-------------------DEFINE MQTT TOPIC FOR CONFIG----------------------*/
70 | #define subjectMQTTtoM5set "/commands/MQTTtoM5/config"
71 |
72 | // Simple print macro
73 |
74 | // Simple construct for displaying message in lcd and oled displays
75 |
76 | #define displayPrint(...) \
77 | if (SYSConfig.powerMode < 1) M5Print(__VA_ARGS__) // only print if not in low power mode
78 | #define lpDisplayPrint(...) M5Print(__VA_ARGS__) // print in low power mode
79 |
80 | void M5Print(char*, char* = "", char* = "");
81 |
82 | #endif
--------------------------------------------------------------------------------
/main/config_MQ2.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This is the MQ2 GAS Sensor Addon based on modules with a MQ:
8 | - Measures flammable gas
9 | - Required Hardware Module: MQ2
10 |
11 | Connection Scheme:
12 | --------------------
13 |
14 | MQ-2 -------> ESP8266
15 | ==========================
16 | Vcc ---------> 3.3V or 5V
17 | GND ---------> GND
18 | A0 ----------> A0
19 | D0 ----------> D4
20 |
21 | This file is part of OpenMQTTGateway.
22 |
23 | OpenMQTTGateway is free software: you can redistribute it and/or modify
24 | it under the terms of the GNU General Public License as published by
25 | the Free Software Foundation, either version 3 of the License, or
26 | (at your option) any later version.
27 |
28 | OpenMQTTGateway is distributed in the hope that it will be useful,
29 | but WITHOUT ANY WARRANTY; without even the implied warranty of
30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
31 | GNU General Public License for more details.
32 |
33 | You should have received a copy of the GNU General Public License
34 | along with this program. If not, see .
35 | */
36 | #ifndef config_MQ2_h
37 | #define config_MQ2_h
38 |
39 | extern void setupZsensorMQ2();
40 | extern void MQ2toX();
41 |
42 | #ifndef MQ2SENSORADCPIN
43 | # ifdef ESP32
44 | # define MQ2SENSORADCPIN 5 //MQ2 Gas sensor reading = ADC0
45 | # else
46 | # define MQ2SENSORADCPIN A0 //MQ2 Gas sensor reading = ADC0
47 | # endif
48 | #endif
49 |
50 | #ifndef MQ2SENSORDETECTPIN
51 | # ifdef ESP32
52 | # define MQ2SENSORDETECTPIN 24 //MQ2 Gas sensor detected flag
53 | # else
54 | # define MQ2SENSORDETECTPIN D4 //MQ2 Gas sensor detected flag
55 | # endif
56 | #endif
57 |
58 | #ifndef TimeBetweenReadingmq2
59 | # define TimeBetweenReadingmq2 10000
60 | #endif
61 | /*----------------------------USER PARAMETERS-----------------------------*/
62 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
63 | #define subjectMQ2toMQTT "/GAStoMQTT/mq2"
64 |
65 | #endif
--------------------------------------------------------------------------------
/main/config_PWM.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | This files enables you to set your parameters for the PWM actuator
5 |
6 | Copyright: (c)
7 |
8 | This file is part of OpenMQTTGateway.
9 |
10 | OpenMQTTGateway is free software: you can redistribute it and/or modify
11 | it under the terms of the GNU General Public License as published by
12 | the Free Software Foundation, either version 3 of the License, or
13 | (at your option) any later version.
14 |
15 | OpenMQTTGateway is distributed in the hope that it will be useful,
16 | but WITHOUT ANY WARRANTY; without even the implied warranty of
17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 | GNU General Public License for more details.
19 |
20 | You should have received a copy of the GNU General Public License
21 | along with this program. If not, see .
22 | */
23 |
24 | /*-------------------PWM topics & parameters----------------------*/
25 | #ifndef config_PWM_h
26 | #define config_PWM_h
27 |
28 | #include "TheengsCommon.h"
29 | // PWM MQTT Subjects
30 |
31 | extern void setupPWM();
32 | extern void PWMLoop();
33 | extern void XtoPWM(const char*, JsonObject&);
34 |
35 | #define subjectMQTTtoPWM "/commands/MQTTtoPWM"
36 | #define subjectMQTTtoPWMset subjectMQTTtoPWM "/set" //set channel(s) with JSON struct {"r":0-1,"g":0-1,"b":0-1,"w0":0-1,"w0":0-1,"fade":}
37 | #define subjectMQTTtoPWMcalibrate subjectMQTTtoPWM "/calibrate" //set calibration data JSON struct {"gamma-r":0.5-4.0,"min-r":0-1,"max-r":0-1 etc. }
38 |
39 | // Edit the following, or declare them in the configuration env, to declare
40 | // the channel names and corresponding output pins
41 | #ifndef PWM_CHANNEL_NAMES
42 | # define PWM_CHANNEL_NAMES \
43 | { "r", "g", "b", "w0", "w1" }
44 | #endif
45 | #ifndef PWM_CHANNEL_PINS
46 | # define PWM_CHANNEL_PINS \
47 | { 25, 33, 32, 23, 22 }
48 | #endif
49 |
50 | // Gamma defines a power curve that is applied to convert the input values
51 | // to the linear PWM outputs.
52 | // For LED control, the gamma can be used to make the inputs be more
53 | // perceptually linear.
54 | // For controlling other things that require strict linear control, set
55 | // the gamma to 1 and leave it alone.
56 | // This just defines the default gamma to use for all channels.
57 | // The gamma for each channel can be modified using the calibrate MQTT topic.
58 | #ifndef PWM_DEFAULT_GAMMA
59 | # define PWM_DEFAULT_GAMMA 2.2f
60 | #endif
61 |
62 | #endif // config_PWM_h
63 |
--------------------------------------------------------------------------------
/main/config_RN8209.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This files enables to set your parameter for the RN8209 sensor
8 |
9 | Copyright: (c)Florian ROBERT
10 |
11 | This file is part of OpenMQTTGateway.
12 |
13 | OpenMQTTGateway is free software: you can redistribute it and/or modify
14 | it under the terms of the GNU General Public License as published by
15 | the Free Software Foundation, either version 3 of the License, or
16 | (at your option) any later version.
17 |
18 | OpenMQTTGateway is distributed in the hope that it will be useful,
19 | but WITHOUT ANY WARRANTY; without even the implied warranty of
20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 | GNU General Public License for more details.
22 |
23 | You should have received a copy of the GNU General Public License
24 | along with this program. If not, see .
25 | */
26 | #ifndef config_RN8209_h
27 | #define config_RN8209_h
28 |
29 | extern void setupRN8209();
30 | extern void RN8209toX();
31 | /*----------------------------USER PARAMETERS-----------------------------*/
32 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
33 | #define subjectRN8209toMQTT "/RN8209toMQTT"
34 |
35 | /*-------------CALIBRATION PARAMETERS----------------*/
36 | #ifndef RN8209_KU
37 | # define RN8209_KU 18570
38 | #endif
39 | #ifndef RN8209_KIA
40 | # define RN8209_KIA 272433
41 | #endif
42 | #ifndef RN8209_EC
43 | # define RN8209_EC 28250
44 | #endif
45 |
46 | #ifndef RN8209_TASK_STACK_SIZE_OVERRIDE
47 | # define RN8209_TASK_STACK_SIZE_OVERRIDE 5500
48 | #endif
49 |
50 | #ifndef TimeBetweenReadingRN8209
51 | # define TimeBetweenReadingRN8209 500 // time between 2 RN8209 readings in ms
52 | #endif
53 |
54 | #ifndef TimeBetweenPublishingRN8209
55 | # define TimeBetweenPublishingRN8209 60000 // time between 2 RN8209 publishing in ms
56 | #endif
57 | #ifndef MinCurrentThreshold
58 | # define MinCurrentThreshold 0.1 // (A) Minimum current change that will trigger the publishing of the RN8209 measurements
59 | #endif
60 | #ifndef MinVoltageThreshold
61 | # define MinVoltageThreshold 2 // (V) Minimum voltage change that will trigger the publishing of the RN8209 measurements
62 | #endif
63 | #endif
64 |
--------------------------------------------------------------------------------
/main/config_SHTC3.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This files enables to set your parameter for the SHTC311/22 sensor
8 |
9 | Copyright: (c)Florian ROBERT
10 |
11 | This file is part of OpenMQTTGateway.
12 |
13 | OpenMQTTGateway is free software: you can redistribute it and/or modify
14 | it under the terms of the GNU General Public License as published by
15 | the Free Software Foundation, either version 3 of the License, or
16 | (at your option) any later version.
17 |
18 | OpenMQTTGateway is distributed in the hope that it will be useful,
19 | but WITHOUT ANY WARRANTY; without even the implied warranty of
20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 | GNU General Public License for more details.
22 |
23 | You should have received a copy of the GNU General Public License
24 | along with this program. If not, see .
25 | */
26 | #ifndef config_SHTC3_h
27 | #define config_SHTC3_h
28 |
29 | extern void setupSHTC3();
30 | extern void SHTC3toX();
31 |
32 | /*----------------------------USER PARAMETERS-----------------------------*/
33 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
34 | #define SHTC3TOPIC "/SHTC3toMQTT/shtc31"
35 | #define shtc3_always true // if false when the current value for temp or hum is the same as previous one don't send it by MQTT
36 | #define TimeBetweenReadingSHTC3 30000 // time between 2 SHTC3 readings
37 | /*-------------SHTC3 SENSOR TYPE-------------*/
38 | //#define SHTC3_SENSOR_TYPE SHTC311 //uncomment for SHTC311 Sensor
39 | //#define SHTC3_SENSOR_TYPE SHTC321 //uncomment for SHTC321 Sensor
40 | #define SHTC3_SENSOR_TYPE SHTC322 //uncomment for SHTC322 Sensor (default for backwards compatibility)
41 | /*-------------------PIN DEFINITIONS----------------------*/
42 | #ifndef SHTC3_RECEIVER_GPIO
43 | # if defined(ESP8266)
44 | # define SHTC3_RECEIVER_GPIO 5 //5 = D1 you can put 14 = D5 if you don't use HCSR501 sensor and the RFM69
45 | # elif defined(ESP32)
46 | # define SHTC3_RECEIVER_GPIO 16
47 | # else
48 | # define SHTC3_RECEIVER_GPIO 8
49 | # endif
50 | #endif
51 |
52 | #endif
--------------------------------------------------------------------------------
/main/config_SRFB.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This files enables to set your parameter for the radiofrequency gateway on sonoff rf bridge (ZgatewaySRFB)
8 | This implementation is based on Xose Pérez work ESPURNA (https://bitbucket.org/xoseperez/espurna)
9 |
10 | Copyright (C) 2016-2017 by Xose Pérez
11 |
12 | This file is part of OpenMQTTGateway.
13 |
14 | OpenMQTTGateway is free software: you can redistribute it and/or modify
15 | it under the terms of the GNU General Public License as published by
16 | the Free Software Foundation, either version 3 of the License, or
17 | (at your option) any later version.
18 |
19 | OpenMQTTGateway is distributed in the hope that it will be useful,
20 | but WITHOUT ANY WARRANTY; without even the implied warranty of
21 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 | GNU General Public License for more details.
23 |
24 | You should have received a copy of the GNU General Public License
25 | along with this program. If not, see .
26 | */
27 | #ifndef config_SRFB_h
28 | #define config_SRFB_h
29 |
30 | #include "TheengsCommon.h"
31 |
32 | extern void setupSRFB();
33 | extern bool SRFBtoX();
34 | extern void XtoSRFB(const char* topicOri, const char* datacallback);
35 | extern void XtoSRFB(const char* topicOri, JsonObject& RFdata);
36 | /*-------------------RF topics & parameters----------------------*/
37 | //433Mhz MQTT Subjects and keys
38 | #define subjectMQTTtoSRFB "/commands/MQTTtoSRFB"
39 | #define subjectMQTTtoSRFBRaw "/commands/MQTTtoSRFB/Raw"
40 | #define subjectSRFBtoMQTT "/SRFBtoMQTT"
41 | #define subjectGTWSRFBtoMQTT "/SRFBtoMQTT"
42 | #define SRFBRptKey "RPT_"
43 | #define SRFBmaxipulselengthKey "Thigh_"
44 | #define SRFBminipulselengthKey "Tlow_"
45 | #define SRFBsyncKey "Tsyn_"
46 |
47 | #define repeatSRFBwMQTT false // do we repeat a received signal by using MQTT with Sonoff RF Bridge
48 |
49 | // -----------------------------------------------------------------------------
50 | // RFBRIDGE
51 | // -----------------------------------------------------------------------------
52 |
53 | #define RF_SEND_TIMES 4 // How many times to send the message
54 | #define RF_SEND_DELAY 500 // Interval between sending in ms
55 | #define RF_RECEIVE_DELAY 500 // Interval between receiving in ms (avoid debouncing)
56 |
57 | // -----------------------------------------------------------------------------
58 | // DEFINITIONS
59 | // -----------------------------------------------------------------------------
60 |
61 | #define RF_MESSAGE_SIZE 9
62 | #define RF_CODE_START 0xAA
63 | #define RF_CODE_ACK 0xA0
64 | #define RF_CODE_RFIN 0xA4
65 | #define RF_CODE_RFOUT 0xA5
66 | #define RF_CODE_STOP 0x55
67 |
68 | #endif
69 |
--------------------------------------------------------------------------------
/main/config_Somfy.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
4 | Send and receiving command by MQTT
5 |
6 | This actor enables to:
7 | - receive MQTT data from a topic and send Somfy RTS remote control signals corresponding to the received MQTT data
8 |
9 | Copyright (C) 2020 Leon Kiefer
10 |
11 | This file is part of OpenMQTTGateway.
12 |
13 | OpenMQTTGateway is free software: you can redistribute it and/or modify
14 | it under the terms of the GNU General Public License as published by
15 | the Free Software Foundation, either version 3 of the License, or
16 | (at your option) any later version.
17 | OpenMQTTGateway is distributed in the hope that it will be useful,
18 | but WITHOUT ANY WARRANTY; without even the implied warranty of
19 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 | GNU General Public License for more details.
21 | You should have received a copy of the GNU General Public License
22 | along with this program. If not, see .
23 | */
24 | #ifndef config_Somfy_h
25 | #define config_Somfy_h
26 |
27 | #include "TheengsCommon.h"
28 |
29 | extern void setupSomfy();
30 | extern void XtoSomfy(const char* topicOri, JsonObject& RFdata);
31 | /*----------------------------USER PARAMETERS-----------------------------*/
32 | #define EEPROM_ADDRESS_START 0
33 | #define SOMFY_REMOTE_NUM 1
34 |
35 | // Do not change the order of the remotes, because based on the index the rolling codes are stored
36 | const uint32_t somfyRemotes[SOMFY_REMOTE_NUM] = {0x5184c8};
37 |
38 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
39 | #define subjectMQTTtoSomfy "/commands/MQTTtoSomfy"
40 |
41 | #endif
42 |
--------------------------------------------------------------------------------
/main/config_TEMT6000.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This is the Light Meter Addon based on modules with a TEMT6000:
8 | - Measures ambient Light Intensity in Lux (lx), Foot Candela (ftcd) and Watt/m^2 (wattsm2)
9 | - Required Hardware Module: TEMT6000
10 | - Dependencies: none
11 |
12 | Connection Scheme:
13 | --------------------
14 |
15 | TEMT6000 ----> ESP8266
16 | ==============================================
17 | Vcc ---------> 3.3V
18 | GND ---------> GND
19 | SIG ---------> A0
20 |
21 | Copyright: (c) Andre Greyling - this is a modified copy of Chris Broekema
22 |
23 | This file is part of OpenMQTTGateway.
24 |
25 | OpenMQTTGateway is free software: you can redistribute it and/or modify
26 | it under the terms of the GNU General Public License as published by
27 | the Free Software Foundation, either version 3 of the License, or
28 | (at your option) any later version.
29 |
30 | OpenMQTTGateway is distributed in the hope that it will be useful,
31 | but WITHOUT ANY WARRANTY; without even the implied warranty of
32 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33 | GNU General Public License for more details.
34 |
35 | You should have received a copy of the GNU General Public License
36 | along with this program. If not, see .
37 | */
38 | #ifndef config_TEMT6000_h
39 | #define config_TEMT6000_h
40 |
41 | extern void setupZsensorTEMT6000();
42 | extern void MeasureLightIntensityTEMT6000();
43 |
44 | #define temt6000_always true // if false only send current value if it has changed
45 | #define TEMT6000LIGHTSENSORPIN A0 //Ambient light sensor reading = ADC0
46 | #define TimeBetweenReadingtemt6000 10000 //10000 ms
47 |
48 | /*----------------------------USER PARAMETERS-----------------------------*/
49 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
50 | #define subjectTEMT6000toMQTT "/LIGHTtoMQTT"
51 |
52 | #endif
--------------------------------------------------------------------------------
/main/config_TSL2561.h:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This files exposes light level measured by a TSL2651 module
8 | Heavily inspired by the driver for the BH1750 light sensor
9 |
10 | Copyright: (c) Chris Broekema
11 |
12 | This file is part of OpenMQTTGateway.
13 |
14 | OpenMQTTGateway is free software: you can redistribute it and/or modify
15 | it under the terms of the GNU General Public License as published by
16 | the Free Software Foundation, either version 3 of the License, or
17 | (at your option) any later version.
18 |
19 | OpenMQTTGateway is distributed in the hope that it will be useful,
20 | but WITHOUT ANY WARRANTY; without even the implied warranty of
21 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 | GNU General Public License for more details.
23 |
24 | You should have received a copy of the GNU General Public License
25 | along with this program. If not, see .
26 |
27 | Connection Schemata:
28 | --------------------
29 |
30 | TSL2561 ------> ESP8266
31 | ===================================
32 | Vcc ---------> Vu (3.3V)
33 | GND ---------> GND
34 | SCL ---------> D1
35 | SDA ---------> D2
36 | ADD ---------> N/C (Not Connected)
37 |
38 | */
39 | #ifndef config_TSL2561_h
40 | #define config_TSL2561_h
41 |
42 | extern void setupZsensorTSL2561();
43 | extern void MeasureLightIntensityTSL2561();
44 |
45 | #define tsl2561_always true // if false only send current value if it has changed
46 | #define TimeBetweenReadingtsl2561 30000
47 | /*----------------------------USER PARAMETERS-----------------------------*/
48 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
49 | #define subjectTSL12561toMQTT "/LIGHTtoMQTT"
50 |
51 | #endif
--------------------------------------------------------------------------------
/main/config_WeatherStation.h:
--------------------------------------------------------------------------------
1 | /*
2 | OpenMQTTGateway - ESP8266 or Arduino program for home automation
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This files enables to set your parameter for the DHT11/22 sensor
8 |
9 | Copyright: (c)Florian ROBERT
10 |
11 | This file is part of OpenMQTTGateway.
12 |
13 | OpenMQTTGateway is free software: you can redistribute it and/or modify
14 | it under the terms of the GNU General Public License as published by
15 | the Free Software Foundation, either version 3 of the License, or
16 | (at your option) any later version.
17 |
18 | OpenMQTTGateway is distributed in the hope that it will be useful,
19 | but WITHOUT ANY WARRANTY; without even the implied warranty of
20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 | GNU General Public License for more details.
22 |
23 | You should have received a copy of the GNU General Public License
24 | along with this program. If not, see .
25 | */
26 | #ifndef config_WeatherStation_h
27 | #define config_WeatherStation_h
28 |
29 | extern void setupWeatherStation();
30 | extern void ZgatewayWeatherStationtoX();
31 | /*----------------------------USER PARAMETERS-----------------------------*/
32 | /*-------------DEFINE YOUR MQTT PARAMETERS BELOW----------------*/
33 | #define subjectRFtoMQTT "/433toMQTT"
34 |
35 | /*-------------------PIN DEFINITIONS----------------------*/
36 | #ifndef RF_WS_RECEIVER_GPIO
37 | # ifdef ESP8266
38 | # define RF_WS_RECEIVER_GPIO 0 // D3 on nodemcu // put 4 with rf bridge direct mod
39 | # elif defined(ESP32)
40 | # define RF_WS_RECEIVER_GPIO 27 // D27 on DOIT ESP32
41 | # endif
42 | #endif
43 |
44 | #endif
--------------------------------------------------------------------------------
/main/sensorDHT.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | DHT reading Addon
8 |
9 | Copyright: (c)Florian ROBERT
10 |
11 | Contributors:
12 | - prahjister
13 | - 1technophile
14 |
15 | This file is part of OpenMQTTGateway.
16 |
17 | OpenMQTTGateway is free software: you can redistribute it and/or modify
18 | it under the terms of the GNU General Public License as published by
19 | the Free Software Foundation, either version 3 of the License, or
20 | (at your option) any later version.
21 |
22 | OpenMQTTGateway is distributed in the hope that it will be useful,
23 | but WITHOUT ANY WARRANTY; without even the implied warranty of
24 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 | GNU General Public License for more details.
26 |
27 | You should have received a copy of the GNU General Public License
28 | along with this program. If not, see .
29 | */
30 | #include "User_config.h"
31 |
32 | #ifdef ZsensorDHT
33 | # include
34 | # include
35 |
36 | # include "TheengsCommon.h"
37 | # include "config_DHT.h"
38 |
39 | DHT dht(DHT_RECEIVER_GPIO, DHT_SENSOR_TYPE);
40 |
41 | //Time used to wait for an interval before resending temp and hum
42 | unsigned long timedht = 0;
43 |
44 | void setupDHT() {
45 | Log.notice(F("Reading DHT on pin: %d" CR), DHT_RECEIVER_GPIO);
46 | }
47 |
48 | void MeasureTempAndHum() {
49 | if (millis() > (timedht + TimeBetweenReadingDHT)) { //retrieving value of temperature and humidity of the box from DHT every xUL
50 | timedht = millis();
51 | static float persistedh;
52 | static float persistedt;
53 | float h = dht.readHumidity();
54 | // Read temperature as Celsius (the default)
55 | float t = dht.readTemperature();
56 | // Check if any reads failed and exit early (to try again).
57 | if (isnan(h) || isnan(t)) {
58 | Log.error(F("Failed to read from DHT sensor!" CR));
59 | } else {
60 | Log.trace(F("Creating DHT buffer" CR));
61 | StaticJsonDocument DHTdataBuffer;
62 | JsonObject DHTdata = DHTdataBuffer.to();
63 | if (h != persistedh || dht_always) {
64 | DHTdata["hum"] = (float)h;
65 | } else {
66 | Log.trace(F("Same hum don't send it" CR));
67 | }
68 | if (t != persistedt || dht_always) {
69 | DHTdata["tempc"] = (float)t;
70 | DHTdata["tempf"] = dht.convertCtoF(t);
71 | } else {
72 | Log.trace(F("Same temp don't send it" CR));
73 | }
74 | DHTdata["origin"] = DHTTOPIC;
75 | enqueueJsonObject(DHTdata);
76 | }
77 | persistedh = h;
78 | persistedt = t;
79 | }
80 | }
81 | #endif
82 |
--------------------------------------------------------------------------------
/main/sensorGPIOKeyCode.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
4 | Send and receiving command by MQTT
5 |
6 | GPIO KeyCode derived from GPIO Input
7 |
8 | This reads up to 4 gpio with latch signal (gpio line) and combines the bits as KeyKode - can be connected
9 | to EV1527 receiver.
10 |
11 | Copyright: (c)Grzegorz Rajtar
12 |
13 | This file is part of OpenMQTTGateway.
14 |
15 | OpenMQTTGateway is free software: you can redistribute it and/or modify
16 | it under the terms of the GNU General Public License as published by
17 | the Free Software Foundation, either version 3 of the License, or
18 | (at your option) any later version.
19 | OpenMQTTGateway is distributed in the hope that it will be useful,
20 | but WITHOUT ANY WARRANTY; without even the implied warranty of
21 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 | GNU General Public License for more details.
23 | You should have received a copy of the GNU General Public License
24 | along with this program. If not, see .
25 | */
26 | #include "User_config.h"
27 |
28 | #ifdef ZsensorGPIOKeyCode
29 | # include "TheengsCommon.h"
30 | # include "config_GPIOKeyCode.h"
31 |
32 | int InputStateGPIOKeyCode = 0x0f; // Set to 3 so that it reads on startup
33 | int lastInputStateGPIOKeyCode = 0x0f;
34 | int lastLatchStateGPIOKeyCode = 0;
35 |
36 | void setupGPIOKeyCode() {
37 | pinMode(GPIOKeyCode_LATCH_GPIO, INPUT_PULLUP); //
38 | pinMode(GPIOKeyCode_D0_GPIO, INPUT_PULLUP); //
39 | pinMode(GPIOKeyCode_D1_GPIO, INPUT_PULLUP); //
40 | pinMode(GPIOKeyCode_D2_GPIO, INPUT_PULLUP); //
41 | //pinMode(GPIOKeyCode_D3_GPIO, INPUT_PULLUP); //
42 | }
43 |
44 | void MeasureGPIOKeyCode() {
45 | int latch = digitalRead(GPIOKeyCode_LATCH_GPIO);
46 |
47 | // check to see if you just pressed the button
48 | // (i.e. the input went from LOW to HIGH), and you've waited long enough
49 | // since the last press to ignore any noise:
50 |
51 | {
52 | // whatever the reading is at, it's been there for longer than the debounce
53 | // delay, so take it as the actual current state:
54 | yield();
55 | // if the Input state has changed:
56 | if (latch > 0 && lastLatchStateGPIOKeyCode != latch) {
57 | int reading = digitalRead(GPIOKeyCode_D0_GPIO) | (digitalRead(GPIOKeyCode_D1_GPIO) << 1) | (digitalRead(GPIOKeyCode_D2_GPIO) << 2);
58 | //| digitalRead(GPIOKeyCode_D3_GPIO) << 3;
59 |
60 | char hex[3];
61 |
62 | InputStateGPIOKeyCode = reading;
63 | sprintf(hex, "%02x", InputStateGPIOKeyCode);
64 | hex[2] = 0;
65 | Log.notice(F("GPIOKeyCode %H" CR), hex);
66 | pub(subjectGPIOKeyCodetoMQTT, hex);
67 | lastLatchStateGPIOKeyCode = latch;
68 | }
69 |
70 | if (latch != lastLatchStateGPIOKeyCode) {
71 | lastLatchStateGPIOKeyCode = latch;
72 | Log.notice(F("GPIOKeyCode latch %d" CR), latch);
73 | if (latch == 0)
74 | pub(subjectGPIOKeyCodeStatetoMQTT, "done");
75 | }
76 |
77 | // save the reading. Next time through the loop, it'll be the lastInputState:
78 | lastInputStateGPIOKeyCode = InputStateGPIOKeyCode;
79 | }
80 | }
81 | #endif
82 |
--------------------------------------------------------------------------------
/main/sensorHCSR04.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | HC SR-04 reading Addon
8 |
9 | Copyright: (c)Florian ROBERT
10 |
11 | Contributors:
12 | - 1technophile
13 | - mpember
14 |
15 | This file is part of OpenMQTTGateway.
16 |
17 | OpenMQTTGateway is free software: you can redistribute it and/or modify
18 | it under the terms of the GNU General Public License as published by
19 | the Free Software Foundation, either version 3 of the License, or
20 | (at your option) any later version.
21 |
22 | OpenMQTTGateway is distributed in the hope that it will be useful,
23 | but WITHOUT ANY WARRANTY; without even the implied warranty of
24 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 | GNU General Public License for more details.
26 |
27 | You should have received a copy of the GNU General Public License
28 | along with this program. If not, see .
29 | */
30 | #include "User_config.h"
31 |
32 | #ifdef ZsensorHCSR04
33 | # include "TheengsCommon.h"
34 | # include "config_HCSR04.h"
35 |
36 | unsigned long timeHCSR04 = 0;
37 |
38 | void setupHCSR04() {
39 | Log.notice(F("HCSR04 trigger pin: %d" CR), HCSR04_TRI_GPIO);
40 | Log.notice(F("HCSR04 echo pin: %d" CR), HCSR04_ECH_GPIO);
41 | pinMode(HCSR04_TRI_GPIO, OUTPUT); // declare HC SR-04 trigger GPIO as output
42 | pinMode(HCSR04_ECH_GPIO, INPUT); // declare HC SR-04 echo GPIO as input
43 | }
44 |
45 | void MeasureDistance() {
46 | if (millis() > (timeHCSR04 + TimeBetweenReadingHCSR04)) {
47 | timeHCSR04 = millis();
48 | Log.trace(F("Creating HCSR04 buffer" CR));
49 | StaticJsonDocument HCSR04dataBuffer;
50 | JsonObject HCSR04data = HCSR04dataBuffer.to();
51 | digitalWrite(HCSR04_TRI_GPIO, LOW);
52 | delayMicroseconds(2);
53 | digitalWrite(HCSR04_TRI_GPIO, HIGH);
54 | delayMicroseconds(10);
55 | digitalWrite(HCSR04_TRI_GPIO, LOW);
56 | unsigned long duration = pulseIn(HCSR04_ECH_GPIO, HIGH);
57 | if (isnan(duration)) {
58 | Log.error(F("Failed to read from HC SR04 sensor!" CR));
59 | } else {
60 | static unsigned int distance = 99999;
61 | unsigned int d = duration / 58.2;
62 | HCSR04data["distance"] = (int)d;
63 | if (d > distance) {
64 | HCSR04data["direction"] = "away";
65 | Log.trace(F("HC SR04 Distance changed" CR));
66 | } else if (d < distance) {
67 | HCSR04data["direction"] = "towards";
68 | Log.trace(F("HC SR04 Distance changed" CR));
69 | } else if (HCSR04_always) {
70 | HCSR04data["direction"] = "static";
71 | Log.trace(F("HC SR04 Distance hasn't changed" CR));
72 | }
73 | distance = d;
74 | enqueueJsonObject(HCSR04data);
75 | }
76 | }
77 | }
78 | #endif
79 |
--------------------------------------------------------------------------------
/main/sensorHCSR501.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | HC SR-501 reading Addon
8 |
9 | Copyright: (c)Florian ROBERT
10 |
11 | Contributors:
12 | - 1technophile
13 |
14 | This file is part of OpenMQTTGateway.
15 |
16 | OpenMQTTGateway is free software: you can redistribute it and/or modify
17 | it under the terms of the GNU General Public License as published by
18 | the Free Software Foundation, either version 3 of the License, or
19 | (at your option) any later version.
20 |
21 | OpenMQTTGateway is distributed in the hope that it will be useful,
22 | but WITHOUT ANY WARRANTY; without even the implied warranty of
23 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 | GNU General Public License for more details.
25 |
26 | You should have received a copy of the GNU General Public License
27 | along with this program. If not, see .
28 | */
29 | #include "User_config.h"
30 |
31 | #ifdef ZsensorHCSR501
32 | # include "TheengsCommon.h"
33 | # include "config_HCSR501.h"
34 |
35 | void setupHCSR501() {
36 | Log.notice(F("HCSR501 pin: %d" CR), HCSR501_GPIO);
37 | pinMode(HCSR501_GPIO, INPUT); // declare HC SR-501 GPIO as input
38 | # ifdef HCSR501_LED_NOTIFY_GPIO
39 | pinMode(HCSR501_LED_NOTIFY_GPIO, OUTPUT);
40 | digitalWrite(HCSR501_LED_NOTIFY_GPIO, LOW);
41 | # endif
42 | }
43 |
44 | void MeasureHCSR501() {
45 | if (millis() > TimeBeforeStartHCSR501) { //let time to init the PIR sensor
46 | StaticJsonDocument HCSR501dataBuffer;
47 | JsonObject HCSR501data = HCSR501dataBuffer.to();
48 | static int pirState = LOW;
49 | int PresenceValue = digitalRead(HCSR501_GPIO);
50 | yield();
51 | if (PresenceValue == HIGH) {
52 | if (pirState == LOW) {
53 | //turned on
54 | HCSR501data["presence"] = "true";
55 | pirState = HIGH;
56 | }
57 | } else {
58 | if (pirState == HIGH) {
59 | // turned off
60 | HCSR501data["presence"] = "false";
61 | pirState = LOW;
62 | }
63 | }
64 | # ifdef HCSR501_LED_NOTIFY_GPIO
65 | digitalWrite(HCSR501_LED_NOTIFY_GPIO, pirState == HCSR501_LED_ON);
66 | # endif
67 | if (HCSR501data.size() > 0) {
68 | HCSR501data["origin"] = subjectHCSR501toMQTT;
69 | enqueueJsonObject(HCSR501data);
70 | }
71 | }
72 | }
73 | #endif
74 |
--------------------------------------------------------------------------------
/main/sensorMQ2.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This is the MQ2 GAS Sensor Addon based on modules with a MQ:
8 | - Measures flammable gas
9 | - Required Hardware Module: MQ2
10 |
11 | Connection Scheme:
12 | --------------------
13 |
14 | MQ-2 -------> ESP8266
15 | ==============================================
16 | Vcc ---------> 3.3V or 5V
17 | GND ---------> GND
18 | A0 ----------> A0
19 | D0 ----------> D4
20 |
21 | This file is part of OpenMQTTGateway.
22 |
23 | OpenMQTTGateway is free software: you can redistribute it and/or modify
24 | it under the terms of the GNU General Public License as published by
25 | the Free Software Foundation, either version 3 of the License, or
26 | (at your option) any later version.
27 |
28 | OpenMQTTGateway is distributed in the hope that it will be useful,
29 | but WITHOUT ANY WARRANTY; without even the implied warranty of
30 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
31 | GNU General Public License for more details.
32 |
33 | You should have received a copy of the GNU General Public License
34 | along with this program. If not, see .
35 | */
36 | #include "User_config.h"
37 |
38 | #ifdef ZsensorMQ2
39 | # include "TheengsCommon.h"
40 | # include "Wire.h"
41 | # include "config_MQ2.h"
42 | # include "math.h"
43 |
44 | //Time used to wait for an interval before resending measured values
45 | unsigned long timemq2 = 0;
46 |
47 | void setupZsensorMQ2() {
48 | Log.notice(F("Setup MQ2 detection on pin: %d" CR), MQ2SENSORDETECTPIN);
49 | pinMode(MQ2SENSORDETECTPIN, INPUT); // declare GPIOInput pin as input_pullup to prevent floating. Pin will be high when not connected to ground
50 |
51 | Log.notice(F("Starting MQ2 calibration on pin: %d" CR), MQ2SENSORADCPIN);
52 |
53 | //Simple calibrate
54 | float sensorValue;
55 | for (int x = 0; x < 1000; x++) {
56 | analogRead(MQ2SENSORADCPIN);
57 | }
58 | delay(1000);
59 |
60 | Log.trace(F("MQ2 Initialized." CR));
61 | }
62 |
63 | void MeasureGasMQ2() {
64 | if (millis() > (timemq2 + TimeBetweenReadingmq2)) {
65 | timemq2 = millis();
66 |
67 | Log.trace(F("Creating MQ2 buffer" CR));
68 | StaticJsonDocument MQ2dataBuffer;
69 | JsonObject MQ2data = MQ2dataBuffer.to();
70 |
71 | MQ2data["gas"] = analogRead(MQ2SENSORADCPIN);
72 | MQ2data["detected"] = digitalRead(MQ2SENSORDETECTPIN) == HIGH ? "false" : "true";
73 | MQ2data["origin"] = subjectMQ2toMQTT;
74 | enqueueJsonObject(MQ2data);
75 | }
76 | }
77 | #endif
78 |
--------------------------------------------------------------------------------
/main/sensorSHTC3.cpp:
--------------------------------------------------------------------------------
1 | #include "User_config.h"
2 |
3 | #ifdef ZsensorSHTC3
4 | # include
5 |
6 | # include "TheengsCommon.h"
7 |
8 | SHTC3 mySHTC3;
9 |
10 | //Time used to wait for an interval before resending temp and hum
11 | unsigned long timedht = 0;
12 | void errorDecoder(SHTC3_Status_TypeDef message);
13 |
14 | void errorDecoder(SHTC3_Status_TypeDef message) // The errorDecoder function prints "SHTC3_Status_TypeDef" resultsin a human-friendly way
15 | {
16 | switch (message) {
17 | case SHTC3_Status_Nominal:
18 | Log.notice(F("Nominal"));
19 | break;
20 | case SHTC3_Status_Error:
21 | Log.error(F("Error"));
22 | break;
23 | case SHTC3_Status_CRC_Fail:
24 | Log.error(F("CRC Fail"));
25 | break;
26 | default:
27 | Log.error(F("Unknown return code"));
28 | break;
29 | }
30 | }
31 |
32 | void setupSHTC3() {
33 | Wire.begin();
34 | errorDecoder(mySHTC3.begin()); // To start the sensor you must call "begin()", the default settings use Wire (default Arduino I2C port)
35 | }
36 |
37 | void MeasureTempAndHum() {
38 | if (millis() > (timedht + TimeBetweenReadingSHTC3)) { //retrieving value of temperature and humidity of the box from SHTC3 every xUL
39 | timedht = millis();
40 | static float persistedh;
41 | static float persistedt;
42 | SHTC3_Status_TypeDef result = mySHTC3.update();
43 | if (mySHTC3.lastStatus == SHTC3_Status_Nominal) {
44 | // Read temperature as Celsius (the default)
45 | float t = mySHTC3.toDegC();
46 | float h = mySHTC3.toPercent();
47 | // Check if any reads failed and exit early (to try again).
48 | if (isnan(h) || isnan(t)) {
49 | Log.error(F("Failed to read from SHTC3 sensor!" CR));
50 | } else {
51 | Log.trace(F("Creating SHTC3 buffer" CR));
52 | StaticJsonDocument SHTC3dataBuffer;
53 | JsonObject SHTC3data = SHTC3dataBuffer.to();
54 | if (h != persistedh || shtc3_always) {
55 | SHTC3data["hum"] = (float)h;
56 | } else {
57 | Log.trace(F("Same hum don't send it" CR));
58 | }
59 | if (t != persistedt || shtc3_always) {
60 | SHTC3data["tempc"] = (float)t;
61 | SHTC3data["tempf"] = mySHTC3.toDegF();
62 | } else {
63 | Log.trace(F("Same temp don't send it" CR));
64 | }
65 | SHTC3data["origin"] = SHTC3TOPIC;
66 | enqueueJsonObject(SHTC3data);
67 | }
68 | persistedh = h;
69 | persistedt = t;
70 | } else {
71 | errorDecoder(mySHTC3.lastStatus);
72 | Log.error(F("Failed to read from SHTC3 sensor!" CR));
73 | }
74 | }
75 | }
76 | #endif
77 |
--------------------------------------------------------------------------------
/main/sensorTEMT6000.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Theengs OpenMQTTGateway - We Unite Sensors in One Open-Source Interface
3 |
4 | Act as a gateway between your 433mhz, infrared IR, BLE, LoRa signal and one interface like an MQTT broker
5 | Send and receiving command by MQTT
6 |
7 | This is the Light Meter Addon based on modules with a TEMT6000:
8 | - Measures ambient Light Intensity in Lux (lx), Foot Candela (ftcd) and Watt/m^2 (wattsm2)
9 | - Required Hardware Module: TEMT6000
10 | - Dependencies: none
11 |
12 | Connection Scheme:
13 | --------------------
14 |
15 | TEMT6000------> ESP8266
16 | ==============================================
17 | Vcc ---------> 3.3V
18 | GND ---------> GND
19 | SIG ---------> A0
20 |
21 | Copyright: (c) Andre Greyling - this is a modified copy of Chris Broekema
22 |
23 | This file is part of OpenMQTTGateway.
24 |
25 | OpenMQTTGateway is free software: you can redistribute it and/or modify
26 | it under the terms of the GNU General Public License as published by
27 | the Free Software Foundation, either version 3 of the License, or
28 | (at your option) any later version.
29 |
30 | OpenMQTTGateway is distributed in the hope that it will be useful,
31 | but WITHOUT ANY WARRANTY; without even the implied warranty of
32 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33 | GNU General Public License for more details.
34 |
35 | You should have received a copy of the GNU General Public License
36 | along with this program. If not, see .
37 | */
38 | #include "User_config.h"
39 |
40 | #ifdef ZsensorTEMT6000
41 | # include "TheengsCommon.h"
42 | # include "Wire.h"
43 | # include "config_TEMT6000.h"
44 | # include "math.h"
45 |
46 | //Time used to wait for an interval before resending measured values
47 | static unsigned long timetemt6000 = 0;
48 |
49 | void setupZsensorTEMT6000() {
50 | Log.notice(F("Setup TEMT6000 on pin: %i" CR), TEMT6000LIGHTSENSORPIN);
51 | pinMode(TEMT6000LIGHTSENSORPIN, INPUT);
52 | }
53 |
54 | void MeasureLightIntensityTEMT6000() {
55 | if (millis() > (timetemt6000 + TimeBetweenReadingtemt6000)) {
56 | static uint32_t persisted_lux;
57 | timetemt6000 = millis();
58 |
59 | Log.trace(F("Creating TEMT6000 buffer" CR));
60 | StaticJsonDocument TEMT6000dataBuffer;
61 | JsonObject TEMT6000data = TEMT6000dataBuffer.to();
62 |
63 | float volts = analogRead(TEMT6000LIGHTSENSORPIN) * 5.0 / 1024.0;
64 | float amps = volts / 10000.0; // across 10,000 Ohms
65 | float microamps = amps * 1000000;
66 | float lux = microamps * 2.0;
67 |
68 | if (persisted_lux != lux || temt6000_always) {
69 | persisted_lux = lux;
70 |
71 | TEMT6000data["lux"] = (float)lux;
72 | TEMT6000data["ftcd"] = (float)(lux) / 10.764;
73 | TEMT6000data["wattsm2"] = (float)(lux) / 683.0;
74 | TEMT6000data["origin"] = subjectTEMT6000toMQTT;
75 | enqueueJsonObject(TEMT6000data);
76 | } else {
77 | Log.trace(F("Same lux value, do not send" CR));
78 | }
79 | }
80 | }
81 | #endif
82 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "scripts": {
3 | "docs:dev": "vuepress dev docs",
4 | "docs:build": "vuepress build docs"
5 | },
6 | "devDependencies": {
7 | "vuepress": "^1.9.10"
8 | },
9 | "dependencies": {
10 | "vuepress-plugin-sitemap": "^2.3.1"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/partitions/alltest_large.csv:
--------------------------------------------------------------------------------
1 | # Name, Type, SubType, Offset, Size, Flags
2 | nvs, data, nvs, 0x9000, 0x5000,
3 | app0, app, ota_0, 0x10000, 0x200000,
4 | spiffs, data, spiffs, 0x310000,0x4F000,
5 |
--------------------------------------------------------------------------------
/partitions/default.csv:
--------------------------------------------------------------------------------
1 | # Name, Type, SubType, Offset, Size, Flags
2 | nvs, data, nvs, 0x9000, 0x5000,
3 | otadata, data, ota, 0xe000, 0x2000,
4 | app0, app, ota_0, 0x10000, 0x140000,
5 | app1, app, ota_1, 0x150000,0x140000,
6 | spiffs, data, spiffs, 0x290000,0x160000,
7 | coredump, data, coredump,0x3F0000,0x10000,
--------------------------------------------------------------------------------
/partitions/default_16MB.csv:
--------------------------------------------------------------------------------
1 | # Name, Type, SubType, Offset, Size, Flags
2 | nvs, data, nvs, 0x9000, 0x5000,
3 | otadata, data, ota, 0xe000, 0x2000,
4 | app0, app, ota_0, 0x10000, 0x640000,
5 | app1, app, ota_1, 0x650000,0x640000,
6 | spiffs, data, spiffs, 0xc90000,0x360000,
7 | coredump, data, coredump,0xFF0000,0x10000,
--------------------------------------------------------------------------------
/partitions/default_8MB.csv:
--------------------------------------------------------------------------------
1 | # Name, Type, SubType, Offset, Size, Flags
2 | nvs, data, nvs, 0x9000, 0x5000,
3 | otadata, data, ota, 0xe000, 0x2000,
4 | app0, app, ota_0, 0x10000, 0x330000,
5 | app1, app, ota_1, 0x340000,0x330000,
6 | spiffs, data, spiffs, 0x670000,0x180000,
7 | coredump, data, coredump,0x7F0000,0x10000,
--------------------------------------------------------------------------------
/partitions/min_spiffs.csv:
--------------------------------------------------------------------------------
1 | # Name, Type, SubType, Offset, Size, Flags
2 | nvs, data, nvs, 0x9000, 0x5000,
3 | otadata, data, ota, 0xe000, 0x2000,
4 | app0, app, ota_0, 0x10000, 0x1E0000,
5 | app1, app, ota_1, 0x1F0000,0x1E0000,
6 | spiffs, data, spiffs, 0x3D0000,0x20000,
7 | coredump, data, coredump,0x3F0000,0x10000,
--------------------------------------------------------------------------------
/partitions/no_coredump.csv:
--------------------------------------------------------------------------------
1 | # Name, Type, SubType, Offset, Size, Flags
2 | nvs, data, nvs, 0x9000, 0x5000,
3 | otadata, data, ota, 0xe000, 0x2000,
4 | app0, app, ota_0, 0x10000, 0x1F0000,
5 | app1, app, ota_1, 0x200000,0x1F0000,
6 | spiffs, data, spiffs, 0x3F0000,0x10000,
7 |
--------------------------------------------------------------------------------
/scripts/common_wu.py:
--------------------------------------------------------------------------------
1 | import string
2 |
3 | mf_temp32 = string.Template('''{
4 | "name": "OpenMQTTGateway",
5 | "new_install_prompt_erase": true,
6 | "builds": [
7 | {
8 | "chipFamily": "ESP32",
9 | "improv": false,
10 | "parts": [
11 | { "path": "$cp$bl", "offset": 4096 },
12 | { "path": "$cp$part", "offset": 32768 },
13 | { "path": "$cp$boot", "offset": 57344 },
14 | { "path": "$cp$bin", "offset": 65536 }
15 | ]
16 | }
17 | ]
18 | }''')
19 |
20 | mf_temp32c3 = string.Template('''{
21 | "name": "OpenMQTTGateway",
22 | "new_install_prompt_erase": true,
23 | "builds": [
24 | {
25 | "chipFamily": "ESP32-C3",
26 | "improv": false,
27 | "parts": [
28 | { "path": "$cp$bl", "offset": 0 },
29 | { "path": "$cp$part", "offset": 32768 },
30 | { "path": "$cp$boot", "offset": 57344 },
31 | { "path": "$cp$bin", "offset": 65536 }
32 | ]
33 | }
34 | ]
35 | }''')
36 |
37 | mf_temp32s3 = string.Template('''{
38 | "name": "OpenMQTTGateway",
39 | "new_install_prompt_erase": true,
40 | "builds": [
41 | {
42 | "chipFamily": "ESP32-S3",
43 | "improv": false,
44 | "parts": [
45 | { "path": "$cp$bl", "offset": 0 },
46 | { "path": "$cp$part", "offset": 32768 },
47 | { "path": "$cp$boot", "offset": 57344 },
48 | { "path": "$cp$bin", "offset": 65536 }
49 | ]
50 | }
51 | ]
52 | }''')
53 |
54 | mf_temp8266 = string.Template('''{
55 | "name": "OpenMQTTGateway",
56 | "new_install_prompt_erase": true,
57 | "builds": [
58 | {
59 | "chipFamily": "ESP8266",
60 | "parts": [{ "path": "$cp$bin", "offset": 0 }]
61 | }
62 | ]
63 | }''')
64 |
65 | wu_temp_opt = string.Template('''
66 |
71 | ''')
72 |
73 | wu_temp_p1 = '''
74 |
75 |
93 |
94 |
95 |
96 |
97 | '''
110 |
111 | manif_path = 'docs/.vuepress/public/firmware_build/'
112 | vue_path = 'docs/.vuepress/components/'
113 | cors_proxy = '' # 'https://cors.bridged.cc/'
114 | esp32_boot = 'https://github.com/espressif/arduino-esp32/raw/2.0.7/tools/partitions/boot_app0.bin'
115 |
--------------------------------------------------------------------------------
/scripts/compressFirmware.py:
--------------------------------------------------------------------------------
1 | import gzip
2 | import shutil
3 | import os
4 | Import("env")
5 |
6 |
7 | def compressFirmware(source, target, env):
8 | """ Compress firmware using gzip for 'compressed OTA upload' """
9 | SOURCE_FILE = env.subst("$BUILD_DIR") + os.sep + env.subst("$PROGNAME") + ".bin"
10 | SOURCE_BAK = SOURCE_FILE + '.bak'
11 | do_compress = True
12 | if os.path.exists(SOURCE_FILE) and os.path.exists(SOURCE_BAK):
13 | src_mtime = os.stat(SOURCE_FILE).st_mtime
14 | bak_mtime = os.stat(SOURCE_BAK).st_mtime
15 | """ Recompress if .bin file is newer than .bak file """
16 | do_compress = (src_mtime > bak_mtime)
17 |
18 | if do_compress:
19 | print("Compressing firmware for upload...")
20 | shutil.move(SOURCE_FILE, SOURCE_BAK)
21 | with open(SOURCE_BAK, 'rb') as f_in:
22 | with gzip.open(SOURCE_FILE, 'wb', compresslevel = 9) as f_out:
23 | shutil.copyfileobj(f_in, f_out)
24 | """ Set modification time on compressed file so incremental build works """
25 | shutil.copystat(SOURCE_BAK, SOURCE_FILE)
26 |
27 | if os.path.exists(SOURCE_BAK):
28 | ORG_FIRMWARE_SIZE = os.stat(SOURCE_BAK).st_size
29 | GZ_FIRMWARE_SIZE = os.stat(SOURCE_FILE).st_size
30 |
31 | print("Compression reduced firmware size to {:.0f}% (was {} bytes, now {} bytes)".format((GZ_FIRMWARE_SIZE / ORG_FIRMWARE_SIZE) * 100, ORG_FIRMWARE_SIZE, GZ_FIRMWARE_SIZE))
32 |
33 | env.AddPostAction("$BUILD_DIR/firmware.bin", [compressFirmware])
--------------------------------------------------------------------------------
/scripts/latest_version.json:
--------------------------------------------------------------------------------
1 | {
2 | "latest_version": "version_tag",
3 | "title": "OpenMQTTGateway",
4 | "release_url": "https://github.com/1technophile/OpenMQTTGateway/releases/tag/version_tag"
5 | }
--------------------------------------------------------------------------------
/scripts/latest_version_dev.json:
--------------------------------------------------------------------------------
1 | {
2 | "latest_version": "version_tag",
3 | "title": "OpenMQTTGateway Nightly (TEST ONLY)"
4 | }
--------------------------------------------------------------------------------
/scripts/prepare_deploy.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 | echo "renaming bin files with the environment name"
4 | rename -v 's:/:-:g' .pio/build/*/*.bin
5 | mkdir toDeploy
6 | rename 's/.pio-build-//' .*.bin
7 | (
8 | cd .pio/libdeps
9 | echo "replace space by _ in folder names"
10 | find . -type d -name "* *" | while read FNAME; do mv "$FNAME" "${FNAME// /_}"; done
11 | echo "zipping libraries per board"
12 | for i in */
13 | do
14 | zip -r "${i%/}-libraries.zip" "$i"
15 | done
16 | ls -lA
17 | mv *.zip ../../toDeploy
18 | )
19 | # remove binaries for *-all*, *-test* env and only zip containing *-test*
20 | rm -f *-all*.bin *-test*.bin *-test*.zip
21 | echo "zipping code and licence"
22 | zip -r OpenMQTTGateway_sources.zip main LICENSE.txt
23 | mv *.zip toDeploy
24 | mv *.bin toDeploy
25 |
26 | ls -lA toDeploy
27 |
--------------------------------------------------------------------------------
/scripts/replace_lib.py:
--------------------------------------------------------------------------------
1 |
2 | import shutil
3 | import os
4 | import hashlib
5 | Import("env")
6 |
7 | def calculate_md5(filepath):
8 | md5_hash = hashlib.md5()
9 | with open(filepath, "rb") as f:
10 | for byte_block in iter(lambda: f.read(4096), b""):
11 | md5_hash.update(byte_block)
12 | return md5_hash.hexdigest()
13 |
14 | def main():
15 | print(f"Pre build BLE library replacement script")
16 | source_file = 'lib/esp32-bt-lib/esp32/libbtdm_app.a'
17 | destination_file = os.path.join(env.GetProjectConfig().get("platformio", "packages_dir"), 'framework-arduinoespressif32', 'tools', 'sdk', 'esp32', 'ld', 'libbtdm_app.a')
18 |
19 | try:
20 | shutil.copyfile(source_file, destination_file)
21 | md5_hash = calculate_md5(destination_file)
22 | print(f"Successfully copied {source_file} to {destination_file}")
23 | print(f"MD5: {md5_hash}")
24 | except Exception as e:
25 | print(f"Error occurred: {e}")
26 |
27 | main()
28 |
--------------------------------------------------------------------------------