RuuviTag Open Source BLE Sensor¶
ruuvitag sensor platform lets you track the output of RuuviTag
Bluetooth Low Energy devices using the ESP32 Bluetooth Low Energy Tracker Hub.
This component will track the temperature, humidity, acceleration and battery
voltage of a RuuviTag device with RAWv1 protocol every time the sensor sends
out a BLE broadcast. RAWv2 protocol is supported too. Then tx power,
movement count and measurement sequence number are also tracked.
# Example configuration entry esp32_ble_tracker: sensor: - platform: ruuvitag mac_address: FF:56:D3:2F:7D:E8 humidity: name: "RuuviTag Humidity" temperature: name: "RuuviTag Temperature" pressure: name: "RuuviTag Pressure" acceleration: name: "RuuviTag Acceleration" acceleration_x: name: "RuuviTag Acceleration X" acceleration_y: name: "RuuviTag Acceleration Y" acceleration_z: name: "RuuviTag Acceleration Z" battery_voltage: name: "RuuviTag Battery Voltage" tx_power: name: "RuuviTag TX Power" movement_counter: name: "RuuviTag Movement Counter" measurement_sequence_number: name: "RuuviTag Measurement Sequence Number"
mac_address (Required, MAC Address): The MAC address of the RuuviTag device.
humidity (Optional): The information for the humidity sensor
temperature (Optional): The information for the temperature sensor.
pressure (Optional): The information for the pressure sensor.
acceleration (Optional): The information for the acceleration sensor.
acceleration_x (Optional): The information for the acceleration x sensor.
acceleration_y (Optional): The information for the acceleration y sensor.
acceleration_z (Optional): The information for the acceleration z sensor.
battery_voltage (Optional): The information for the battery voltage sensor.
tx_power (Optional): The information for the transmit power sensor
movement_count (Optional): The information for the movement count sensor
measurement_sequence_number (Optional): The information for the measurment sequence number sensor
Setting Up Devices¶
To set up RuuviTag devices you first need to find their MAC Address so that
ESPHome can identify them. So first, create a simple configuration without any
ruuvitag entries like so:
After uploading the ESP32 will immediately try to scan for BLE devices. When it detects these sensors, it will automatically parse the BLE message print a message like this one:
Got ruuvi RuuviTag (FF:56:D3:2F:7D:E8): Humidity: 67.5%, Temperature: 22.97°C, Pressure: 977.09hPa, Acceleration X: 0.005G, Acceleration Y: 0.017G, Acceleration Z: 1.066G, Battery Voltage: 3.223V
Then just copy the address (
FF:56:D3:2F:7D:E8) into a new
sensor.ruuvitag platform entry like in the configuration example at the top.
The ESPHome Ruuvi BLE integration listens passively to packets the RuuviTag device sends by itself. ESPHome therefore has no impact on the battery life of the device.