Go to file
Mathias fc8039d960
Adding support for ME007-ULS narrow FoV ultrasonic distance sensor (#17376)
* Squashed commit of the following:

commit 1441459a47cff0a43aa61ce47510585ee03649f3
Merge: a9fcbd342 7e27945e5
Author: Mathias Buder <mathias_buder@bose.com>
Date:   Tue Dec 13 09:00:06 2022 +0100

    Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor

commit a9fcbd3428445eb914816f608e064568d16b41e9
Merge: 7bb1049f5 d83119897
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Dec 12 10:33:06 2022 +0100

    Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor

commit 7bb1049f51da8d064462b9499ed479a7675b368e
Merge: 83a5afa7a eee86f01a
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Fri Dec 9 09:30:29 2022 +0100

    Merge remote-tracking branch 'github/development' into me007-narrow-fov-ultrasonic-sensor

commit 83a5afa7ad27fcde1e67008e41a9bfd9c680cccd
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 8 14:47:13 2022 +0100

    [ME007] Added driver version number to MQTT message, small delay between consecutive measurement

commit 9b8667843154f02a23020e655d806ed76ae2e530
Merge: 39180f345 de408921e
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 8 10:12:45 2022 +0100

    Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor

commit 39180f3451fce5f06504195faea0124d73dac1ee
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Wed Dec 7 16:41:26 2022 +0100

    [ME007] Added median filter

commit 01b68e0e6ca147ac03b63b8c71d035563e3bf13b
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Dec 5 23:08:57 2022 +0100

    [ME007] Simplified state maschine within me007_measure()

commit 1c74c6ed3e4097f09792a48420b2016c92e10353
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Dec 5 22:21:16 2022 +0100

    [ME007] Fixed issues from previous pull-request

commit 25b667120fd8d70fcfed36de44f1b7a17d0686be
Merge: 01e0b1809 e7d40b8d1
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Dec 5 10:46:25 2022 +0100

    Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor

    # Conflicts:
    #	tasmota/include/tasmota_template.h

commit 01e0b18096bfffc67673e25152114694caaf110a
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Sun Dec 4 20:53:39 2022 +0100

    [ME007] Minor changes

commit ec00c9b85d223b78586c464bb92d1c7894357a40
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Fri Dec 2 13:08:06 2022 +0100

    [ME007] Added some measurement error statistics

commit c5cf65f82c42195752a88fd1553c74ab68c39cb2
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 22:38:07 2022 +0100

    [ME007] Fixed MQTT message

commit ae07d8dd77db47e20578f655ec057a63b30e65ce
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 21:56:20 2022 +0100

    [ME007] Minor code refactoring

commit d2b43ca70c716e1b637b9efd3b536506233e5365
Merge: 292f5f6c8 816fd78fb
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 16:48:38 2022 +0100

    Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor

commit 292f5f6c81f1659eb225271cdd025eb77da02c6f
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 16:47:03 2022 +0100

    [ME007] Added logic to detect sensor at boot and during runtime

commit f17af404fee76bf63b30ed3c9d2175c4e01c03ca
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 12:32:19 2022 +0100

    [ME007] Added missing define into language files

commit 7a271abeca36139a43ef96bd461d46ba0c662901
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 12:19:23 2022 +0100

    [ME007] Improved snesor measuremnt function

commit fe42ebd1124e2246e4d7afd63c905c251e084b27
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 00:43:13 2022 +0100

    [ME007] Updated state maschine to trigger and receive sensor measurements

commit d137e6dec5104b4716428849d99c68bbf407ab42
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Wed Nov 30 20:35:31 2022 +0100

    [ME007] Added initial state maschine to trigger and receive sensor measurements

commit fc3da7b36849df162d9d5496a763ab2beb096aff
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Tue Nov 29 21:28:28 2022 +0100

    [ME007] Updated pin name

commit e9fa9fb771cf15dcd9ed8b63b9194154543ef10e
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Nov 28 22:02:34 2022 +0100

    [ME007] Fixed issue that sensor GPIOs not shown in drop-down list

commit a13e42660183eb4ab91007ca0ea6bf1544687556
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Nov 28 15:06:34 2022 +0100

    [ME007] Added sensor into supported feature list

commit dec17b59ce2905124386f8c90d81656bf104c844
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Nov 28 15:01:58 2022 +0100

    [ME007] Removed log message in Xsns23()

commit 11f479d2ec9d3f4e7552c2f78cdc83914c5b8b94
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Nov 28 10:47:55 2022 +0100

    [ME007] Added GPIOs to tasmota_template_legacy.h and berry

commit 23aec8e5ff4e9fb8ef7d3b01a707641accc1e01e
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Sun Nov 27 20:10:53 2022 +0100

    [ME007] Initial ME007 driver API setup

* [ME007] Reverted change in .gitignore and platform.ini

* [ME007] Removed dependency to stdlib.h

* [ME007] Adjusted unit to cm

* [ME007] Reverted change in tasmota_template_legacy.h

* [ME007] Changed sensor message tag to three characters

* [ME007] Disabled sensor in my_user_config.h

* [ME007] Added driver code size into commente

Co-authored-by: Mathias Buder <mathias_buder@bose.com>
2022-12-14 11:52:26 +01:00
.github CI: Delay start of Linux builds (#17316) 2022-12-08 20:24:48 +01:00
api Create upload-tasmota.php 2022-12-13 14:56:46 +01:00
boards increase clock 2022-11-12 14:04:47 +01:00
include Bump version to v11.1.0.4 2022-06-02 14:17:39 +02:00
info Add mesh de-init, a few comments 2022-04-12 09:58:42 -04:00
lib MQTT now uses Tasmota's DNS resolver instead of LWIP (#17387) 2022-12-13 21:46:20 +01:00
partitions move partitions.json in folder 2022-05-14 19:13:09 +02:00
pio-tools add option to gz esp32 firmware files (#17379) 2022-12-13 16:40:48 +01:00
tasmota Adding support for ME007-ULS narrow FoV ultrasonic distance sensor (#17376) 2022-12-14 11:52:26 +01:00
tools Adding support for ME007-ULS narrow FoV ultrasonic distance sensor (#17376) 2022-12-14 11:52:26 +01:00
.gitattributes Berry syntax is now native in Github 2022-04-04 17:21:30 +02:00
.gitignore Change espupload from curl to requests 2022-12-13 14:54:20 +01:00
.gitpod.Dockerfile Install Platformio not in Gitpod Image 2022-06-19 13:40:29 +02:00
.gitpod.yml rm deprecated colorizer 2022-08-06 10:12:52 +02:00
API.md Update API.md 2022-11-11 12:10:10 +01:00
BUILDS.md Update changelogs 2022-12-10 17:16:42 +01:00
CHANGELOG.md Update changelogs 2022-12-14 11:31:25 +01:00
CODE_OF_CONDUCT.md https://www.contributor-covenant.org/version/2/0/code_of_conduct/code_of_conduct.md 2020-10-06 21:53:42 -04:00
CODE_OWNERS.md Update credits 2022-12-10 16:55:04 +01:00
CONTRIBUTING.md Update contributing doc to point to development branch. 2020-12-28 15:29:26 -08:00
Doxyfile Release 7.1 2019-11-13 11:46:56 +01:00
FIRMWARE.md Prep release v12.2 2022-10-17 10:34:48 +02:00
I2CDEVICES.md Support for I2C device HMC5883L (3-axis magnetic sensor) 2022-11-14 20:20:04 +01:00
LICENSE.txt v5.1.0 2017-05-13 13:02:10 +02:00
MODULES.md Update credits 2022-12-10 16:55:04 +01:00
platformio_override_sample.ini Update platformio_override_sample.ini 2022-12-13 15:02:01 +01:00
platformio_tasmota32.ini esptool v4.4 / Platform versioning change 2022-11-23 22:26:58 +01:00
platformio_tasmota_cenv_sample.ini Merge branch 'development' into boards_refac 2022-10-18 17:52:17 +02:00
platformio_tasmota_env32.ini fix [env:tasmota32s3] 2022-10-17 16:15:27 +02:00
platformio_tasmota_env.ini Fix catalan workflows 2022-08-07 11:33:32 +02:00
platformio.ini add option to gz esp32 firmware files (#17379) 2022-12-13 16:40:48 +01:00
README.md Revert "DIO as default for ESP82xx" 2022-11-09 11:57:34 +01:00
RELEASENOTES.md Update changelogs 2022-12-14 11:31:25 +01:00
SECURITY.md Update SECURITY.md 2021-09-20 16:07:40 +02:00
TEMPLATES-PRE9.md Add v9 templates 2020-11-21 12:27:11 +01:00
TEMPLATES.md Update credits 2022-12-10 16:55:04 +01:00

Tasmota logo

Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Written for PlatformIO.

GitHub version GitHub download License Chat Gitpod Ready-to-Code


In light of current events we like to support the people behind PlatformIO Project, especially Ivan Kravets, and wish them the strength to help stop the war. See platformio-is-ukrainian-project-please-help-us-stop-the-war for what you can do.


Easy install

Easy initial installation of Tasmota can be performed using the Tasmota WebInstaller.

If you like Tasmota, give it a star, or fork it and contribute!

GitHub stars GitHub forks donate

See RELEASENOTES.md for release information.

Firmware binaries can be downloaded from http://ota.tasmota.com/tasmota/release/ or http://ota.tasmota.com/tasmota32/release/ for ESP32 binaries.

Development

Dev Version Download Dev Tasmota CI Build_development

See CHANGELOG.md for detailed change information.

Unless your Tasmota powered device exhibits a problem or lacks a feature that you need, leave your device alone - it works so dont make unnecessary changes! If the release version (i.e., the master branch) exhibits unexpected behaviour for your device and configuration, you should upgrade to the latest development version instead to see if your problem is resolved as some bugs in previous releases or development builds may already have been resolved.

Every commit made to the development branch, which is compiling successfuly, will post new binary files at http://ota.tasmota.com/tasmota/ (this web address can be used for OTA updates too). It is important to note that these binaries are based on the current development codebase. These commits are tested as much as is possible and are typically quite stable. However, it is infeasible to test on the hundreds of different types of devices with all the available configuration options permitted.

Note that there is a chance, as with any upgrade, that the device may not function as expected. You must always account for the possibility that you may need to flash the device via the serial programming interface if the OTA upgrade fails. Even with the master release, you should always attempt to test the device or a similar prototype before upgrading a device which is in production or is hard to reach. And, as always, make a backup of the device configuration before beginning any firmware update.

Disclaimer

st⚠️ DANGER OF ELECTROCUTION ⚠️

If your device connects to mains electricity (AC power) there is danger of electrocution if not installed properly. If you don't know how to install it, please call an electrician (Beware: certain countries prohibit installation without a licensed electrician present). Remember: SAFETY FIRST. It is not worth the risk to yourself, your family and your home if you don't know exactly what you are doing. Never tinker or try to flash a device using the serial programming interface while it is connected to MAINS ELECTRICITY (AC power).

We don't take any responsibility nor liability for using this software nor for the installation or any tips, advice, videos, etc. given by any member of this site or any related site.

Note

Please do not ask to add new devices unless it requires additional code for new features. If the device is not listed as a module, try using Templates first. If it is not listed in the Tasmota Device Templates Repository create your own Template.

Quick Install

Download one of the released binaries from http://ota.tasmota.com/tasmota/release/ or http://ota.tasmota.com/tasmota32/release/ and flash it to your hardware using our installation guide.

Important User Compilation Information

If you want to compile Tasmota yourself keep in mind the following:

  • For ESP8285 based devices only Flash Mode DOUT is supported. Do not use Flash Mode DIO / QIO / QOUT as it might seem to brick your device.
  • For ESP8285 based devices Tasmota uses a 1M linker script WITHOUT spiffs 1M (no SPIFFS) for optimal code space.
  • To make compile time changes to Tasmota use the user_config_override.h file. It assures keeping your custom settings when you download and compile a new version. You have to make a copy from the provided user_config_override_sample.h file and add your setting overrides.

Configuration Information

Please refer to the installation and configuration articles in our documentation.

Migration Information

See migration path for instructions how to migrate to a major version.

Do not upgrade from minimal to minimal version. It will most likely fail at some point and will require flashing via serial. If you do have to use minimal versions, always OTA to a full version of the same release before applying next minimal version.

Pay attention to the following version breaks due to dynamic settings updates:

  1. Migrate to Sonoff-Tasmota 3.9.x
  2. Migrate to Sonoff-Tasmota 4.x
  3. Migrate to Sonoff-Tasmota 5.14
  4. Migrate to Sonoff-Tasmota 6.7.1 (http://ota.tasmota.com/tasmota/release_6.7.1/sonoff.bin) - NOTICE underscore as a dash is not supported in older versions
  5. Migrate to Tasmota 7.2.0 (http://ota.tasmota.com/tasmota/release-7.2.0/tasmota.bin)

--- Major change in parameter storage layout ---

  1. Migrate to Tasmota 8.5.1 (http://ota.tasmota.com/tasmota/release-8.5.1/tasmota.bin)

--- Major change in internal GPIO function representation ---

  1. Migrate to Tasmota 9.1 (http://ota.tasmota.com/tasmota/release-9.1.0/tasmota.bin.gz)
  2. Upgrade to latest release (http://ota.tasmota.com/tasmota/release/tasmota.bin.gz)

While fallback or downgrading is common practice it was never supported due to Settings additions or changes in newer releases. Starting with release v9.1.0 Imogen the internal GPIO function representation has changed in such a way that fallback is only possible to the latest GPIO configuration before installing v9.1.0.

Support Information

For a database of supported devices see Tasmota Device Templates Repository

If you're looking for support on Tasmota there are some options available:

Documentation

Support's Community

  • Tasmota Discussions: For Tasmota usage questions, Feature Requests and Projects.
  • Tasmota Users Chat: For support, troubleshooting and general questions. You have better chances to get fast answers from members of the Tasmota Community.
  • Search in Issues: You might find an answer to your question by searching current or closed issues.
  • Software Problem Report: For reporting problems of Tasmota Software.

Contribute

You can contribute to Tasmota by

  • Providing Pull Requests (Features, Proof of Concepts, Language files or Fixes)
  • Testing new released features and report issues
  • Donating to acquire hardware for testing and implementing or out of gratitude
  • Contributing missing documentation for features and devices

donate

Credits

People helping to keep the show on the road:

  • Sfromis providing extensive user support
  • Barbudor providing user support and code fixes and additions
  • David Lang providing initial issue resolution and code optimizations
  • Heiko Krupp for his IRSend, HTU21, SI70xx and Wemo/Hue emulation drivers
  • Wiktor Schmidt for Travis CI implementation
  • Thom Dietrich for PlatformIO optimizations
  • Marinus van den Broek for his EspEasy groundwork
  • Pete Ba for more user friendly energy monitor calibration
  • Lobradov providing compile optimization tips
  • Flexiti for his initial timer implementation
  • reloxx13 for his TasmoAdmin management tool
  • Joachim Banzhaf for his TSL2561 library and driver
  • Andre Thomas for providing many drivers
  • Gijs Noorlander for his MHZ19, SenseAir and updated PubSubClient drivers
  • Erik Montnemery for his HomeAssistant Discovery concept and many code tuning tips
  • Federico Leoni for continued HomeAssistant Discovery support
  • Aidan Mountford for his HSB support
  • Daniel Ztolnai for his Serial Bridge implementation
  • Gerhard Mutz for multiple sensor & display drivers, Sunrise/Sunset, and scripting
  • Nuno Ferreira for his HC-SR04 driver
  • Adrian Scillato for his (security)fixes and implementing and maintaining KNX
  • Gennaro Tortone for implementing and maintaining Eastron drivers
  • Raymond Mouthaan for managing Wemos Wiki information
  • Norbert Richter for his decode-config.py tool
  • Joel Stein, digiblur and Shantur Rathore for their Tuya research and driver
  • Frogmore42 for providing many issue answers
  • Jason2866 for platformio support and providing many issue answers
  • Blakadder for managing the document site and providing template management
  • Stephan Hadinger for refactoring light driver, enhancing HueEmulation, LVGL, Zigbee and Berry support
  • tmo for designing the official Tasmota logo
  • Stefan Bode for his Shutter and Deep sleep drivers
  • Jacek Ziółkowski for his TDM management tool and Tasmotizer flashing tool
  • Christian Staars for NRF24L01 and HM-10 Bluetooth sensor support
  • Paul Diem for UDP Group communication support
  • Jörg Schüler-Maroldt for his initial ESP32 port
  • Javier Arigita for his thermostat driver
  • Simon Hailes for ESP32 Bluetooth extensions
  • Many more providing Tips, Wips, Pocs, PRs and Donations

License

This program is licensed under GPL-3.0