homebridge-mqttsmokesensor
v1.2.3
Published
Fetches information from Smoke Sensors over MQTT
Downloads
10
Readme
MQTT Smoke Sensor Homebridge Plug-in
This Homebridge plug-in allows you to connect to smoke sensors that can communicate over MQTT. For example, your smoke sensor might communicate over Zigbee or Z-Wave via a USB Stick connected to your Home Asistant installation. You could then have Home Assistant send the status updates over MQTT using an automation.
Setup MQTT broker
This Homebridge plug-in reads the data from an MQTT broker.
You need to install an MQTT broker on your machine, this can be any machine in your network, including the machine running Homebridge. Here are some instructions for popular distributions:
Raspberry Pi / Ubuntu
In short, you just need to do the following:
sudo apt-get update
sudo apt-get install -y mosquitto mosquitto-clients
sudo systemctl enable mosquitto.service
macOS
Use Homebrew
brew install mosquitto
Windows
Go to the Mosquitto Download Page and choose the right installer for your system.
Enable authentication
A quick search online will provide you with information on how to secure your installation. To help you, I've found the following links for the Raspberry Pi and Ubuntu
Plug-in Installation
Follow the homebridge installation instructions if you haven't already.
Install this plugin globally:
npm install -g homebridge-MqttSmokeSensor
Add platform to config.json
, for configuration see below.
Plug-in Configuration
The plug-in needs to know where to find the MQTT broker providing the JSON data (e.g. mqtt://127.0.0.1:1883) along with the serial number of the device to uniquely identify it (you can also use your Raspberry Pi identifier).
{
"platforms": [
{
"platform": "MqttSmokeSensor",
"name": "MqttSmokeSensor",
"mqttbroker": "mqtt://127.0.0.1:1883",
"username": "",
"password": "",
"devices": [
{
"displayName": "My Kitchen Smoke Sensor",
"serial": "1234567890",
"manufacturer": "Fibaro",
"model": "smoke",
"smokeDetectedTopic": "ha/smokedetector/smokedetected",
"smokeDetectedPayload": "1",
"smokeNotDetectedTopic": "ha/smokedetector/smokedetected",
"smokeNotDetectedPayload": "0",
"getSmokeDetectedTopic": "ha/smokedetector/getsmokedetected",
"lowBatteryTopic": "ha/smokedetector/batterylow",
"lowBatteryPayload": "1",
"normalBatteryTopic": "ha/smokedetector/batterylow",
"normalBatteryPayload": "0",
"getLowBatteryTopic": "ha/smokedetector/getbatterylow",
"tamperedTopic": "ha/smokedetector/tampered",
"tamperedPayload": "1",
"notTamperedTopic": "ha/smokedetector/tampered",
"notTamperedPayload": "0",
"getTamperedTopic": "ha/smokedetector/gettampered",
"faultTopic": "ha/smokedetector/fault",
"faultPayload": "1",
"noFaultTopic": "ha/smokedetector/fault",
"noFaultPayload": "0",
"getFaultTopic": "ha/smokedetector/getfault"
}
]
}
]
}
The following settings are optional:
username
: the MQTT broker usernamepassword
: the MQTT broker passwordsmokeDetectedPayload
: the payload of the MQTT message received on the topic. If not specified, assumes smoke has been detected.smokeNotDetectedPayload
: the payload of the MQTT message received on the topic. If not specified, assumes smoke has been detectedlowBatteryPayload
: the payload of the MQTT message received on the topic. If not specified, assumes battery is lownormalBatteryPayload
: the payload of the MQTT message received on the topic. If not specified, assumes battery is lowtamperedPayload
: the payload of the MQTT message received on the topic. If not specified, assumes device tampered withnotTamperedPayload
: the payload of the MQTT message received on the topic. If not specified, assumes device tampered withfaultPayload
: the payload of the MQTT message received on the topic. If not specified, assumes device is faultynoFaultPayload
: the payload of the MQTT message received on the topic. If not specified, assumes device is faulty
If you have multiple smoke sensors, then you can list them all in the config giving each one a unique name, MQTT topic and serial number.