-
-
Notifications
You must be signed in to change notification settings - Fork 109
Chilisleep OOLER
Ivan Smirnov edited this page Apr 15, 2022
·
3 revisions
Chilipad OOLER is a bed heater and cooler that works by sending water through pipes in a materess topper. The bluetooth system allows you to read the current temperature of the water in the pipes and set a target temp. You can also control fan speed and whether the system is on.
Used https://community.home-assistant.io/t/bluetooth-device-help/199902/10 I have not yet worked out if the "low water level" indicator status is available over Bluetooth.
You will need to get the Bluetooth MAC address to use in your config and MQTTT topics. One way to do this on iOS is:
- Install BT Inspector from the iOS app store.
- Run a global scan, find your "OOLER-XXXX" device.
- Click on the device, then click the "interrogate" button in the top corner.
- Scroll down to Device Information, field
A2B8F078...
. Under it you will see a 12 character hex string. - Reverse the string in pairs. So, if your string is
deadbeeffeed
, your mac will bedeadbeeffeed
->de:ad:be:ef:fe:ed
->ed:fe:ef:be:ad:de
. The true ooler MAC should have the first three octets set to84:71:27
.
Cleaned config.json
{
"network": {
...
},
"mqtt": {
"server": {
...
},
"publish": {
"retain": true
},
"topics": {
"prefix": "ooler/",
"get_suffix": "/Get",
"set_suffix": "/Set"
}
},
"ble": {
"whitelist": [
... [I listed both of my ooler units here to focus my results]
],
"services": {
"definitions": {
"5c293993-d039-4225-92f6-31fa62101e96": {
"name": "Ooler"
}
},
"whitelist": [
"5c293993-d039-4225-92f6-31fa62101e96"
]
},
"characteristics": {
"definitions": {
"7a2623ff-bd92-4c13-be9f-7023aa4ecb85": {
"name": "Power",
"types": ["uint8"]
},
"6aa46711-a29d-4f8a-88e2-044ca1fd03ff": {
"name": "SetTemp",
"types": ["uint8"]
},
"cafe2421-d04c-458f-b1c0-253c6c97e8e8": {
"name": "FanSpeed",
"types": ["uint8"]
},
"e8ebded3-9dca-45c2-a2d8-ceffb901474d": {
"name": "CurrentTemp",
"types": ["uint8"]
},
"2c988613-fe15-4067-85bc-8e59d5e0bte3": {
"name": "DisplayUnits",
"types": ["uint8"]
},
"923445f2-9438-4d81-98c9-904b69b94eca": {
"name": "DewPoint",
"types": ["uint8"]
}
},
"whitelist": [
"7a2623ff-bd92-4c13-be9f-7023aa4ecb85",
"6aa46711-a29d-4f8a-88e2-044ca1fd03ff",
"cafe2421-d04c-458f-b1c0-253c6c97e8e8",
"e8ebded3-9dca-45c2-a2d8-ceffb901474d",
"2c988613-fe15-4067-85bc-8e59d5e0bte3",
"923445f2-9438-4d81-98c9-904b69b94eca"
]
}
}
}
Replace YOUR_ADDRESS with the device's Bluetooth address. And replace the two instances of 'foo'.
climate:
- platform: mqtt
name: "Foo's Bed"
modes:
- "off"
- "auto"
fan_modes:
- "high"
- "medium"
- "low"
mode_command_topic: "ooler/YOUR_ADDRESS/Ooler/Power/Set"
mode_command_template: '{% if value == "off" %}0{% else %}1{% endif %}'
mode_state_topic: "ooler/YOUR_ADDRESS/Ooler/Power"
mode_state_template: "{% if value_json == 1 %}auto{% else %}off{% endif %}"
temperature_command_topic: "ooler/YOUR_ADDRESS/Ooler/SetTemp/Set"
temperature_state_topic: "ooler/YOUR_ADDRESS/Ooler/SetTemp"
temperature_unit: F
current_temperature_topic: "ooler/YOUR_ADDRESS/Ooler/CurrentTemp"
fan_mode_command_topic: "ooler/YOUR_ADDRESS/Ooler/FanSpeed/Set"
fan_mode_command_template: '{% if value == "high" %}2{% elif value == "medium" %}1{% else %}0{% endif %}'
fan_mode_state_topic: "ooler/YOUR_ADDRESS/Ooler/FanSpeed"
fan_mode_state_template: "{% if value_json == 2 %}high{% elif value_json == 1 %}medium{% else %}low{% endif %}"
max_temp: 116
min_temp: 54
precision: 1.0
unique_id: ble2mqtt_foo_bed