diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1b95fdb486..bc8431530f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,28 +4,95 @@ on: [push, pull_request] jobs: build: + strategy: + fail-fast: false + matrix: + environments: + - "rfbridge" + - "sonoff-rfbridge-direct" + - "esp32dev-all-test" + - "esp32dev-rf" + - "esp32dev-pilight-cc1101" + - "esp32dev-somfy-cc1101" + - "esp32dev-pilight-somfy-cc1101" + - "esp32dev-weatherstation" + - "esp32dev-gf-sun-inverter" + - "esp32dev-ir" + - "esp32dev-ble" + - "esp32dev-ble-openhab" + - "esp32dev-ble-mqtt-undecoded" + - "esp32dev-ble-aws" + - "esp32dev-ble-cont" + - "esp32feather-ble" + - "esp32-lolin32lite-ble" + - "esp32-olimex-gtw-ble-eth" + - "esp32-olimex-gtw-ble-poe" + - "esp32-olimex-gtw-ble-poe-iso" + - "esp32-wt32-eth01-ble-eth" + - "esp32-olimex-gtw-ble-wifi" + - "esp32-m5stick-ble" + - "esp32-m5stack-ble" + - "esp32-m5tough-ble" + - "esp32-m5stick-c-ble" + - "esp32-m5stick-cp-ble" + - "esp32-m5atom" + - "esp32dev-rtl_433" + - "heltec-rtl_433" + - "esp32dev-multi_receiver" + - "tinypico-ble" + - "ttgo-lora32-v1-868" + - "ttgo-lora32-v1-915" + - "ttgo-t-beam" + - "heltec-wifi-lora-32-868" + - "heltec-wifi-lora-32-915" + - "esp32dev-mqtt-fw-test" + - "nodemcuv2-all-test" + - "nodemcuv2-fastled-test" + - "nodemcuv2-2g" + - "nodemcuv2-ir" + - "nodemcuv2-rs232" + - "avatto-bakeey-ir" + - "nodemcuv2-rf" + - "nodemcuv2-rf-cc1101" + - "nodemcuv2-somfy-cc1101" + - "manual-wifi-test" + - "openhab-test" + - "nodemcuv2-mqtt-fw-test" + - "rf-wifi-gateway" + - "nodemcuv2-rf2" + - "nodemcuv2-rf2-cc1101" + - "nodemcuv2-pilight" + - "nodemcuv2-weatherstation" + - "sonoff-basic" + - "sonoff-basic-rfr3" + - "atmega-all-test" + - "uno-rf" + - "uno-fastled" + - "esp32dev-ble-datatest" + - "esp32s3-dev-c1-ble" + - "esp32c3-dev-m1-ble" runs-on: ubuntu-latest name: Build with PlatformIO steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: - python-version: "3.7" + python-version: "3.x" - name: Install platformio run: | python -m pip install --upgrade pip pip install platformio - name: Run PlatformIO - run: platformio run + run: platformio run -e ${{ matrix.environments }} documentation: runs-on: ubuntu-latest name: Create the documentation steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Node.js - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: "14.x" - name: Install build dependencies diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0fe751df19..11d2aaf61a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,9 +9,9 @@ jobs: runs-on: ubuntu-latest name: Build and upload Assets to Release steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: "3.7" - name: Install platformio @@ -44,13 +44,13 @@ jobs: runs-on: ubuntu-latest name: Create the documentation and deploy it to GitHub Pages steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Node.js - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: "14.x" - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: "3.7" - name: Install build dependencies diff --git a/main/ZgatewayBT.ino b/main/ZgatewayBT.ino index 040c6f9afe..dc8add6e92 100644 --- a/main/ZgatewayBT.ino +++ b/main/ZgatewayBT.ino @@ -32,7 +32,6 @@ Thanks to wolass https://github.com/wolass for suggesting me HM 10 and dinosd ht #ifdef ZgatewayBT -# include "FreeRTOS.h" SemaphoreHandle_t semaphoreCreateOrUpdateDevice; SemaphoreHandle_t semaphoreBLEOperation; QueueHandle_t BLEQueue; @@ -46,8 +45,8 @@ QueueHandle_t BLEQueue; # include # include # include -# include +# include # include # include "ZgatewayBLEConnect.h" diff --git a/main/ZgatewayRTL_433.ino b/main/ZgatewayRTL_433.ino index 229962488d..34c9acd171 100644 --- a/main/ZgatewayRTL_433.ino +++ b/main/ZgatewayRTL_433.ino @@ -1,18 +1,18 @@ -/* - OpenMQTTGateway - ESP8266 or Arduino program for home automation +/* + OpenMQTTGateway - ESP8266 or Arduino program for home automation - Act as a wifi or ethernet gateway between your 433mhz/infrared IR signal and a MQTT broker + Act as a wifi or ethernet gateway between your 433mhz/infrared IR signal and a MQTT broker Send and receiving command by MQTT - + This gateway enables to: - receive MQTT data from a topic and send RF 433Mhz signal corresponding to the received MQTT data - publish MQTT data to a different topic related to received 433Mhz signal - leverage the rtl_433 device decoders on a ESP32 device Copyright: (c)Florian ROBERT - + This file is part of OpenMQTTGateway. - + OpenMQTTGateway is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -44,7 +44,7 @@ void rtl_433_Callback(char* message) { return; } - unsigned long MQTTvalue = (int)RFrtl_433_ESPdata["id"] + round(RFrtl_433_ESPdata["temperature_C"]); + unsigned long MQTTvalue = (int)RFrtl_433_ESPdata["id"] + round((float)RFrtl_433_ESPdata["temperature_C"]); String topic = String(subjectRTL_433toMQTT); # if valueAsATopic String model = RFrtl_433_ESPdata["model"]; diff --git a/main/main.ino b/main/main.ino index 7d2995fb4a..660930a9a5 100644 --- a/main/main.ino +++ b/main/main.ino @@ -1192,8 +1192,8 @@ void setup_wifimanager(bool reset_settings) { WiFiManagerParameter custom_mqtt_user("user", "mqtt user", mqtt_user, parameters_size); WiFiManagerParameter custom_mqtt_pass("pass", "mqtt pass", mqtt_pass, parameters_size); WiFiManagerParameter custom_mqtt_topic("topic", "mqtt base topic", mqtt_topic, mqtt_topic_max_size); - WiFiManagerParameter custom_mqtt_secure("secure", "mqtt secure", "1", 1, mqtt_secure ? "type=\"checkbox\" checked" : "type=\"checkbox\""); - WiFiManagerParameter custom_mqtt_cert("cert", "mqtt broker cert", mqtt_cert.c_str(), 2048); + WiFiManagerParameter custom_mqtt_secure("secure", "mqtt secure", "1", 2, mqtt_secure ? "type=\"checkbox\" checked" : "type=\"checkbox\""); + WiFiManagerParameter custom_mqtt_cert("cert", "
mqtt broker cert", mqtt_cert.c_str(), 2048); WiFiManagerParameter custom_gateway_name("name", "gateway name", gateway_name, parameters_size); # endif //WiFiManager diff --git a/platformio.ini b/platformio.ini index 87f23ee834..1b6cd00efd 100644 --- a/platformio.ini +++ b/platformio.ini @@ -100,7 +100,7 @@ arduinolog = https://github.com/1technophile/Arduino-Log.git#d13cd80 pubsubclient = PubSubClient@2.8 rc-switch = https://github.com/1technophile/rc-switch.git#98537e9 newremoteswitch = https://github.com/1technophile/NewRemoteSwitch.git#8eb980e -ble = https://github.com/h2zero/NimBLE-Arduino.git#1.3.8 +ble = https://github.com/h2zero/NimBLE-Arduino.git#1.4.1 irremoteesp = IRremoteESP8266@2.8.2 irremote = https://github.com/z3t0/Arduino-IRremote.git#1c08a37 lora = https://github.com/sandeepmistry/arduino-LoRa.git#f4a1d27 @@ -118,7 +118,7 @@ htu21 = SparkFun HTU21D Humidity and Temperature Sensor Breakout@1.1.3 ahtx0 = Adafruit AHTX0 ina226 = https://github.com/jarzebski/Arduino-INA226.git#968a684 a6lib = https://github.com/h2zero/A6lib -wifimanager32 = https://github.com/tzapu/WiFiManager.git#c3ff582 +wifimanager32 = https://github.com/tzapu/WiFiManager.git#9f5981e wifimanager8266 = https://github.com/tzapu/WiFiManager.git#2.0.5-beta ethernet = Ethernet esp8266_mdns = esp8266_mdns @@ -154,7 +154,8 @@ monitor_speed = 115200 [com] esp8266_platform = espressif8266@3.2.0 -esp32_platform = espressif32@3.3.1 +esp32_platform = espressif32@3.5.0 +esp32_c3_s3_platform = espressif32@5.2.0 atmelavr_platform = atmelavr@3.3.0 [com-esp] @@ -919,7 +920,7 @@ lib_deps = ${com-esp.lib_deps} ${libraries.wifimanager32} ${libraries.lora} - ${libraries.ssd1306} + ${libraries.ssd1306} build_flags = ${com-esp.build_flags} ; *** OpenMQTTGateway Modules *** @@ -940,7 +941,7 @@ lib_deps = ${com-esp.lib_deps} ${libraries.wifimanager32} ${libraries.lora} - ${libraries.ssd1306} + ${libraries.ssd1306} build_flags = ${com-esp.build_flags} ; *** OpenMQTTGateway Modules *** @@ -1388,3 +1389,38 @@ build_flags = '-DpubKnownBLEServiceData=true' '-DpubBLEServiceUUID=true' '-DGateway_Name="OpenMQTTGateway_ESP32_BLE"' + +[env:esp32s3-dev-c1-ble] +platform = ${com.esp32_c3_s3_platform} +board = esp32-s3-devkitc-1 +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DLED_SEND_RECEIVE=12' + '-DLED_SEND_RECEIVE_ON=0' + '-DLED_INFO=13' + '-DLED_ERROR=14' + '-DGateway_Name="OpenMQTTGateway_ESP32_BLE"' + +[env:esp32c3-dev-m1-ble] +platform = ${com.esp32_c3_s3_platform} +board = esp32-c3-devkitm-1 +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.ble} + ${libraries.decoder} +build_flags = + ${com-esp.build_flags} + '-DZgatewayBT="BT"' + '-DLED_SEND_RECEIVE=2' + '-DLED_SEND_RECEIVE_ON=0' + '-DLED_INFO=6' + '-DLED_ERROR=7' + '-DGateway_Name="OpenMQTTGateway_ESP32_BLE"'