Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
# Canonical text evidence must retain its original bytes.
sources/myhome-suite/3.5.38/support/OpenQuery.txt -text

# Machine KB artifacts and fixtures require deterministic LF endings.
*.jsonl text eol=lf
knowledge/** text eol=lf
7 changes: 7 additions & 0 deletions device-model/physical-devices.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ The interpretation is supported by Devices whose physical configuration layouts
| --- | ---: | --- |
| `F420` | `2` | 2 |
| `F429` | `3` | 3 (`A`, `G`, `M`) |
| `LN4660M2` | `6` (corroborated) | 6 (`A`, `PL`, `Ar`, `PLr`, `M`, `Pre`) |
| `H4652/3` | `7` | 7 |

The correspondence across Devices with different values argues against interpreting ordinary addressed-form `N_CONF` as a Module count or general Device classification. In that corroborated scope, it describes the size of the Device's physical configurator interface.
Expand Down Expand Up @@ -149,6 +150,12 @@ SKU `F418U2` resolves to item `2065`, “2x1,6A universal dimmer, 4DIN”, and f

SKU `3476` is a one-slot Basic control actuator. SKU `3477` is a two-slot Basic contacts interface whose Modules can expose contact-state and command functions. Similar physical installation style therefore does not imply the same logical composition.

### `LN4660M2`, `H4660M2`, `AM5860M2`, and `067558`

These four SKUs (Livinglight `LN4660M2`, Axolute `H4660M2`, Matix `AM5860M2`, and Céliane `067558`) share item `1579`, “Shutter control bus”, item model `46`, and firmware `205`. The firmware exposes a single slot containing Object `529` (“Shutter control”), belonging to family `1` (Control).

The hardware interface provides six physical configurator positions (`A`, `PL`, `Ar`, `PLr`, `M`, and `Pre`), corroborating `N_CONF = 6` for this device family from independent installation documentation rather than directly observed on-wire diagnostic responses. When configured with `A=GEN`, the device acts as a centralized automation control broadcasting Advanced Automation commands to the General scope (`WHERE = 0`). The `Ar` and `PLr` sockets assign a reference actuator for state synchronization and preset management, while `M` sets operation modality and `Pre` selects the preset index. No actuator output is exposed by this item.

## Dependent Devices and interfaces

The catalogue contains additional Device-level associations:
Expand Down
8 changes: 7 additions & 1 deletion functional/who-2-automation/addressing.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,10 @@ Commands addressed to a group, environment, or the general scope can produce eve

The MyHOME_Suite `OPEN.db` address-rule definitions represent the same `A`/`PL` address family through system-specific point-to-point, environment, and advanced rules.

See [`WHAT` Reference](what.md) for movement commands, [`DIMENSION` Reference](dimensions.md) for advanced shutter state/position data, and [Addressing](../../protocol/addressing.md) for the common system-scoped addressing model.
## Centralized transmitters and General scope

Centralized control devices configured with `A=GEN` target the General scope (`WHERE = 0`). In the referenced MyHomeServer1/LN4660M2 captures, the observed movement frame used the event-style form `*2*11#100#001#1*0##`.

Because OpenWebNet command frames carry only the target address rather than the originator address, frames with `WHERE = 0` do not identify which physical transmitter generated the command. In the [public MyHomeServer1/LN4660M2 traces](https://github.com/OpenWebNet-HA/MyHOME/tree/198a848e73edd2a887b993b98beffa98f3f20e36/tests/fixtures/traces/issue_445), the centralized operation was followed by individual point-to-point `DIMENSION 10` status reports from affected actuators on their respective `A`/`PL` addresses. Treat that telemetry sequence as observed behavior for the captured gateway/controller path rather than a universal requirement for every gateway implementation.

See [`WHAT` Reference](what.md) for movement commands, [`DIMENSION` Reference](dimensions.md) for advanced shutter state/position data, and [Addressing](../../protocol/addressing.md) for the common system-scoped addressing model.
53 changes: 48 additions & 5 deletions functional/who-2-automation/what.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ Collective commands can expand into events for the addressed scope and the indiv

## Advanced commands

| Leading `WHAT` | Function | Parameters |
| Leading `WHAT` | Function | Command parameters |
| ---: | --- | --- |
| `10` | Advanced Stop | priority; set/clear selector |
| `11` | Advanced Up | optional step; priority; set/clear selector |
| `12` | Advanced Down | optional step; priority; set/clear selector |
| `10` | Advanced Stop | priority |
| `11` | Advanced Up | optional step; priority |
| `12` | Advanced Down | optional step; priority |

The exact `#`-parameterized form is part of `WHAT`; parsing only the leading number loses the requested step and priority operation.
Event-session forms append the set/clear selector described below. The exact `#`-parameterized form is part of `WHAT`; parsing only the leading number loses the requested step and priority operation.

### Step

Expand All @@ -30,6 +30,49 @@ The exact `#`-parameterized form is part of `WHAT`; parsing only the leading num

The priority payload contains a set/clear selector and Safety, High, and Medium flags. A zero flag leaves that priority unchanged. This is a bit-selection operation, not a single ordinal priority number.

### Parameter format

The published [`WHO 2` specification](../../sources/openwebnet-public/pdf/WHO_2.pdf) defines separate parameter structures for command sessions and event sessions:

**Published command session grammar** (client to server):
~~~text
*2*10#PRIORITY*WHERE## (Advanced Stop)
*2*11#STEP#PRIORITY*WHERE## (Advanced Up)
*2*12#STEP#PRIORITY*WHERE## (Advanced Down)
~~~

Where:
- `STEP`: `1..99` specifies a relative step percentage; `100` (or omitted/null) requests movement to the physical endpoint (full open or full close).
- `PRIORITY`: 3-digit bitfield (`p1 p2 p3`) representing Safety (`p1`), High (`p2`), and Medium (`p3`) priority levels (for example, `001` sets standard medium priority).

**Published event session grammar** (server to client):
In event sessions and status reports, the server appends a selector flag (`<shutterType>`):
~~~text
*2*10#PRIORITY#SELECTOR*WHERE## (Advanced Stop event)
*2*11#STEP#PRIORITY#SELECTOR*WHERE## (Advanced Up event)
*2*12#STEP#PRIORITY#SELECTOR*WHERE## (Advanced Down event)
~~~

Where `SELECTOR`:
- `0`: Clear priority.
- `1`: Set priority.

Command-translation reports (`WHAT 1000`) for point targets wrap this event structure: `*2*1000#11#PRIORITY#SELECTOR*WHERE##`.

**Observed physical transmitter frames**:
In the referenced MyHomeServer1/LN4660M2 captures, the physical centralized controller broadcasting to the General scope (`WHERE = 0`) emitted the event-style multi-parameter form with `SELECTOR = 1` (Set priority) directly onto the SCS bus:
- Up: `*2*11#100#001#1*0##`
- Down: `*2*12#100#001#1*0##`
- Stop: `*2*10#001#1*0##`

This on-wire behavior is corroborated by authentic bus monitor traces captured on a physical MyHomeServer1 gateway with an `LN4660M2` centralized controller ([public MyHomeServer1/LN4660M2 traces](https://github.com/OpenWebNet-HA/MyHOME/tree/198a848e73edd2a887b993b98beffa98f3f20e36/tests/fixtures/traces/issue_445), contributed by Francesco Montorsi on [MyHOME issue #445](https://github.com/OpenWebNet-HA/MyHOME/issues/445) and [#466 (comment 5853591733)](https://github.com/OpenWebNet-HA/MyHOME/issues/466#issuecomment-5853591733)).

### Physical transmitter STOP / PRESET behavior

Advanced physical shutter controls (such as `LN4660M2`, `H4660M2`, `AM5860M2`) feature a dual-function middle button:
- When shutters are **in motion**: pressing the button invokes Advanced Stop. In the referenced LN4660M2 capture, this appeared on the bus as the event-style frame `*2*10#001#1*0##`.
- When shutters are **stationary**: pressing the button triggers the **PRESET** function, recalling a pre-configured intermediate position stored within the actuators.

## Command-translation reports - `WHAT 1000`

The published Automation flows use `1000#INNER_WHAT...` when reporting translated commands for point targets. Base operations can appear as:
Expand Down
Loading
Loading