Skip to content

Commit 1451bd9

Browse files
committed
Update zhc to 14.0.680
1 parent b468525 commit 1451bd9

File tree

446 files changed

+4733
-2283
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

446 files changed

+4733
-2283
lines changed

docgen/device_page_exposes.ts

+44-10
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,33 @@ function capitalizeFirstLetter(string) {
1919
return string.charAt(0).toUpperCase() + string.slice(1);
2020
}
2121

22+
function compositeDocs(composite) {
23+
const value = `{${composite.features.map((e) => `"${e.property}": VALUE`).join(', ')}}`;
24+
25+
let note = [];
26+
for (const feature of composite.features) {
27+
let ft = '';
28+
if (feature.type === 'binary') {
29+
ft = `allowed values: \`${feature.value_on}\` or \`${feature.value_off}\``;
30+
} else if (feature.type === 'enum') {
31+
ft = `allowed values: ${feature.values.map((v) => `\`${v}\``).join(', ')}`;
32+
} else if (feature.type === 'numeric') {
33+
ft = [
34+
feature.value_min ? `min value is ${feature.value_min}` : null,
35+
feature.value_max ? `max value is ${feature.value_max}` : null,
36+
feature.unit ? `unit is ${feature.unit}` : null,
37+
].filter((e) => e).join(', ')
38+
} else if (feature.type === 'text') {
39+
// do nothing on purpose
40+
} else {
41+
throw new Error(`Unsupported composite feature: ${feature.type}`);
42+
}
43+
44+
note.push(`- \`${feature.name}\` (${feature.type})${feature.description ? ': ' + feature.description + '' : ''} ${ft}`);
45+
}
46+
return {value, note};
47+
}
48+
2249
function getExposeDocs(expose, definition) {
2350
const lines = [];
2451
const title = [];
@@ -231,17 +258,24 @@ function getExposeDocs(expose, definition) {
231258
lines.push(line);
232259
}
233260
} else if (expose.type === 'composite') {
234-
lines.push(`Can be set by publishing to \`zigbee2mqtt/FRIENDLY_NAME/set\` with payload \`{"${expose.property}": {${expose.features.map((e) => `"${e.property}": VALUE`).join(', ')}}}\``);
235-
for (const feature of expose.features) {
236-
let ft = '';
237-
if (feature.type === 'binary') {
238-
ft = `Allowed values: \`${feature.value_on}\` or \`${feature.value_off}\``;
239-
} else if (feature.type === 'enum') {
240-
ft = `Allowed values: ${feature.values.map((v) => `\`${v}\``).join(', ')}`;
241-
}
242-
243-
lines.push(`- \`${feature.property}\` (${feature.type}): ${feature.description}. ${ft}`);
261+
if (expose.description) {
262+
lines.push(expose.description + '.');
263+
}
264+
const txt = compositeDocs(expose);
265+
lines.push(`Can be set by publishing to \`zigbee2mqtt/FRIENDLY_NAME/set\` with payload \`{"${expose.property}": ${txt.value}}\``);
266+
lines.push(...txt.note);
267+
} else if (expose.type === 'list') {
268+
if (expose.description) {
269+
lines.push(expose.description + '.');
270+
}
271+
let txt = {value: '', note: []};
272+
if (expose.item_type.type === 'composite') {
273+
txt = compositeDocs(expose.item_type);
274+
} else {
275+
throw new Error(`Unsupported list item_type: ${expose.item_type.type}`);
244276
}
277+
lines.push(`Can be set by publishing to \`zigbee2mqtt/FRIENDLY_NAME/set\` with payload \`{"${expose.property}": [${txt.value}]}\``);
278+
lines.push(...txt.note);
245279
} else {
246280
throw new Error('Not supported');
247281
}

docs/devices/0402946.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,10 @@ The unit of this value is `%`.
6969

7070
### Pin_code (composite)
7171
Can be set by publishing to `zigbee2mqtt/FRIENDLY_NAME/set` with payload `{"pin_code": {"user": VALUE, "user_type": VALUE, "user_enabled": VALUE, "pin_code": VALUE}}`
72-
- `user` (numeric): User ID to set or clear the pincode for.
73-
- `user_type` (enum): Type of user, unrestricted: owner (default), (year|week)_day_schedule: user has ability to open lock based on specific time period, master: user has ability to both program and operate the door lock, non_access: user is recognized by the lock but does not have the ability to open the lock. Allowed values: `unrestricted`, `year_day_schedule`, `week_day_schedule`, `master`, `non_access`
74-
- `user_enabled` (binary): Whether the user is enabled/disabled. Allowed values: `true` or `false`
75-
- `pin_code` (numeric): Pincode to set, set pincode to null to clear.
72+
- `user` (numeric): User ID to set or clear the pincode for
73+
- `user_type` (enum): Type of user, unrestricted: owner (default), (year|week)_day_schedule: user has ability to open lock based on specific time period, master: user has ability to both program and operate the door lock, non_access: user is recognized by the lock but does not have the ability to open the lock allowed values: `unrestricted`, `year_day_schedule`, `week_day_schedule`, `master`, `non_access`
74+
- `user_enabled` (binary): Whether the user is enabled/disabled allowed values: `true` or `false`
75+
- `pin_code` (numeric): Pincode to set, set pincode to null to clear
7676

7777
### Action (enum)
7878
Triggered action on the lock.

docs/devices/046677577957.md

+162
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
---
2+
title: "Philips 046677577957 control via MQTT"
3+
description: "Integrate your Philips 046677577957 via Zigbee2MQTT with whatever smart home infrastructure you are using without the vendor's bridge or gateway."
4+
addedAt: 2022-12-01T15:07:19
5+
pageClass: device-page
6+
---
7+
8+
<!-- !!!! -->
9+
<!-- ATTENTION: This file is auto-generated through docgen! -->
10+
<!-- You can only edit the "Notes"-Section between the two comment lines "Notes BEGIN" and "Notes END". -->
11+
<!-- Do not use h1 or h2 heading within "## Notes"-Section. -->
12+
<!-- !!!! -->
13+
14+
# Philips 046677577957
15+
16+
| | |
17+
|-----|-----|
18+
| Model | 046677577957 |
19+
| Vendor | [Philips](/supported-devices/#v=Philips) |
20+
| Description | Hue White and Color Ambiance BR30 with bluetooth |
21+
| Exposes | light (state, brightness, color_temp, color_temp_startup, color_xy, color_hs), effect, linkquality |
22+
| Picture | ![Philips 046677577957](https://www.zigbee2mqtt.io/images/devices/046677577957.jpg) |
23+
24+
25+
<!-- Notes BEGIN: You can edit here. Add "## Notes" headline if not already present. -->
26+
## Notes
27+
28+
29+
### Pairing
30+
Factory resetting a Hue bulb can be accomplished in 5 ways.
31+
After resetting the bulb will automatically connect.
32+
33+
#### Touchlink factory reset
34+
See [Touchlink](../guide/usage/touchlink.md)
35+
36+
#### Hue bridge
37+
When the bulb is still connected to the Hue bridge, you can simply factory reset the bulb
38+
by removing it from the bridge via the Hue app. Orphaned bulbs (configured to connect to a non-existing Zigbee network) can be adopted by a Hue bridge by entering the 6 character serial number in the Philips Hue app.
39+
40+
#### Hue dimmer switch
41+
With [one](./324131092621.md) of the [two](./929002398602.md) Hue Dimmer switches it is possible to put the bulbs into a factory reset.
42+
43+
1. Power-supply the bulb
44+
2. Bring the dimmer switch next to the bulb, as close as possible
45+
3. Hold the I/On and 0/Off button pressed simultaneously for 10 to 12 seconds until…
46+
4. The bulb flashes a couple of times. Don't release the buttons until the last flash + a safety second
47+
5. Switch the bulb off and on again: it can now be paired again.
48+
49+
See also the [VIDEO: Factory reset a Hue bulb with Hue dimmer switch](https://www.youtube.com/watch?v=qvlEAELiJKs).
50+
51+
#### Bluetooth (if supported by device)
52+
Install the Philips Hue Bluetooth app for [Android](https://play.google.com/store/apps/details?id=com.signify.hue.blue)
53+
or [iOS](https://apps.apple.com/us/app/philips-hue-bluetooth/id1456604186). You can use the app to trigger a factory reset on a paired light. (Note: The light will only be in bluetooth pairing
54+
mode for a couple of minutes after power-on)
55+
56+
#### TRADFRI remote control
57+
This may also be possible with the
58+
[Tradfri Remote Control](https://www.ikea.com/us/en/images/products/tradfri-remote-control__0489469_PE623665_S4.JPG)
59+
by pressing and holding the reset button on the bottom of the remote (next to the battery).
60+
[This may not always work, even if the Hue bulb starts flashing](https://github.com/Koenkk/zigbee2mqtt/issues/296#issuecomment-416923751).
61+
62+
63+
### Power-on behavior
64+
This device allows you to set the power-on behavior. Note that this requires at least November/December '18 firmware update of the device.
65+
Send a MQTT command to [`zigbee2mqtt/FRIENDLY_NAME/set`](https://www.zigbee2mqtt.io/../guide/usage/mqtt_topics_and_messages.md#zigbee2mqttfriendly_nameset) with the following payload.
66+
67+
```js
68+
{
69+
"hue_power_on_behavior": "on", // default, on, off, recover
70+
"hue_power_on_brightness": 125, // same values as brightness
71+
"hue_power_on_color_temperature": 280, // same values as color_temp
72+
"hue_power_on_color": "#0000FF" // color in hex notation, e.g. #0000FF = blue
73+
}
74+
```
75+
76+
Attribute Value | Description
77+
----------------|-----------------------------------------------
78+
default | reset to factory default value
79+
on | bulb on after power loss with configured brightness, color-temperature and color
80+
off | bulb off after power loss
81+
recover | last running state after power loss
82+
83+
Rules:
84+
- `hue_power_on_behavior` value always has to be provided
85+
- `hue_power_on_brightness`, `hue_power_on_color_temperature` and `hue_power_on_color` can only be provided when `hue_power_on_behavior` = `on`
86+
- `hue_power_on_color_temperature` and `hue_power_on_color` cannot be provided together, only one can be set
87+
- When setting `hue_power_on_behavior` = `on`, any not provided values will be reset to their factory defaults
88+
89+
Note: if `hue_power_on_behavior` is set to `off`, then the only way to turn the bulb on will be through a paired smart device (see pairing above). You will NOT be able to turn the bulb on by sequentially switching power on and off.
90+
<!-- Notes END: Do not edit below this line -->
91+
92+
## OTA updates
93+
This device supports OTA updates, for more information see [OTA updates](../guide/usage/ota_updates.md).
94+
95+
96+
## Options
97+
*[How to use device type specific configuration](../guide/configuration/devices-groups.md#specific-device-options)*
98+
99+
* `transition`: Controls the transition time (in seconds) of on/off, brightness, color temperature (if applicable) and color (if applicable) changes. Defaults to `0` (no transition). The value must be a number with a minimum value of `0`
100+
101+
* `color_sync`: When enabled colors will be synced, e.g. if the light supports both color x/y and color temperature a conversion from color x/y to color temperature will be done when setting the x/y color (default true). The value must be `true` or `false`
102+
103+
104+
## Exposes
105+
106+
### Light
107+
This light supports the following features: `state`, `brightness`, `color_temp`, `color_temp_startup`, `color_xy`, `color_hs`.
108+
- `state`: To control the state publish a message to topic `zigbee2mqtt/FRIENDLY_NAME/set` with payload `{"state": "ON"}`, `{"state": "OFF"}` or `{"state": "TOGGLE"}`. To read the state send a message to `zigbee2mqtt/FRIENDLY_NAME/get` with payload `{"state": ""}`.
109+
- `brightness`: To control the brightness publish a message to topic `zigbee2mqtt/FRIENDLY_NAME/set` with payload `{"brightness": VALUE}` where `VALUE` is a number between `0` and `254`. To read the brightness send a message to `zigbee2mqtt/FRIENDLY_NAME/get` with payload `{"brightness": ""}`.
110+
- `color_temp`: To control the color temperature (in reciprocal megakelvin a.k.a. mired scale) publish a message to topic `zigbee2mqtt/FRIENDLY_NAME/set` with payload `{"color_temp": VALUE}` where `VALUE` is a number between `153` and `500`, the higher the warmer the color. To read the color temperature send a message to `zigbee2mqtt/FRIENDLY_NAME/get` with payload `{"color_temp": ""}`. Besides the numeric values the following values are accepected: `coolest`, `cool`, `neutral`, `warm`, `warmest`.
111+
- `color_temp_startup`: To set the startup color temperature (in reciprocal megakelvin a.k.a. mired scale) publish a message to topic `zigbee2mqtt/FRIENDLY_NAME/set` with payload `{"color_temp_startup": VALUE}` where `VALUE` is a number between `153` and `500`, the higher the warmer the color. To read the startup color temperature send a message to `zigbee2mqtt/FRIENDLY_NAME/get` with payload `{"color_temp_startup": ""}`. Besides the numeric values the following values are accepected: `coolest`, `cool`, `neutral`, `warm`, `warmest`, `previous`.
112+
- `color_xy`: To control the XY color (CIE 1931 color space) publish a message to topic `zigbee2mqtt/FRIENDLY_NAME/set` with payload `{"color": {"x": X_VALUE, "y": Y_VALUE}}` (e.g. `{"color":{"x":0.123,"y":0.123}}`). To read the XY color send a message to `zigbee2mqtt/FRIENDLY_NAME/get` with payload `{"color":{"x":"","y":""}}`. Alternatively it is possible to set the XY color via RGB:
113+
- `{"color": {"r": R, "g": G, "b": B}}` e.g. `{"color":{"r":46,"g":102,"b":150}}`
114+
- `{"color": {"rgb": "R,G,B"}}` e.g. `{"color":{"rgb":"46,102,150"}}`
115+
- `{"color": {"hex": HEX}}` e.g. `{"color":{"hex":"#547CFF"}}`
116+
- `color_hs`: To control the hue/saturation (color) publish a message to topic `zigbee2mqtt/FRIENDLY_NAME/set` with payload `{"color": {"hue": HUE, "saturation": SATURATION}}` (e.g. `{"color":{"hue":360,"saturation":100}}`). To read the hue/saturation send a message to `zigbee2mqtt/FRIENDLY_NAME/get` with payload `{"color":{"hue":"","saturation":""}}`. Alternatively it is possible to set the hue/saturation via:
117+
- HSB space (hue, saturation, brightness): `{"color": {"h": H, "s": S, "b": B}}` e.g. `{"color":{"h":360,"s":100,"b":100}}` or `{"color": {"hsb": "H,S,B"}}` e.g. `{"color":{"hsb":"360,100,100"}}`
118+
- HSV space (hue, saturation, brightness):`{"color": {"h": H, "s": S, "v": V}}` e.g. `{"color":{"h":360,"s":100,"v":100}}` or `{"color": {"hsv": "H,S,V"}}` e.g. `{"color":{"hsv":"360,100,100"}}`
119+
- HSL space (hue, saturation, lightness)`{"color": {"h": H, "s": S, "l": L}}` e.g. `{"color":{"h":360,"s":100,"l":100}}` or `{"color": {"hsl": "H,S,L"}}` e.g. `{"color":{"hsl":"360,100,100"}}`
120+
121+
#### Transition
122+
For all of the above mentioned features it is possible to do a transition of the value over time. To do this add an additional property `transition` to the payload which is the transition time in seconds.
123+
Examples: `{"brightness":156,"transition":3}`, `{"color_temp":241,"transition":1}`.
124+
125+
#### Moving/stepping
126+
Instead of setting a value (e.g. brightness) directly it is also possible to:
127+
- move: this will automatically move the value over time, to stop send value `stop` or `0`.
128+
- step: this will increment/decrement the current value by the given one.
129+
130+
The direction of move and step can be either up or down, provide a negative value to move/step down, a positive value to move/step up.
131+
To do this send a payload like below to `zigbee2mqtt/FRIENDLY_NAME/set`
132+
133+
**NOTE**: brightness move/step will stop at the minimum brightness and won't turn on the light when it's off. In this case use `brightness_move_onoff`/`brightness_step_onoff`
134+
````js
135+
{
136+
"brightness_move": -40, // Starts moving brightness down at 40 units per second
137+
"brightness_move": 0, // Stop moving brightness
138+
"brightness_step": 40 // Increases brightness by 40
139+
"color_temp_move": 60, // Starts moving color temperature up at 60 units per second
140+
"color_temp_move": "stop", // Stop moving color temperature
141+
"color_temp_step": 99, // Increase color temperature by 99
142+
"hue_move": 40, // Starts moving hue up at 40 units per second, will endlessly loop (allowed value range: -255 till 255)
143+
"hue_step": -90, // Decrease hue by 90 (allowed value range: -255 till 255)
144+
"saturation_move": -55, // Starts moving saturation down at -55 units per second (allowed value range: -255 till 255)
145+
"saturation_step": 66, // Increase saturation by 66 (allowed value range: -255 till 255)
146+
}
147+
````
148+
149+
### Effect (enum)
150+
Triggers an effect on the light (e.g. make light blink for a few seconds).
151+
Value will **not** be published in the state.
152+
It's not possible to read (`/get`) this value.
153+
To write (`/set`) a value publish a message to topic `zigbee2mqtt/FRIENDLY_NAME/set` with payload `{"effect": NEW_VALUE}`.
154+
The possible values are: `blink`, `breathe`, `okay`, `channel_change`, `finish_effect`, `stop_effect`.
155+
156+
### Linkquality (numeric)
157+
Link quality (signal strength).
158+
Value can be found in the published state on the `linkquality` property.
159+
It's not possible to read (`/get`) or write (`/set`) this value.
160+
The minimal value is `0` and the maximum value is `255`.
161+
The unit of this value is `lqi`.
162+

0 commit comments

Comments
 (0)