193 lines
6.8 KiB
ReStructuredText
193 lines
6.8 KiB
ReStructuredText
Mopeka Pro Check BLE Sensor
|
|
===========================
|
|
|
|
.. seo::
|
|
:description: Instructions for setting up Mopeka Pro Check or Lippert Propane Tank bluetooth-based sensors in ESPHome.
|
|
:image: mopeka_pro_check.jpg
|
|
:keywords: Mopeka, Mopeka Pro Check, Mopeka Pro Plus, Mopeka Pro Universal, Lippert, Lippert Propane, Lippert Propane Sensor, Lippert Propane Tank Sensor, BLE, Bluetooth
|
|
|
|
The ``mopeka_pro_check`` sensor platform lets you track the output of Mopeka Pro
|
|
Check LP, Mopeka Pro Plus, Mopeka Pro Universal or Lippert Propane Tank Sensors, Bluetooth Low
|
|
Energy devices using the :doc:`/components/esp32_ble_tracker`. This component
|
|
will track the tank level, distance, temperature, battery percentage, and sensor reading quality of a
|
|
device every time the sensor sends out a BLE broadcast. There are additional configuration options
|
|
to control handling of poor quality readings and reporting reading quality issues.
|
|
|
|
.. warning::
|
|
|
|
This sensor component only supports the following sensors:
|
|
+ Mopeka Pro Check devices
|
|
+ Mopeka Pro Plus devices
|
|
+ Mopeka Pro Check Universal Sensor
|
|
+ Lippert Propane Tank Sensor, part number 2021130655
|
|
|
|
Sensors are calibrated for propane only.
|
|
|
|
See :doc:`/components/sensor/mopeka_std_check` for original Mopeka Check sensors support.
|
|
|
|
.. figure:: images/mopeka_pro_check.jpg
|
|
:align: center
|
|
|
|
Mopeka Pro Check LP over BLE.
|
|
|
|
.. figure:: images/mopeka_pro_check_lippert.jpg
|
|
:align: center
|
|
|
|
Lippert™ Propane Tank Sensor
|
|
|
|
The original Mopeka Check sensors are not supported.
|
|
|
|
Mopeka Pro Check LP over BLE:
|
|
-----------------------------
|
|
|
|
.. code-block:: yaml
|
|
|
|
esp32_ble_tracker:
|
|
|
|
sensor:
|
|
# Example using 20lb vertical propane tank.
|
|
- platform: mopeka_pro_check
|
|
mac_address: XX:XX:XX:XX:XX:XX
|
|
tank_type: 20LB_V
|
|
temperature:
|
|
name: "Propane test temp"
|
|
level:
|
|
name: "Propane test level"
|
|
distance:
|
|
name: "Propane test distance"
|
|
battery_level:
|
|
name: "Propane test battery level"
|
|
signal_quality:
|
|
name: "Propane test read quality"
|
|
ignored_reads:
|
|
name: "Propane test ignored reads"
|
|
# Report sensor distance/level data for all equal or greater than
|
|
minimum_signal_quality: "LOW"
|
|
|
|
# Custom example - user defined empty / full points
|
|
- platform: mopeka_pro_check
|
|
mac_address: XX:XX:XX:XX:XX:XX
|
|
tank_type: CUSTOM
|
|
custom_distance_full: 40cm
|
|
custom_distance_empty: 10mm
|
|
temperature:
|
|
name: "Propane c test temp"
|
|
level:
|
|
name: "Propane c test level"
|
|
distance:
|
|
name: "Propane c test distance"
|
|
battery_level:
|
|
name: "Propane c test battery level"
|
|
|
|
|
|
Configuration variables:
|
|
------------------------
|
|
|
|
- **mac_address** (**Required**, MAC Address): The MAC address of the Mopeka/Lippert
|
|
device.
|
|
|
|
- **tank_type** (**Required**): The tank type the sensor is measuring. See below.
|
|
|
|
- **custom_distance_full** (*Optional*): distance sensor will read when it should be
|
|
considered full (100%). This is only used when tank_type = CUSTOM
|
|
|
|
- **custom_distance_empty** (*Optional*): distance sensor will read when it should be
|
|
considered empty (0%). This is only used when tank_type = CUSTOM
|
|
|
|
- **level** (*Optional*): The percentage of full for the tank sensor. If
|
|
read is ignored due to quality this sensor will not be updated.
|
|
|
|
- All options from :ref:`Sensor <config-sensor>`.
|
|
|
|
- **distance** (*Optional*): The raw distance/depth of the liquid for the sensor in mm.
|
|
If read is ignored due to quality this sensor will not be updated.
|
|
|
|
- All options from :ref:`Sensor <config-sensor>`.
|
|
|
|
- **temperature** (*Optional*): The information for the temperature sensor.
|
|
This temperature is on the sensor and is not calibrated to ambient temperature.
|
|
|
|
- All options from :ref:`Sensor <config-sensor>`.
|
|
|
|
- **battery_level** (*Optional*): The information for the battery percentage
|
|
sensor. Sensor uses a standard CR2032 battery.
|
|
|
|
- All options from :ref:`Sensor <config-sensor>`.
|
|
|
|
- **signal_quality** (*Optional*): The information for the read quality
|
|
sensor.
|
|
|
|
- All options from :ref:`Sensor <config-sensor>`.
|
|
|
|
- **ignored_reads** (*Optional*): A diagnostic sensor indicating the number
|
|
of consecutive ignored reads. This resets to zero each time the read is
|
|
equal or greater than the configured ignored quality. Only the distance
|
|
and level sensors are not reported.
|
|
|
|
- All options from :ref:`Sensor <config-sensor>`.
|
|
|
|
- **minimum_signal_quality** (*Optional*): Each report from the sensor
|
|
indicates the quality or confidence in the distance the sensor calculated. Physical
|
|
sensor placement, tank material or quality, or other factors can influence the
|
|
sensors ability to read with confidence. As quality gets lower, the accuracy of the
|
|
distance reading may not align with expectations. This value allows configuration of
|
|
the minimum quality level that the distance should be evaluated/reported.
|
|
Acceptable Values:
|
|
|
|
- "HIGH": High Quality
|
|
- "MEDIUM": Medium Quality (default value)
|
|
- "LOW": Low Quality
|
|
- "ZERO": Zero Quality
|
|
|
|
Tank Types
|
|
----------
|
|
|
|
Currently supported Tank types are:
|
|
|
|
- ``20LB_V`` - 20 LB vertical tank
|
|
- ``30LB_V`` - 30 LB vertical tank
|
|
- ``40LB_V`` - 40 LB vertical tank
|
|
- ``EUROPE_6KG`` - 6kg vertical tank
|
|
- ``EUROPE_11KG`` - 11kg vertical tank
|
|
- ``EUROPE_14KG`` - 14kg vertical tank
|
|
- ``CUSTOM`` - Allows you to define your own full and empty points
|
|
|
|
Setting Up Devices
|
|
------------------
|
|
|
|
To set up the sensor devices you first need to find the MAC Address so that
|
|
ESPHome can identify it. First, create a simple configuration with the ``esp32_ble_tracker``
|
|
and the ``mopeka_ble`` component like so:
|
|
|
|
.. code-block:: yaml
|
|
|
|
esp32_ble_tracker:
|
|
|
|
mopeka_ble:
|
|
|
|
After uploading, the ESP32 will immediately try to scan for BLE devices. Press and hold the sync button for it to be identified.
|
|
Or alternatively set the configuration flag ``show_sensors_without_sync: true`` to see all devices.
|
|
For all sensors found the ``mopeka_ble`` component will print a message like this one:
|
|
|
|
.. code::
|
|
|
|
[20:43:26][I][mopeka_ble:074]: MOPEKA PRO (NRF52) SENSOR FOUND: XX:XX:XX:XX:XX:XX
|
|
|
|
Then just copy the address (``XX:XX:XX:XX:XX:XX``) into a new
|
|
``sensor.mopeka_pro_check`` platform entry like in the configuration example at the top.
|
|
|
|
.. note::
|
|
|
|
The ESPHome Mopeka Pro Check BLE component listens passively to packets the Mopeka/Lippert device sends by itself.
|
|
ESPHome therefore has no impact on the battery life of the device.
|
|
|
|
See Also
|
|
--------
|
|
|
|
- :doc:`/components/esp32_ble_tracker`
|
|
- :doc:`/components/sensor/index`
|
|
- :apiref:`mopeka_pro_check/mopeka_pro_check.h`
|
|
- `Mopeka <https://www.mopekaiot.com/shop>`
|
|
- `Lippert <https://store.lci1.com/lippert-propane-tank-sensor-2021130655>`__
|
|
- :ghedit:`Edit`
|