Skip to content

Commit

Permalink
1.16.2
Browse files Browse the repository at this point in the history
  • Loading branch information
Koenkk committed Dec 1, 2020
1 parent 2b105b4 commit 2e7f102
Show file tree
Hide file tree
Showing 162 changed files with 7,803 additions and 520 deletions.
4 changes: 3 additions & 1 deletion docgen/device_page.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ const HomeassistantExtension = require('zigbee2mqtt/lib/extension/homeassistant'
const homeassistant = new HomeassistantExtension(null, null, null, null, {on: () => {}});
const assert = require('assert');
const devices = require('zigbee2mqtt/node_modules/zigbee-herdsman-converters').devices;
const path = require('path');
const imageBase = path.join(__dirname, '..', 'docs', 'images', 'devices');

function arrayEquals(a, b) {
return Array.isArray(a) &&
Expand Down Expand Up @@ -36,7 +38,7 @@ function generate(device) {
check('notModel');
}

const image = utils.getImage(device.model);
const image = utils.getImage(device, imageBase);
const exposesDescription = Array.from(new Set(device.exposes.map((e) => e.hasOwnProperty('name') ? e.name : `${e.type} (${e.features.map((f) => f.name).join(', ')})`))).join(', ');
return `---
title: "${device.vendor} ${device.model} control via MQTT"
Expand Down
89 changes: 87 additions & 2 deletions docgen/device_page_notes.js
Original file line number Diff line number Diff line change
Expand Up @@ -327,6 +327,9 @@ The reset button can be found by removing the back cover.
note: `
### Pairing
Long press reset button for 5s until the LED indicator flashes three times, which means the device has entered pairing mode
### Reporting intervals
It has been reported, that the sensor reports humidity changes quite frequently (changes on 2nd digit level), but temperature changes are reported only once per hour or when temperature has changed > ~0.6°C. This results in a *staircase* development in recorded temperatures and inhibits fine-granular climate control. No resolution is known so far. See also [Homeassistant Community Forums](https://community.home-assistant.io/t/sonoff-snzb-02-temp-sensor-reporting-interval/216315/7)
`,
},
{
Expand All @@ -341,6 +344,17 @@ If brand new, when powered on it will attempt to pair to Zigbee2MQTT automatical
note: `
### Pairing
Long press reset button for 5s until the LED indicator flashes three times, which means the device has entered pairing mode
`,
},
{
model: ['TS130F'],
note: `
### Calibration
* Open curtains completly
* Send calibration command to the switch: mosquitto_pub -d -m 'on' -t 'zigbee2mqtt/Living_Room_Sunblind_Switch/set/calibration'
* Press on close button on the switch, wait until curtains are fully closed
* Send calibration command to the switch: mosquitto_pub -d -m 'off' -t 'zigbee2mqtt/Living_Room_Sunblind_Switch/set/calibration'
`,
},
{
Expand All @@ -350,6 +364,70 @@ Long press reset button for 5s until the LED indicator flashes three times, whic
To pair the dimmer, press and hold the knob for 6 seconds.
The connected load, and the red LED indicator behind the dimmer knob will flash twice to indicate it has entered pairing mode.
The connected load, and the red LED indicator behind the dimmer knob will flash a third time to indicate that it has paird successfully.
`,
},
{
model: ['HG06467'],
note: `
### Pairing
Factory reset the LED string by holding the "F" button for 5 seconds.
When you let go of the button the LED string should blink slowly
After resetting the LED string will automatically connect.
While pairing, keep the string close to the adapter.
### Trigger effects
Controls the 16 build-in effects of the LED string. An effect expects 3 parameters: \`speed\`, \`colors\` and \`effect\`. To trigger an effect send a message to \`zigbee2mqtt/FRIENDLY_NAME/set\` with payload \`{"effect": {"effect": EFFECT, "speed": SPEED, "colors": COLORS}}\`. Description:
* \`SPEED\` should be a number between 1 and 100.
* \`COLORS\` is an array of JSON objects containing \`r\`, \`g\`, \`b\`. Note: some effects support multiple colors
* \`EFFECT\` is a string, below is a list of possible values and the amount of colors it supports
\`\`\`
| effect | # colors |
|------------------------|-----------------|
| steady | 1 |
| snow | 1 |
| rainbow | 0 |
| snake | 6 |
| twinkle | 2 |
| firework | 2 |
| horizontal_flag | 3 |
| waves | 3 |
| updown | 2 |
| vintage | 1 |
| fading | 1 |
| collide | 1 |
| strobe | 5 |
| sparkles | 3 |
| carnaval | 6 |
| glow | 6 |
\`\`\`
#### Example message payload
\`\`\`json
{
"effect": {
"effect": "snake",
"speed": 100,
"colors": [
{
"r": 255,
"g": 0,
"b": 0
},
{
"r": 0,
"g": 255,
"b": 0
},
{
"r": 0,
"g": 0,
"b": 255
},
]
}
}
\`\`\`
`,
},
{
Expand Down Expand Up @@ -1482,8 +1560,8 @@ After resetting the bulb will automatically connect.
While pairing, keep the bulb close to the CC2531 USB sniffer.
What works is to use (very) short “on’s” and a little bit longer “off’s”.
Start with bulb on, then off, and then 6 “on’s”, where you kill the light as soon as the bulb shows signs of turning on.
What works is to use (very) short “on’s” and a little bit longer “off’s”, where you kill the light as soon as the bulb shows signs of turning on.
Start with bulb on, then off, and then 6 “on’s”, wait in the 6th ON state. (If you try play safe and go for 7 "on's" the reset sometimes fails.)
`,
},
{
Expand Down Expand Up @@ -2289,6 +2367,13 @@ Press and hold the button on the device for +- 10 seconds
note: `
### Binding
The remote supports [binding](../information/binding) for toggle action.
`,
},
{
model: ['GL-G-001P'],
note: `
### Remark
This devices is similar to GL-G-001Z, except that zigbee routing should work for this one.
`,
},
{
Expand Down
4 changes: 3 additions & 1 deletion docgen/supported-devices.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
*/

const devices = [...require('zigbee2mqtt/node_modules/zigbee-herdsman-converters').devices];
const path = require('path');
const imageBase = path.join(__dirname, '..', 'docs', 'images', 'devices');

for (const device of devices) {
if (device.whiteLabel) {
Expand Down Expand Up @@ -68,7 +70,7 @@ const generateTable = (devices) => {
devices = new Map(devices.map((d) => [d.model, d]));
devices.forEach((d) => {
const model = d.whiteLabelOf ? d.whiteLabelOf.model : d.model;
const image = utils.getImage(d.model);
const image = utils.getImage(d, imageBase);
let description = d.description || d.whiteLabelOf.description;
if (d.whiteLabelOf) {
description = `${description} (white-label of ${d.whiteLabelOf.vendor} ${d.whiteLabelOf.model})`;
Expand Down
23 changes: 17 additions & 6 deletions docgen/utils.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,27 @@
const imageBase = '../images/devices/';
const fs = require('fs');
const path = require('path');

function getImageName(model) {
const replaceByDash = [new RegExp('/', 'g'), new RegExp(':', 'g'), new RegExp(' ', 'g')];
let image = model;
replaceByDash.forEach((r) => image = image.replace(r, '-'));
return `${image}.jpg`;
}

module.exports = {
normalizeModel: (model) => {
const find = '[/| |:]';
const re = new RegExp(find, 'g');
return model.replace(re, '_');
},
getImage: (model) => {
const replaceByDash = [new RegExp('/', 'g'), new RegExp(':', 'g'), new RegExp(' ', 'g')];
let image = model;
replaceByDash.forEach((r) => image = image.replace(r, '-'));
image = imageBase + `${image}.jpg`;
return image;
getImage: (definition, imagePathBase) => {
let result = getImageName(definition.model);

if (definition.whiteLabelOf && !fs.existsSync(path.join(imagePathBase, result))) {
result = getImageName(definition.whiteLabelOf.model);
}

return imageBase + result;
},
};
96 changes: 96 additions & 0 deletions docs/devices/014G2461.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
---
title: "Danfoss 014G2461 control via MQTT"
description: "Integrate your Danfoss 014G2461 via Zigbee2MQTT with whatever smart home
infrastructure you are using without the vendors bridge or gateway."
---

*To contribute to this page, edit the following
[file](https://github.com/Koenkk/zigbee2mqtt.io/blob/master/docs/devices/014G2461.md)*

# Danfoss 014G2461

| Model | 014G2461 |
| Vendor | Danfoss |
| Description | Ally thermostat |
| Exposes | battery, lock (state), climate (occupied_heating_setpoint, local_temperature), linkquality |
| Picture | ![Danfoss 014G2461](../images/devices/014G2461.jpg) |

## Notes

None


## Exposes
### Battery (numeric)
Remaining battery in %.
Value can be found in the published state on the `battery` property.
It's not possible to read (`/get`) or write (`/set`) this value.
The minimimal value is `0` and the maximum value is `100`.
The unit of this value is `%`.

### Lock
The current state of this lock is in the published state under the `keypad_lockout` property (value is `1` or `0`).
To control this lock publish a message to topic `zigbee2mqtt/FRIENDLY_NAME/set` with payload `{"keypad_lockout": "1"}` or `{"keypad_lockout": "0"}`.
To read the current state of this lock publish a message to topic `zigbee2mqtt/FRIENDLY_NAME/get` with payload `{"keypad_lockout": ""}`.

### Climate
This climate device supports the following features: `occupied_heating_setpoint`, `local_temperature`.
- `occupied_heating_setpoint`: Temperature setpoint. To control publish a message to topic `zigbee2mqtt/FRIENDLY_NAME/set` with payload `{"occupied_heating_setpoint": VALUE}` where `VALUE` is the °C between `6` and `28`. To read send a message to `zigbee2mqtt/FRIENDLY_NAME/get` with payload `{"occupied_heating_setpoint": ""}`.
- `local_temperature`: Current temperature measured on the device (in °C). To read send a message to `zigbee2mqtt/FRIENDLY_NAME/get` with payload `{"local_temperature": ""}`.

### Linkquality (numeric)
Link quality (signal strength).
Value can be found in the published state on the `linkquality` property.
It's not possible to read (`/get`) or write (`/set`) this value.
The minimimal value is `0` and the maximum value is `255`.
The unit of this value is `lqi`.

## Manual Home Assistant configuration
Although Home Assistant integration through [MQTT discovery](../integration/home_assistant) is preferred,
manual integration is possible with the following configuration:


{% raw %}
```yaml
sensor:
- platform: "mqtt"
state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "%"
value_template: "{{ value_json.battery }}"
device_class: "battery"

lock:
- platform: "mqtt"
state_topic: true
availability_topic: "zigbee2mqtt/bridge/state"
command_topic: "zigbee2mqtt/<FRIENDLY_NAME>/set"
value_template: "{{ value_json.keypad_lockout }}"
payload_lock: "1"
payload_unlock: "0"
command_topic_postfix: "keypad_lockout"

climate:
- platform: "mqtt"
availability_topic: "zigbee2mqtt/bridge/state"
temperature_unit: "C"
temp_step: 0.5
min_temp: "6"
max_temp: "28"
current_temperature_topic: true
current_temperature_template: "{{ value_json.local_temperature }}"
temperature_command_topic: "occupied_heating_setpoint"
temperature_state_template: "{{ value_json.occupied_heating_setpoint }}"
temperature_state_topic: true

sensor:
- platform: "mqtt"
state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "lqi"
value_template: "{{ value_json.linkquality }}"
icon: "mdi:signal"
```
{% endraw %}
76 changes: 76 additions & 0 deletions docs/devices/067646.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
title: "Legrand 067646 control via MQTT"
description: "Integrate your Legrand 067646 via Zigbee2MQTT with whatever smart home
infrastructure you are using without the vendors bridge or gateway."
---

*To contribute to this page, edit the following
[file](https://github.com/Koenkk/zigbee2mqtt.io/blob/master/docs/devices/067646.md)*

# Legrand 067646

| Model | 067646 |
| Vendor | Legrand |
| Description | Wireless shutter switch |
| Exposes | battery, action, linkquality |
| Picture | ![Legrand 067646](../images/devices/067646.jpg) |

## Notes

None


## Exposes
### Battery (numeric)
Remaining battery in %.
Value can be found in the published state on the `battery` property.
It's not possible to read (`/get`) or write (`/set`) this value.
The minimimal value is `0` and the maximum value is `100`.
The unit of this value is `%`.

### Action (enum)
Triggered action (e.g. a button click).
Value can be found in the published state on the `action` property.
It's not possible to read (`/get`) or write (`/set`) this value.
The possible values are: `identify`, `open`, `close`, `stop`, `moving`, `stopped`.

### Linkquality (numeric)
Link quality (signal strength).
Value can be found in the published state on the `linkquality` property.
It's not possible to read (`/get`) or write (`/set`) this value.
The minimimal value is `0` and the maximum value is `255`.
The unit of this value is `lqi`.

## Manual Home Assistant configuration
Although Home Assistant integration through [MQTT discovery](../integration/home_assistant) is preferred,
manual integration is possible with the following configuration:


{% raw %}
```yaml
sensor:
- platform: "mqtt"
state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "%"
value_template: "{{ value_json.battery }}"
device_class: "battery"

sensor:
- platform: "mqtt"
state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
availability_topic: "zigbee2mqtt/bridge/state"
value_template: "{{ value_json.action }}"
icon: "mdi:gesture-double-tap"

sensor:
- platform: "mqtt"
state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "lqi"
value_template: "{{ value_json.linkquality }}"
icon: "mdi:signal"
```
{% endraw %}
2 changes: 1 addition & 1 deletion docs/devices/10011722.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ description: "Integrate your HORNBACH 10011722 via Zigbee2MQTT with whatever sma

| Model | 10011722 |
| Vendor | HORNBACH |
| Description | FLAIR Viyu Smarte LED candle E14 |
| Description | FLAIR Viyu Smart LED candle E14 |
| Exposes | light (state, brightness, color_temp), effect, linkquality |
| Picture | ![HORNBACH 10011722](../images/devices/10011722.jpg) |

Expand Down
2 changes: 1 addition & 1 deletion docs/devices/10011725.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ description: "Integrate your HORNBACH 10011725 via Zigbee2MQTT with whatever sma

| Model | 10011725 |
| Vendor | HORNBACH |
| Description | FLAIR Viyu Smarte LED bulb RGB E27 |
| Description | FLAIR Viyu Smart LED bulb RGB E27 |
| Exposes | light (state, brightness, color_temp, color_xy), effect, linkquality |
| Picture | ![HORNBACH 10011725](../images/devices/10011725.jpg) |

Expand Down
Loading

0 comments on commit 2e7f102

Please sign in to comment.