home-assistant.io/source/_components/binary_sensor.mysensors.markdown
2016-10-02 17:18:11 +02:00

90 lines
2.0 KiB
Markdown

---
layout: page
title: "MySensors Binary Sensor"
description: "Instructions how to integrate MySensors binary sensors into Home Assistant."
date: 2016-04-13 14:20 +0100
sidebar: true
comments: false
sharing: true
footer: true
logo: mysensors.png
ha_category: Binary Sensor
ha_release: 0.14
ha_iot_class: "Local Push"
---
Integrates MySensors binary sensors into Home Assistant. See the [main component] for configuration instructions.
The following sensor types are supported:
#### MySensors version 1.4 and higher
S_TYPE | V_TYPE
-------------------|---------------------------------------
S_DOOR | V_TRIPPED
S_MOTION | V_TRIPPED
S_SMOKE | V_TRIPPED
#### MySensors version 1.5 and higher
S_TYPE | V_TYPE
---------------|----------------------------------
S_SPRINKLER | V_TRIPPED
S_WATER_LEAK | V_TRIPPED
S_SOUND | V_TRIPPED
S_VIBRATION | V_TRIPPED
S_MOISTURE | V_TRIPPED
For more information, visit the [serial api] of MySensors.
### {% linkable_title Example sketch %}
```cpp
/**
* Documentation: http://www.mysensors.org
* Support Forum: http://forum.mysensors.org
*
* http://www.mysensors.org/build/binary
*/
#include <MySensor.h>
#include <SPI.h>
#include <Bounce2.h>
#define SN "BinarySensor"
#define SV "1.0"
#define CHILD_ID 1
#define BUTTON_PIN 3 // Arduino Digital I/O pin for button/reed switch.
MySensor gw;
Bounce debouncer = Bounce();
MyMessage msg(CHILD_ID, V_TRIPPED);
void setup()
{
gw.begin();
gw.sendSketchInfo(SN, SV);
// Setup the button.
pinMode(BUTTON_PIN, INPUT_PULLUP);
// After setting up the button, setup debouncer.
debouncer.attach(BUTTON_PIN);
debouncer.interval(5);
gw.present(CHILD_ID, S_DOOR);
gw.send(msg.set(0));
}
void loop()
{
if (debouncer.update()) {
// Get the update value.
int value = debouncer.read();
// Send in the new value.
gw.send(msg.set(value == LOW ? 1 : 0));
}
}
```
[main component]: /components/mysensors/
[serial api]: https://www.mysensors.org/download/serial_api_15