Hi all,
I’ve finally managed to integrate my Rubicson wireless meat thermometer with Home Assistant. Since this involved some non-trivial steps, thought I share my findings.
Rubicson wireless meat thermometer uses 433 Mhz signals which can ben captured by for example RFXtrx433XL by RFCXOM.
First, make sure to activate support for Rubicson protocol in the RFXtrx433XL by using the RFXmng program from RFXCOM website (Note, this may inactive other protocols)
Now activate rfxtrx platform in HASS with automatic detection in the configuation.yaml
rfxtrx:
device: /dev/ttyUSB0
sensor:
- platform: rfxtrx
automatic_add: true
Reboot HASS, turn on your Rubicson and you should be able see the sensor show up the gui (after reload) with id 0850090000cb011c69 Temperature or similar.
However, the Rubicson has an undesirable feature: it will assign a new id every time it is turned on.
In HASS, this will make i hard to write triggers and script based on the this sensor.
To overcome this, one solution is to write a template sensor to imitate the real (last updated) senors. The template iterates the states
object to find all Rubicson-sensors (typically starts with “085009”) and then copying the value of the latest updated sensor. In your sensor
-section in configuratinon.yaml add this template configuration
sensor:
- platform: rfxtrx
automatic_add: true
- platform: template
sensors:
steak_temperature:
friendly_name: 'Steak temp'
unit_of_measurement: '°C'
value_template: >
{% set ns = namespace() %}
{% set ns.latest = 0 %}
{% set ns.state = NULL %}
{% for state in states.sensor %}
{% set id_name = state.name[:6] %}
{% if id_name == '085009' %}
{% if as_timestamp(state.last_updated) > ns.latest|float %}
{% set ns.state = state %}
{% set ns.latest = as_timestamp(state.last_updated) %}
{% endif %}
{% endif %}
{% endfor %}
{% if as_timestamp(now()) - ns.latest < 100 %}
{{ ns.state.state }}
{% else %}
{{ 0 }}
{% endif %}
Finally, you need to decide a how often this template sensor should be updated. You can use sensor.time if happy with updates once a minute, but of you prefer more often you can add a automation in automations.yaml
- id: '1578866104785'
alias: Every five
description: Rapid updates of template sensor
trigger:
platform: time_pattern
seconds: "/5"
condition: []
action:
- entity_id: sensor.steak_temperature
service: homeassistant.update_entity
Good luck!