Skip to content

Commit

Permalink
Fix links in dev documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
KazWolfe committed May 12, 2024
1 parent 0174132 commit ae5392c
Show file tree
Hide file tree
Showing 18 changed files with 181 additions and 112 deletions.
Original file line number Diff line number Diff line change
@@ -1,26 +1,29 @@
# Command `0x01`: Set Settings
# Command `0x01` - Set Settings

This command is used to issue a new operation state to the heat pump. It controls core behaviors like power, mode,
This command is used to issue a new operation state to the heat pump. It controls core behaviors like power, mode,
target temperature, and similar.

| Byte | Purpose | Possible Values | Supported by mUART | Notes |
|------|---------------------------|-------------------------------------------------------------------------------------------------------------------------------------|--------------------|----------------------------------------------------------------|
| 0 | Command Type | 0x01 | Yes |
| 1-2 | Update Flags | Traditional hex flags | Partially | Indicates which parameters to update. |
| 3 | Power | 0x00: Off<br/>0x01: On<br/>0x02: Test Mode | No | Update flag 0x0001 |
| 4 | Operating Mode | See below | No | Update flag 0x0002 |
| 5 | Legacy Target Temperature | See [[Temperature Units\|Special Data Types#Temperature Units]] | | Update flag 0x0004 |
| 6 | Fan | See below | | Update flag 0x0008<br/>Not all values supported for all units. |
| 7 | Vertical Vane | 0x00: Auto<br/>0x01 - 0x05: Position X<br/>0x07: Swing | | Update flag 0x0010<br/>Defaults to 0x5 on air handlers (?) |
| Byte | Purpose | Possible Values | Supported by mUART | Notes |
|------|---------------------------|-------------------------------------------------|--------------------|----------------------------------------------------------------|
| 0 | Command Type | 0x01 | Yes |
| 1-2 | Update Flags | Traditional hex flags | Partially | Indicates which parameters to update. |
| 3 | Power | 0x00: Off<br/>0x01: On<br/>0x02: Test Mode | No | Update flag 0x0001 |
| 4 | Operating Mode | See [Operating Modes](#operating-modes) | No | Update flag 0x0002 |
| 5 | Legacy Target Temperature | See [Legacy Setpoint Temperatures][legacy-temp] | | Update flag 0x0004 |
| 6 | Fan | See [Fan Modes](#fan-modes) | | Update flag 0x0008<br/>Not all values supported for all units. |
| 7 | Vertical Vane | See [Vertical Vane](#vertical-vane) | | Update flag 0x0010<br/>Defaults to 0x5 on air handlers (?) |
| 8 |
| 9 |
| 10 |
| 11 | Prohibit Flags | See below | | Update Flag 0x0040 |
| 11 | Prohibit Flags | See [Prohibit Flags](#prohibit-flags) | | Update Flag 0x0040 |
| 12 |
| 13 | Horizontal Vane | 0x00: Auto<br/>0x01: Full Left<br/>0x02: Left<br/>0x03: Center<br/>0x04: Right<br/>0x05: Full Right<br/>0x08: Split<br/>0x0C: Swing | | Update Flag 0x0100 |
| 14 | Target Temperature | Varies<br/>See [[Temperature Units\|Special Data Types#Temperature Units]] | | Update Flag 0x0004.<br/>Takes priority over legacy temperature |
| 13 | Horizontal Vane | See [Vertical Vane](#vertical-vane) | | Update Flag 0x0100 |
| 14 | Target Temperature | See [Enhanced Temperatures][enhanced-temp] | | Update Flag 0x0004.<br/>Takes priority over legacy temperature |
| 15 |

[legacy-temp]: /developer/data-types/temperature-units#legacy-setpoint-temperatures
[enhanced-temp]: /developer/data-types/temperature-units#enhanced-temperatures

### Sample Packets

```
Expand All @@ -29,18 +32,18 @@ target temperature, and similar.

## Operating Modes

| Value | Name | Notes |
|-------|------------|--------------------------------------------------|
| 1 | Heat | |
| 2 | Dehumidify | |
| 3 | Cool | |
| 7 | Fan | |
| 8 | Auto | Chooses mode based on current temp and setpoint. |
| 9 | i-see Heat | Cannot be set |
| 10 | i-see Dry | Cannot be set |
| 11 | i-see Cool | Cannot be set |
| 33 | Auto Heat | Cannot be set, Kumo only? |
| 35 | Auto Cool | Cannot be set, Kumo only? |
| Value | Name | Settable | Notes |
|-------|------------|----------|---------------------------------|
| 1 | Heat | Yes | |
| 2 | Dehumidify | Yes | |
| 3 | Cool | Yes | |
| 7 | Fan | Yes | |
| 8 | Auto | Yes | |
| 9 | i-see Heat | No | |
| 10 | i-see Dry | No | |
| 11 | i-see Cool | No | |
| 33 | Auto Heat | No | Only reported in Kumo Cloud API |
| 35 | Auto Cool | No | Only reported in Kumo Cloud API |

Operating mode 8 will use the current temperature of the room as well as the current setpoint to determine whether to
heat or cool. Mode 8 will be returned regardless of the status of the i-see feature.
Expand All @@ -66,14 +69,44 @@ Supported fan modes can be extracted from the Extended Connect Response packet.
| 5 | High |
| 6 | Very High (Powerful) |

## Vertical Vane

| Value | Name |
|-------|------------------|
| 0 | Auto Position |
| 1 | Position 1 (0°) |
| 2 | Position 2 |
| 3 | Position 3 (45°) |
| 4 | Position 4 |
| 5 | Position 5 (90°) |
| 7 | Swing Mode |

If set on a dual vane unit, both the left and right vanes will update in sync. There is not currently a known way to
set each vane side independently.

## Prohibit Flags

The exact intent of this byte is unknown, but it appears to prevent certain changes from being made so long as the
prohibit flags are in place.


| Bit | Purpose | Supported by mUART | Notes |
|------|---------------------|--------------------|-------|
| 0x01 | Lock Power | | |
| 0x02 | Lock Operating Mode | | |
| 0x04 | Lock Temperature | | |
| 0x04 | Lock Temperature | | |

## Horizontal Vane

| Value | Name | Symbol |
|-------|------------|--------|
| 0 | Auto | |
| 1 | Full Left | `<<` |
| 2 | Left | `<` |
| 3 | Center | `\|` |
| 4 | Right | `>` |
| 5 | Full Right | `>>` |
| 8 | Split | `<>` |
| 13 | Swing Mode | |

Note that auto mode may not be supported on all units, and appears to get overwritten with relative frequency (but
*does* appear to otherwise work).
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
# Command `0x07`: Set Remote Temperature
# Command `0x07` - Set Remote Temperature

This command is normally issued by a MHK thermostat and sent to the heat pump to control the room temperature.

| Byte | Purpose | Possible Values | Supported by mUART | Notes |
|------|-----------------------------|-------------------------------------------------------------------------------------|--------------------|-------|
| 0 | Command Type | 0x07 | Yes | |
| 1 | Flags | 0x00 Use Internal<br/>0x01 Remote Temp | Yes |
| 2 | Remote Temperature | See [[Legacy Current Temperatures\|Special Data Types#Legacy Current Temperatures]] | ? |
| 3 | Extended Remote Temperature | See [[Enhanced Temperatures\|Special Data Types#Enhanced Temperatures]] | Yes |
| Byte | Purpose | Possible Values | Supported by mUART | Notes |
|------|-----------------------------|------------------------------------------------|--------------------|-------|
| 0 | Command Type | 0x07 | Yes | |
| 1 | Flags | 0x00 Use Internal<br/>0x01 Remote Temp | Yes |
| 2 | Remote Temperature | See [Legacy Current Temperatures][legacy-temp] | Yes |
| 3 | Extended Remote Temperature | See [Enhanced Temperatures][enhanced-temp] | Yes |

When decoding this value, byte 3 takes predecence over byte 2. When sending this packet, it appears to be safe to just
When decoding this value, byte 3 takes precedence over byte 2. When sending this packet, it appears to be safe to just
send byte 3 though be aware that this may cause an issue with older units.

[legacy-temp]: /developer/data-types/temperature-units#legacy-current-temperatures
[enhanced-temp]: /developer/data-types/temperature-units#enhanced-temperatures
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
# Command `0x08` - Set Run Status
# Command `0x08` - Set Run State

Seems to correlate (at least partially) with command 0x09. Name/other flags TBD.
Seems to correlate (at least partially) with [`0x62 0x09` - Get Run State][get-run-state]. Name/other flags TBD.

| Byte | Purpose | Possible Values | Supported by mUART | Notes |
|------|--------------|------------------------|--------------------|---------------------------------------|
| 0 | Command Type | 0x01 | Yes |
| 1-2 | Update Flags | Traditional hex flags | Partially | Indicates which parameters to update. |
| 3 | Filter Reset | 0x00: No<br/>0x01: Yes | | Update flag 0x0001 |
| 3 | Filter Reset | 0x00: No<br/>0x01: Yes | | Update flag 0x0001 |

[get-run-state]: /developer/packet-reference/0x62-get-response/0x09-get-run-state
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,13 @@ only functions to update need be sent), clients should take care to get active f
change, and then send this command. Likewise, clients should take care to only send packets for the relevant page for
their units (e.g. do not send a set for a function normally in Page 2 as Page 1).

Settings may be retrieved via [[Get Request 0x20 and 0x22\|(0x62) Get Response#Type 0x20 and 0x22 - Get Functions]].
Settings may be retrieved via [`0x62 0x20` - Get Functions][get-functions].

| Byte | Purpose | Possible Values | Supported by mUART | Notes |
|------|-------------------|-----------------------------------------------------------------|--------------------|------------------------------------------|
| 0 | Command Type | 0x1F, 0x21 | No |
| 1-14 | Function Settings | See [[Function Settings\|Special-Data-Types#function-settings]] | | New settings to apply |
| 15 | End Byte | 0x00 | | Unsure if 0x00 has a specific value here |
| Byte | Purpose | Possible Values | Supported by mUART | Notes |
|------|-------------------|----------------------------------------|--------------------|------------------------------------------|
| 0 | Command Type | 0x1F, 0x21 | No |
| 1-14 | Function Settings | See [Function Settings][function-type] | | New settings to apply |
| 15 | End Byte | 0x00 | | Unsure if 0x00 has a specific value here |

[get-functions]: /developer/packet-reference/0x62-get-response/0x20-0x22-get-functions
[function-type]: /developer/data-types/function-settings
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,4 @@ Unconfirmed, needs validation from people who have relevant hardware.
|------|------------------------------------------------------------------------------------------|
| 0x01 | [MHK2](https://mylinkdrive.com/USA/Controls/MHK2?product&categoryName=Controls)/MHK1 (?) |
| 0x02 | Outdoor Sensor (MOS1?) |
| 0x04 | [Indoor Sensor](https://mylinkdrive.com/USA/Controls/PAC_USWHS003_TH_1) |
| 0x04 | [Indoor Sensor](https://mylinkdrive.com/USA/Controls/PAC_USWHS003_TH_1) (?) |
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,22 @@

Sent from the MHK2 to a Kumo Cloud unit, captured via logic analyzer.

| Byte | Purpose | Possible Values | Supported by mUART | Notes |
|------|------------------------|---------------------------------------------------|--------------------|-------------------------------------|
| 0 | Command Type | 0xA8 | No | |
| 1 | Flags | Traditional hex flags | | Determines which fields to process |
| 2-5 | Thermostat Time (?) | See [[Timestamps\|Special Data Types#Timestamps]] | | Flag 0x01 |
| 6 | ??? | 0x00, 0x01 | | Flag 0x02 |
| 7 | ??? | 0x00, 0x01, 0x02 | | Flag 0x04 |
| 8 | Auto Heat Setpoint (?) | Varies | | Flag 0x08<br/>Resets if invalid (?) |
| 9 | Auto Cool Setpoint (?) | Varies | | Flag 0x10<br/>Resets if invalid (?) |
| 10 | ??? | 0x00, 0x01 | | Flag 0x20 |
| 11 | ??? | 0x00, 0x01 | | Flag 0x40 |
| Byte | Purpose | Possible Values | Supported by mUART | Notes |
|------|------------------------|-----------------------------|--------------------|-------------------------------------|
| 0 | Command Type | 0xA8 | No | |
| 1 | Flags | Traditional hex flags | | Determines which fields to process |
| 2-5 | Thermostat Time (?) | See [Timestamps][timestamp] | | Flag 0x01 |
| 6 | ??? | 0x00, 0x01 | | Flag 0x02 |
| 7 | ??? | 0x00, 0x01, 0x02 | | Flag 0x04 |
| 8 | Auto Heat Setpoint (?) | Varies | | Flag 0x08<br/>Resets if invalid (?) |
| 9 | Auto Cool Setpoint (?) | Varies | | Flag 0x10<br/>Resets if invalid (?) |
| 10 | ??? | 0x00, 0x01 | | Flag 0x20 |
| 11 | ??? | 0x00, 0x01 | | Flag 0x40 |

[timestamp]: /developer/data-types/timestamps

### Sample Packets

Sample Packets:
```
[FC 41 01 30 10] A8 01 1C DD 51 E0 00 00 00 00 00 00 00 00 00 00 [AB]
[FC 41 01 30 10] A8 01 1C DD 51 EA 00 00 00 00 00 00 00 00 00 00 [A1]
Expand Down
10 changes: 6 additions & 4 deletions docs/developer/packet-reference/0x42-get-request.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Packet `0x42`: Get Request

This packet appears to be a generic "get" command to the HVAC unit, and is used to query information about the heat
pump. This packet type is analogous to an HTTP `GET` request. The response to this packet will be a (0x62) Get Response
packet.
pump. This packet type is analogous to an HTTP `GET` request. The response to this packet will be a
[`0x62` - Get Response][get-response] packet.

The first byte of this packet contains the command type to retrieve information about, which is also used as a
disambiguator. This field does not appear to normally have a body under standard operating conditions - except for
Expand All @@ -13,5 +13,7 @@ disambiguator. This field does not appear to normally have a body under standard
| 0 | CommandType | Multiple | Partial |
| 1-15 | Body? | N/A | N/A | Typically all zeroes |

The command types for this packet are listed in the (0x62) Get Response page, as bodies usually aren't relevant
here.
The command types for this packet are listed in the [`0x62` - Get Response][get-response], as bodies usually aren't
relevant here.

[get-response]: 0x62-get-response
Loading

0 comments on commit ae5392c

Please sign in to comment.