[anthem] Add channel, refactor parser, add tests (#14720)

* Add channel and refactor parser

Signed-off-by: Mark Hilbush <mark@hilbush.com>
This commit is contained in:
Mark Hilbush
2023-05-04 17:26:14 -04:00
committed by GitHub
parent 891da2c944
commit 6ebfd84bdd
12 changed files with 567 additions and 137 deletions

View File

@@ -30,22 +30,24 @@ The Anthem AV processor supports the following channels (some zones/channels are
| Channel | Type | Description |
|-------------------------|---------|--------------|
| *Main Zone* | | |
| 1#power | Switch | Power the zone on or off |
| 1#volume | Dimmer | Increase or decrease the volume level |
| 1#volumeDB | Number | The actual volume setting |
| 1#mute | Switch | Mute the volume |
| 1#activeInput | Number | The currently active input source |
| *General* | | |
| general#command | String | Send a custom command |
| *Main Zone* | | |
| 1#power | Switch | Power the zone on or off |
| 1#volume | Dimmer | Increase or decrease the volume level |
| 1#volumeDB | Number | The actual volume setting |
| 1#mute | Switch | Mute the volume |
| 1#activeInput | Number | The currently active input source |
| 1#activeInputShortName | String | Short friendly name of the active input |
| 1#activeInputLongName | String | Long friendly name of the active input |
| *Zone 2* | | |
| 2#power | Switch | Power the zone on or off |
| 2#volume | Dimmer | Increase or decrease the volume level |
| 2#volumeDB | Number | The actual volume setting |
| 2#mute | Switch | Mute the volume |
| 2#activeInput | Number | The currently active input source |
| 1#activeInputLongName | String | Long friendly name of the active input |
| *Zone 2* | | |
| 2#power | Switch | Power the zone on or off |
| 2#volume | Dimmer | Increase or decrease the volume level |
| 2#volumeDB | Number | The actual volume setting |
| 2#mute | Switch | Mute the volume |
| 2#activeInput | Number | The currently active input source |
| 2#activeInputShortName | String | Short friendly name of the active input |
| 2#activeInputLongName | String | Long friendly name of the active input |
| 2#activeInputLongName | String | Long friendly name of the active input |
## Full Example
@@ -59,6 +61,8 @@ Thing anthem:anthem:mediaroom "Anthem AVM 60" [ host="192.168.1.100" ]
### Items
```
String Anthem_Command "Command [%s]" { channel="anthem:anthem:mediaroom:general#command" }
Switch Anthem_Z1_Power "Zone 1 Power [%s]" { channel="anthem:anthem:mediaroom:1#power" }
Dimmer Anthem_Z1_Volume "Zone 1 Volume [%s]" { channel="anthem:anthem:mediaroom:1#volume" }
Number Anthem_Z1_Volume_DB "Zone 1 Volume dB [%.0f]" { channel="anthem:anthem:mediaroom:1#volumeDB" }