Skip to content

Commit e6de55e

Browse files
authored
Merge branch 'next' into tx_nonblocking
2 parents 57d70e6 + 80f4809 commit e6de55e

File tree

5 files changed

+44
-2
lines changed

5 files changed

+44
-2
lines changed

all_automations.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,7 @@
287287
"remote_transmitter.transmit_dish",
288288
"remote_transmitter.transmit_dooya",
289289
"remote_transmitter.transmit_drayton",
290+
"remote_transmitter.transmit_dyson",
290291
"remote_transmitter.transmit_haier",
291292
"remote_transmitter.transmit_jvc",
292293
"remote_transmitter.transmit_keeloq",

content/components/display/mipi_rgb.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ display:
6666
id: my_display
6767
```
6868
69-
## Configuration variables
69+
## Configuration options
7070
7171
- **rotation** (*Optional*): Rotate the display presentation in software. Choose one of `0°`, `90°`, `180°`, or `270°`.
7272
This option cannot be used with `transform`.
@@ -135,7 +135,8 @@ Displays needing a custom init sequence require an SPI bus to be configured, plu
135135
- **invert_colors** (*Optional*): Inverts the display colors, (white becomes black.) Defaults to false.
136136
- **color_order** (*Optional*): Should be one of `bgr` (default) or `rgb`.
137137
- **transform** (*Optional*): Transform the display presentation using hardware. All defaults are `false`.
138-
This option cannot be used with `rotation`.
138+
This option should not be used with `rotation`. For the `CUSTOM` model, use `transform: disabled`
139+
if the display does not support it, which will prevent a `rotation` being translated to a hardware transform.
139140

140141
- **mirror_x** (*Optional*, boolean): If true, mirror the x-axis.
141142
- **mirror_y** (*Optional*, boolean): If true, mirror the y-axis.

content/components/display/mipi_spi.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,8 @@ most of the configuration will be set by default, but can be overridden if neede
127127
- **invert_colors** (*Optional*, boolean): Specifies whether the display colors should be inverted. Options are `true` or `false`. Defaults to `false`.
128128
- **rotation** (*Optional*): Rotate the display presentation in software. Choose one of `0°`, `90°`, `180°`, or `270°`. If the driver chip supports hardware rotation for the given orientation this will be translated to the appropriate hardware command. If hardware rotation is not supported, the display will be rotated in software.
129129
- **transform** (*Optional*): If `rotation` is not sufficient, use this to transform the display. If this option is specified, then the `dimensions` option must also be provided. The value can either be the string `disabled` to disable hardware transform, or a dictionary. Options are:
130+
This option should not be used with `rotation`. For the `CUSTOM` model, use `transform: disabled`
131+
if the display does not support it, which will prevent a `rotation` being translated to a hardware transform.
130132

131133
- **swap_xy** (**Required**, boolean): If true, exchange the x and y axes.
132134
- **mirror_x** (**Required**, boolean): If true, mirror the x axis.

content/components/remote_receiver.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ Multiple remote receivers can be configured as a list of dict definitions within
4545
- **dish**: Decode and dump Dish infrared codes.
4646
- **dooya**: Decode and dump Dooya RF codes.
4747
- **drayton**: Decode and dump Drayton Digistat RF codes.
48+
- **dyson**: Decode and dump Dyson Cool AM7 tower fan codes.
4849
- **jvc**: Decode and dump JVC infrared codes.
4950
- **gobox**: Decode and dump Go-Box infrared codes.
5051
- **keeloq**: Decode and dump KeeLoq RF codes.
@@ -188,6 +189,10 @@ To enable signal demodulation, configure the signal carrier frequency and duty c
188189
Drayton Digistat RF code has been decoded. A variable `x` of type {{< apistruct "remote_base::DraytonData" "remote_base::DraytonData" >}}
189190
is passed to the automation for use in lambdas.
190191

192+
- **on_dyson** (*Optional*, [Automation](#automation)): An automation to perform when a
193+
Dyson cool AM07 code has been decoded. A variable `x` of type {{< apistruct "remote_base::DysonData" "remote_base::DysonData" >}}
194+
is passed to the automation for use in lambdas.
195+
191196
- **on_gobox** (*Optional*, [Automation](#automation)): An automation to perform when a
192197
Go-Box remote code has been decoded. A variable `x` of type {{< apistruct "remote_base::GoboxData" "remote_base::GoboxData" >}}
193198
is passed to the automation for use in lambdas.
@@ -429,6 +434,11 @@ Remote code selection (exactly one of these has to be included):
429434
- **channel** (**Required**, int): The 7-bit switch/channel to listen for.
430435
- **command** (**Required**, int): The 5-bit command to listen for.
431436

437+
- **dyson**: Trigger on a decoded dyson cool AM07 infrared remote code with the given data.
438+
439+
- **code** (**Required**, int): The 16-bit code to trigger on, e.g. 0x1200=power, 0x1215=fan++,0x122a=swing..., see dumper output for more info.
440+
- **index** (**Required**, int): The 8-bit rolling index [0..3], to be increased with every transmit, see dumper output for more info.
441+
432442
- **gobox**: Trigger on a decoded Go-Box remote code with the given data.
433443

434444
- **code** (**Required**, int): The Go-Box code to trigger on, see dumper output for more info.

content/components/remote_transmitter.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,34 @@ on_...:
378378
- **command** (**Required**, int): The command to send, between 0 and 63 inclusive.
379379
- All other options from [Remote Transmitter Actions](#remote_transmitter-transmit_action).
380380

381+
{{< anchor "remote_transmitter-transmit_dyson" >}}
382+
383+
### `remote_transmitter.transmit_dyson` **Action**
384+
385+
This [action](#config-action) sends a Dyson cool AM07 infrared protocol code to a remote transmitter.
386+
387+
```yaml
388+
on_...:
389+
- remote_transmitter.transmit_dyson:
390+
code: '0x1200'
391+
index: !lambda |-
392+
uint8_t idx = id(idx);
393+
id(idx) = (id(idx) + 1) & 3;
394+
return idx;
395+
```
396+
397+
#### Configuration variables
398+
399+
- **code** (**Required**, int): The 16-bit code to trigger on, e.g. 0x1200=power, 0x1215=fan++,
400+
0x122a=swing..., see dumper output for more info.
401+
- **index** (**Required**, int): The 8-bit rolling index (range=0..3).
402+
- All other options from [Remote Transmitter Actions](#remote_transmitter-transmit_action).
403+
404+
> [!NOTE]
405+
> The **dyson** devices use rolling codes, i.e. each remote button generates 4 different codes in a pseudo
406+
> random manner. On every transmit the **index** variable must loop to let the **..transmit_dyson** function
407+
> generate a code that differs from the previous one.
408+
381409
{{< anchor "remote_transmitter-transmit_gobox" >}}
382410

383411
### `remote_transmitter.transmit_gobox` **Action**

0 commit comments

Comments
 (0)