Commit Graph
183 Commits
Author SHA1 Message Date
DigiH c77a16867d [SSD1306] BLE devices display - Take 2 (#1492)
* BLE Display - THB, THBX, PLANT, AIR, BATT, BODY

* SCALE

* BBQ

* Filter MS-CDP, GAEN and IBEACON

* Mopeka & Smart Dry

* ACEL

ACEL sensor, as most also have temp and hum, but no acceleration info display included so far.

* Only display when properties are present

Only display when properties are present, to avoid model only display for devices which require active scanning at a larger interval, e.g. Mi Band and similar.

* LilyGo-BLE environment

* BLE display relocated

BLE display relocated to have pubadvdata "type" in message, required for the different type display functions.
2023-03-01 15:09:45 -06:00
Florian 454a062b3b [OTA] Enable 2 clicks OTA update / one simple MQTT command (#1485)
* [OTA] Add automatic OTA updates

This feature will enable to update the gateway with one button or a simple MQTT command.

* [CI] Enable automatic OTA for nightly development builds

And integrate the latest_version file creation into the CI

Enable to specify a particular version
and switch between dev and production builds
2023-02-27 12:54:30 -06:00
DigiH d124cd53a4 default_envs update (#1481)
default_envs in platformio.ini updated to contain all environments of environments.ini in the respective order
2023-02-23 13:55:08 -06:00
DigiH 350e1b69b6 Decoder Dev Branch (#1478)
Setting the Decoder URL to the Dev branch again for nightly OMG Dev builds
2023-02-21 20:57:47 +01:00
Marcel Stör df8943bf52 Add missing ThingPulse envs (#1455)
This fixes #1369 that added the actual parameters but forgot to add an env line.
2023-02-13 05:23:54 -06:00
Florian 37dfe8008c [BT] Bump decoder to v1.2.0 (#1454) 2023-02-12 16:27:10 -06:00
FlorianandDigiH f283327998 [BT] - Adaptive scan (#1440)
* [BT] Adaptive scan

Add adaptive scan to avoid users setting parameters and deduct automatically the scan requirements from the list of devices

---------
Co-authored-by: DigiH <github@digih.net>
2023-02-07 17:36:18 -06:00
Frank Zhang 2c759408c3 Added board AirM2M CORE ESP32C3 (#1429)
* update: Add board Airm2m Core ESP32C3

* update: added custom description
2023-01-31 20:23:15 -06:00
Florian 8d2aacc358 [BT] Bump Theengs Decoder to v1.1.0 (#1425) 2023-01-26 13:43:16 -06:00
Florian c1afc02ffe [CI] Point development to decoder development (#1421)
So as to have nightly builds based on the decoder development branch
2023-01-25 13:58:01 -06:00
Northern Man 44a4e963f2 Update platformio.ini (#1413) 2023-01-23 10:32:03 -06:00
Florian f9d1d0ad6a [CI] Change environments ini name (#1414)
Remove unecessary macros,
modify datatest environment to be continuous
change scan duration to 3s for continuous scan environments
2023-01-23 10:31:21 -06:00
Florian 5297dff7bb [DOCS] - Generate board documentation automaticaly from platformio.ini (#1405)
* [DOCS] - Generate board documentation automaticaly from platformio.ini

To reduce maintenance effort

* [CI] Differentiate boards from platformio.ini

So that only one line can be commented to use customs environments
2023-01-20 09:04:18 -06:00
Florian b4003d4ea1 Fix actuator manual control with button press and overheat protection (#1403)
Manual control with a button press triggered the relay but 2 times (when pressing and releasing), fixing this.

Check that we have two consecutive readings of temperature above the threshold to trigger the actuator to OFF
And remove it by default to the shelly, as I see unjustified jumps of temperature above 80C.
2023-01-18 18:10:54 -06:00
Florian cc81b0ba44 [DOCS] Add warning for Shelly Plus 1 (#1392)
This board firmware is for testing only, not for production use
2023-01-12 18:11:26 -06:00
Florian 76b5e9269f Fix internal temperature reading on ESP32 (#1391)
The previous macro used SENS_SAR_MEAS_WAIT2_REG to identify if we have the reading capability was not working, so replacing it by a fresh one NO_INT_TEMP_READING, defined as a negation due to the fact that most of the ESP32 supports internal temperature reading.
2023-01-12 18:05:40 -06:00
Florian c1ea227501 Bump decoder to v1.0.0 (#1387)
* Bump decoder to v1.0.0

* Fix tempo disc model
2023-01-12 10:49:07 -06:00
Florian 4678783db5 Enable connection with encryption without certificate validation (#1386)
* Enable connection with encryption without certificate validation
* Add the cert validation for AWS env
2023-01-12 10:35:42 -06:00
Northern Man 9d6f7a0764 ssd1306 display of module messages (#1383)
* ssd1306 display of module messages

Supported Modules Include
- rtl_433
- bme280

* Switch to use convertTemp_CtoF
2023-01-11 20:31:12 -06:00
Florian c1cedcf333 Add ESP32 internal temperature measurement and automatic Actuator switch Off (#1384)
* Add automatic stop of relay following ESP32 temperature

To avoid overheating when too much current goes through the device.

Add internal temperature reporting to SYStoMQTT

This function is not available with ESP32 S3 and C3

* Temp update and error log

Update of the temperature to get closer to the datasheet of the ESP32 -40 +85C
and add the module name to the error log
2023-01-10 11:32:56 -06:00
Florian 31ffdf1e2b Add SHELLY PLUS 1 board with support of relay, switch, BT gateway (#1349)
So that you know, the overtemperature protection is not implemented in the firmware.
2023-01-10 07:18:59 -06:00
FlorianandNorthernMan54 16815f51da Add RTL_433 discovery with Home Assistant convention inspired from rtl_433_mqtt_hass.py (#1379)
This also changes the topic structure when using the macro valueAsATopic=true, it adds as sub-topics the `type, subtype, and channel` when they exist.
The id is the last subtopic to facilitate filtering, as it may change when replacing the batteries.

Co-authored-by: NorthernMan54 <19808920+NorthernMan54@users.noreply.github.com>
2023-01-07 20:34:43 -06:00
Northern Man 2e0d1708c3 Update to rtl_433_ESP 0.1.5 and support for LILYGO® LoRa32 V2.1_1.6.1 433 Mhz (#1371)
* Update to rtl_433_ESP 0.1.5

Includes support for LILYGO® LoRa32 V2.1_1.6.1 433 Mhz

* Fix lint issue

* Fix build and lint issues

* Add lilygo-rtl_433 to build.yml
2022-12-26 13:48:08 -06:00
Charles 5d3ea0d3ec Added tinypico RGB LED (#1370)
* Added tinypico RGB LED

* added fastled lib
2022-12-17 11:07:51 -06:00
Charles edb8d1a591 Added Thingpulse ESP32 gateways (#1369)
* added thingspulse gateways

* added thingspulse gateways, RGB  LED for tinypico

* Added some LED and Birghtness options

* Requested Changes

* fixed format
2022-12-16 21:38:13 -06:00
FlorianandFlorian 47108d8b58 Remove unnecessary macro (#1348)
This macro is not necessary to add per environment as it is present into com-esp as a global macro for all ESP, also modifying nodemcuv2-mqtt-fw-test env to test self signed only. Removing env:esp32dev-mqtt-fw-test as self signed cert are already tested into env:esp32dev-ble-aws.

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2022-12-07 11:25:23 -06:00
Florianandh2zero 8ee1c4e524 RN8209 energy sensor support with watt, voltage and current. (#1337)
Co-authored-by: h2zero <powellperalta@gmail.com>
2022-11-29 18:41:47 -06:00
Florian c98511ba36 Set the AP name with the short name plus the 4 first digits of the ESP mac (#1331)
so as to don't disclose the password used for WM.
Also change the wm password from MAc to be the last 8 digits, as these will change more than the first 8 ones.
Also make consistent the ifndef qnd the parsing between WM_PWD_FROM_MAC and USE_MAC_AS_GATEWAY_NAME
2022-11-28 20:06:36 -06:00
Florian 74a8698117 Bump Theengs Decoder to v0.9.7 (#1332) 2022-11-28 17:53:58 -06:00
Florian 2ada47c3bc Enable to set the WM pwd from the Mac (#1323)
So as to reinforce security for AP configuration access, enable to set the Wifi Manager Password from the 8 first digits of the ESP Mac address
2022-11-28 13:21:03 -06:00
David Furey ec96b72d96 Support LM75 temperature sensor (#1327)
* First draft of LM75 sensor based on HTU21 sensor

* Initialise I2C on ESP8266

* Add LM75 sensor to test builds

So that it will be tested with the continuous integration
2022-11-28 11:31:46 -06:00
Florian 33e162111a Add RGB Led management for errors, infos, and send receive events (#1320)
* Add RGB Led management for errors, infos, and send receive events

Add RGB led management for indicators, integrate it for M5 Atom and ESP32 C3 and S3 dev board
Update Fastled version to 3.5.0.

The default behavior is with regular LED, to use RGB Led the macro RGB_INDICATORS needs to be define, along with the FASTLED_IND_TYPE, FASTLED_IND_DATA_GPIO and FASTLED_IND_NUM_LEDS
Note that some RGB led need to have a different color scheme, so in this case it can be entered along with the data PIN definition: -DFASTLED_IND_DATA_GPIO=27,GRB

* Add FastLed library to the environments
2022-11-16 12:58:22 -06:00
h2zero 9d7086558b Update Arduino core and BLE/WiFiManager libs. (#1310)
* Update Arduino core and BLE/WiFiManager libs.

* Add esp32-s3 and esp32-c3 environments.

* Update build script to use matrix.

* Update release build.

* Fix WiFiManager crash

* Use espressif32 version 3.5.0 for standard ESP32.

* Resolves BLE scan_evt timeout issue with latest version (5.2.0).

* ESP32C3 and ESP32S3 Env's use espressif32 version 5.2.0.

* Update LED pins for C3/S3 environments.
2022-11-13 12:35:18 -06:00
Northern Man e8cb115602 Update to rtl_433_ESP v0.1.4 (#1316)
Minor tuning of rtl_433_ESP signal reception for CC1101 and sx127x
2022-11-10 06:19:59 -06:00
Florian 7837369993 Add Heltec board into the default env (#1300)
and list it in the web uploader
2022-10-23 16:10:59 -05:00
Florian 7f228647f0 Bump Theengs Decoder to v095 (#1298)
* Bump Theengs Decoder to v095

* IBT-4XC inclusion by @DigiH in #208
* ThermoPro TP359 by @DigiH in #210
* IBS-TH1 external probe differentiation by @DigiH in #211
* CGG1 firmware extension by @DigiH in #218
* Otio/BeeWi BSDOO by @DigiH in #214
2022-10-23 15:55:23 -05:00
Northern Man 8bc65d62dc Update of rtl_433_ESP to version 0.1.3 - Support for SX127X transceiver module (#1291)
The main features of the upgrade to 0.1.3 of rtl_433_ESP are

1 - Change Transceiver Library to RadioLib

2 - Add support for SX127X transceiver module ( I used the 433 Mhz version of this Heltec module for development ).

3 - Added automatic calibration of the RSSI Signal detection Threshold

4 - Removed dependency on loop for start and end of signal detection, and moved to a ESP32 Task

5 - Moved received signal decoding to a ESP32 Task

6 - Identified Blueline PowerCost Monitor decoder as source of significant memory overhead and disabled.

7 - Multi Receiver support has been validated with RF, RF2 and PiLight
2022-10-20 11:14:45 -05:00
Northern Man c45181ef7e Heltec SSD1306 Display Support (#1283)
My environment

[env:heltec-display]   ; Heltec ESP32 Board with SSD1306 display
platform = ${com.esp32_platform}
board = heltec_wifi_lora_32_V2
build_type = debug
monitor_filters = esp32_exception_decoder
board_build.partitions = min_spiffs.csv
extra_scripts = pre:scripts/omg_firmware_version.py
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.wifimanager32}
  ${libraries.heltec}
;  ${libraries.m5stickcp}

build_flags =
  ${com-esp.build_flags}
  ${test_env.build_flags}
; *** OpenMQTTGateway Config ***
  '-UZmqttDiscovery'          ; disables MQTT Discovery
  '-DvalueAsATopic=true'
  '-DLOG_LEVEL=LOG_LEVEL_TRACE'
; *** OpenMQTTGateway Modules ***
  '-DZboardHELTEC="HELTEC"'
; *** Heltec Board Options ***
  '-DDEBUG_OLEDDISPLAY(...)=Serial.printf( __VA_ARGS__ )'
  '-DLOG_TO_LCD=true'         ; Enable log to LCD
  '-DLED_ERROR=2'
  '-DONBOARD_LED=25'          ; Onboard LED is GPIO 25 on the Heltec Board

monitor_port = /dev/cu.SLAB_USBtoUART
monitor_speed = 921600
upload_port = /dev/cu.SLAB_USBtoUART
upload_speed = 921600

1 - Set default LCD log level to WARNING
2 - Implemented a macro based displayPrint function that will be usable across different displays

- Added logo display when idle
- Fixed log-lcd mqtt function
- Enable OLED Display on Heltec Boards
2022-10-13 21:17:25 -05:00
Florian bf38bb52f6 Remove HM10 support (#1282)
Removing HM10 support as announced in the forum
2022-10-10 20:34:12 -05:00
Florian aea3ac2577 Bump decoder to v0.9.0 (#1280)
* Bump decoder to v0.9.0

* Add parameters update
2022-10-10 13:54:19 -05:00
Florian cd91f6d66b Revert DHT library version (#1276)
due to Failed to read from DHT sensor error
2022-10-05 17:05:09 -05:00
Florian b323f25fda Bump Theengs Decoder (#1262)
to 0.8.0
2022-09-03 18:52:41 -05:00
DigiH b16fbcbef2 valueAsASubject to valueAsATopic inconsistency fix (#1260) 2022-09-03 18:51:52 -05:00
Bad 312ef858c1 Modify new BT config using MQTT (#1259)
* Move BTConfig_default to ZgatewayBT.ino as BTConfig_init()

* Remove unused function declaration & typo

* Move bleconnect outside of ifdef ESP32

* Add new parameters to json payload on MQTTtoBT/config
And move them to function BTConfig_fromJson()

new parameters: [presenceEnable, presenceTopic, presenceUseBeaconUuid, extDecoderEnable,
extDecoderTopic, filterConnectable, pubKnownServiceData,
pubUnknownServiceData, pubKnownManufData, pubUnknownManufData,
pubServiceDataUUID, pubBeaconUuidForTopic]

* Add ignoreWBlist as new configuration parameter

* Keep hasspresence keyword (do not use presenceEnable)

* Documentation

* Typos & Optimizations arround RemoveJsonPropertyIf

* Template for BT config update

* Ensure BTConfig.minRssi sign does not matter

* Report configuration change on topic /commands/BTtoMQTT/config

# Conflicts:
#	main/ZgatewayBT.ino

* Add BT config bool commands (init, load, erase & save) to persist config parameters

* Documentation

* Fix pre-compilation issue

* Fix Code Format

* Use Preference only for ESP32

* Update Doc
2022-09-03 15:08:07 -05:00
BadandFlorian 9120d06932 Mutate relevant compilation variables into config (#1256)
* Move minRssi in config_BT.h
Move var definitions next to compilation var definitions

* Introduce UseExtDecoder when is def MQTTDecodeTopic
Replace #ifdef MQTTDecodeTopic by #if UseExtDecoder

* Rename AttemptBLECOnnect to AttemptBLEConnect

* Create a struct (BTConfig_s) for BT configuration data
Create a default config for BTConfig_s (BTConfig_default) based on defines
Create a global variable (BTConfig) to hold live BT configuration data and initialize it
Move bleConnect to BTConfig

* Move BLEscanBeforeConnect in BTConfig

* Move BLEinterval in BTConfig

* Move PublishOnlySensors in BTConfig

* Move hassPresence in BTConfig

* Move minRssi into BTConfig

* Introduce presenceTopic into BTConfig

* Move MQTTDecodeTopic as extDecoderTopic into BTConfig

* Mutate UseExtDecoder as runtime var BTConfig.extDecoderTopic

* Remove ServicedataMinLength (unused)
Always declare AttemptBLEConnect & BLE_FILTER_CONNECTABLE

* Mutate BLE_FILTER_CONNECTABLE as runtime parameter BTConfig.filterConnectable

* Mutate pubKnownBLEServiceData as runtime var in BTConfig
Mutate pubUnknownBLEServiceData as runtime var in BTConfig
Mutate pubBLEManufacturerData as runtime var in BTConfig
Mutate pubUnknownBLEManufacturerData as runtime var in BTConfig
Mutate pubBLEServiceUUID as runtime var in BTConfig

* Mutate useBeaconUuidForTopic as runtime var in BTConfig
Mutate useBeaconUuidForPresence as runtime var in BTConfig

* Small optimization

* Formatting of config_BT

Co-authored-by: Florian <1technophile@users.noreply.github.com>
2022-08-20 14:28:25 -05:00
FlorianandDigiH 63e3dd9530 Add OpenHAB3 tutorial and BLE binary (#1254)
* Add OpenHAB3 tutorial and BLE binary

* Small text changes

Just a few small text changes, also writing out OMG as OpenMQTTGateway, probably clearer for new to OMG users.

Co-authored-by: DigiH <github@digih.net>
2022-08-13 08:57:08 -05:00
FlorianandDigiH fbab2427e4 Bump Theengs Decoder to v0.6.2 (#1248)
* Bump Theengs Decoder to v0.6.1

* Differentiate a FASTLed environment

* remove BT from the nodemcuv2-all-test env as it is already tested into nodemcuv2-ble

* Decoder 0.6.2

Co-authored-by: DigiH <github@digih.net>
2022-07-29 13:04:04 -05:00
DigiH 3088d800e0 undecoded env renaming (#1247)
environment/binary build env:esp32dev-ble-mqtt-decode renamed to esp32dev-ble-mqtt-undecoded for clarification
2022-07-24 03:25:37 +02:00
DigiH c4300a002f MQTT-MAC-IP-mDNS (#1245) 2022-07-19 12:10:51 -05:00
DigiH c04c62916f ble-datatest-environment (#1235) 2022-07-15 04:37:04 -05:00