openHAB - Barometer Bricklet 2.0

Warning

The openHAB bindings are still in beta, but the development was stopped.

This is the description of the openHAB API bindings for the Barometer Bricklet 2.0. General information and technical specifications for the Barometer Bricklet 2.0 are summarized in its hardware description.

An installation guide for the openHAB API bindings is part of their general description.

Thing

UID:
  • tinkerforge:brickletbarometerv2:[UID]
Required firmware version:
  • 2.0.0
Firmware update supported:
  • yes
Channels:
Actions:
Parameters:
  • Air Pressure Moving Average Length – Type: integer, Default: 100, Min: 1, Max: 1000
  • The length of a moving averaging for the air pressure.

  • Temperature Moving Average Length – Type: integer, Default: 100, Min: 1, Max: 1000
  • The length of a moving averaging for the temperature.

  • Reference Air Pressure – Type: decimal, Default: 1013.25, Min: 260, Max: 1260
  • The reference air pressure in hPa for the altitude calculation. Setting the reference to the current air pressure results in a calculated altitude of 0 m.

  • Data Rate – Type: Choice, Default: 50Hz
  • Configures the data rate. A higher data rate will result in a less precise temperature because of self-heating of the sensor. If the accuracy of the temperature reading is important to you, we would recommend the 1Hz data rate.
  • Options: Off, 1Hz, 10Hz, 25Hz, 50Hz, 75Hz

  • Air Pressure Low Pass Filter – Type: Choice, Default: 1/9th
  • Configures the air pressure low pass filter. The low pass filter cut-off frequency (if enabled) can be set to 1/9th or 1/20th of the configure data rate to decrease the noise on the air pressure data.
  • Options: Off, 1/9th, 1/20th

  • Status LED Configuration – Type: Choice, Default: Show Status
  • The status LED configuration. By default the LED shows communication traffic between Brick and Bricklet, it flickers once for every 10 received data packets. You can also turn the LED permanently on/off or show a heartbeat. If the Bricklet is in bootloader mode, the LED is will show heartbeat by default.
  • Options: Off, On, Show Heartbeat, Show Status

Channels

Air Pressure

The measured air pressure

Type:
  • Number:Pressure
UID:
  • tinkerforge:brickletbarometerv2:[UID]:BrickletBarometerV2AirPressure
Read only:
  • Yes
Unit:
  • Bar
Range:
  • 0.26 Bar to 1.26 Bar (Step 1e-06 Bar)
Parameters:
  • Update Interval – Type: integer, Default: 1000, Unit: ms, Min: 0, Max: 4294967295
  • Specifies the update interval in milliseconds. A value of 0 disables automatic updates.
Altitude

The relative altitude. The value is calculated based on the difference between the current air pressure and the reference air pressure.

Type:
  • Number:Length
UID:
  • tinkerforge:brickletbarometerv2:[UID]:BrickletBarometerV2Altitude
Read only:
  • Yes
Unit:
  • Meter
Parameters:
  • Update Interval – Type: integer, Default: 1000, Unit: ms, Min: 0, Max: 4294967295
  • Specifies the update interval in milliseconds. A value of 0 disables automatic updates.
Temperature

The measured temperature

Type:
  • Number:Temperature
UID:
  • tinkerforge:brickletbarometerv2:[UID]:BrickletBarometerV2Temperature
Read only:
  • Yes
Unit:
  • Celsius
Range:
  • -40 Celsius to 85 Celsius (Step 0.01 Celsius)
Parameters:
  • Update Interval – Type: integer, Default: 1000, Unit: ms, Min: 0, Max: 4294967295
  • Specifies the update interval in milliseconds. A value of 0 disables automatic updates.

Actions

Actions can be used in rules by creating an action object. All actions return a Map<String, Object>. Returned values can be accessed by name, sometimes the type deduction needs some hints, as shown below:

val actions = getActions("tinkerforge", "tinkerforge:brickletbarometerv2:[UID]")
val hwVersion = actions.brickletBarometerV2GetIdentity().get("hardwareVersion") as short[]
logInfo("Example", "Hardware version: " + hwVersion.get(0) + "." + hwVersion.get(1) + "." + hwVersion.get(2))

Basic Actions

brickletBarometerV2GetAirPressure()
Return Map:
  • airPressure – Type: int, Unit: 1/1000 hPa, Range: [260000 to 1260000]

Returns the measured air pressure.

If you want to get the value periodically, it is recommended to use the Air Pressure channel. You can set the channel configuration with the configuration of Air Pressure.

brickletBarometerV2GetAltitude()
Return Map:
  • altitude – Type: int, Unit: 1 mm, Range: [-231 to 231 - 1]

Returns the relative altitude of the air pressure sensor. The value is calculated based on the difference between the current air pressure and the reference air pressure that can be set with the thing configuration.

If you want to get the value periodically, it is recommended to use the Altitude channel. You can set the channel configuration with the configuration of Altitude.

brickletBarometerV2GetTemperature()
Return Map:
  • temperature – Type: int, Unit: 1/100 °C, Range: [-4000 to 8500]

Returns the temperature of the air pressure sensor.

This temperature is used internally for temperature compensation of the air pressure measurement. It is not as accurate as the temperature measured by the Temperature Bricklet 2.0 or the Temperature IR Bricklet 2.0.

If you want to get the value periodically, it is recommended to use the Temperature channel. You can set the channel configuration with the configuration of Temperature.

brickletBarometerV2GetMovingAverageConfiguration()
Return Map:
  • movingAverageLengthAirPressure – Type: int, Range: [1 to 1000], Default: 100
  • movingAverageLengthTemperature – Type: int, Range: [1 to 1000], Default: 100

Returns the moving average configuration as set by the thing configuration.

brickletBarometerV2GetReferenceAirPressure()
Return Map:
  • airPressure – Type: int, Unit: 1/1000 hPa, Range: [260000 to 1260000], Default: 1013250

Returns the reference air pressure as set by the thing configuration.

Advanced Actions

brickletBarometerV2GetChipTemperature()
Return Map:
  • temperature – Type: int, Unit: 1 °C, Range: [-215 to 215 - 1]

Returns the temperature as measured inside the microcontroller. The value returned is not the ambient temperature!

The temperature is only proportional to the real temperature and it has bad accuracy. Practically it is only useful as an indicator for temperature changes.

brickletBarometerV2GetStatusLEDConfig()
Return Map:
  • config – Type: int, Range: See constants, Default: 3

Returns the configuration as set by the thing configuration

The following constants are available for this function:

For config:

  • val STATUS_LED_CONFIG_OFF = 0
  • val STATUS_LED_CONFIG_ON = 1
  • val STATUS_LED_CONFIG_SHOW_HEARTBEAT = 2
  • val STATUS_LED_CONFIG_SHOW_STATUS = 3
brickletBarometerV2GetSPITFPErrorCount()
Return Map:
  • errorCountAckChecksum – Type: long, Range: [0 to 232 - 1]
  • errorCountMessageChecksum – Type: long, Range: [0 to 232 - 1]
  • errorCountFrame – Type: long, Range: [0 to 232 - 1]
  • errorCountOverflow – Type: long, Range: [0 to 232 - 1]

Returns the error count for the communication between Brick and Bricklet.

The errors are divided into

  • ACK checksum errors,
  • message checksum errors,
  • framing errors and
  • overflow errors.

The errors counts are for errors that occur on the Bricklet side. All Bricks have a similar function that returns the errors on the Brick side.

brickletBarometerV2Reset()

Calling this function will reset the Bricklet. All configurations will be lost.

After a reset you have to create new device objects, calling functions on the existing ones will result in undefined behavior!

brickletBarometerV2GetIdentity()
Return Map:
  • uid – Type: String, Length: up to 8
  • connectedUid – Type: String, Length: up to 8
  • position – Type: char, Range: ['a' to 'h', 'z']
  • hardwareVersion – Type: short[], Length: 3
    • 0: major – Type: short, Range: [0 to 255]
    • 1: minor – Type: short, Range: [0 to 255]
    • 2: revision – Type: short, Range: [0 to 255]
  • firmwareVersion – Type: short[], Length: 3
    • 0: major – Type: short, Range: [0 to 255]
    • 1: minor – Type: short, Range: [0 to 255]
    • 2: revision – Type: short, Range: [0 to 255]
  • deviceIdentifier – Type: int, Range: [0 to 216 - 1]

Returns the UID, the UID where the Bricklet is connected to, the position, the hardware and firmware version as well as the device identifier.

The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port). A Bricklet connected to an Isolator Bricklet is always at position 'z'.

The device identifier numbers can be found here

Internal Actions

brickletBarometerV2ReadUID()
Return Map:
  • uid – Type: long, Range: [0 to 232 - 1]

Returns the current UID as an integer. Encode as Base58 to get the usual string version.