[Documentation] Markdown improvements t to z (#14371)
* Apply markdown fixes for bindings with letter _t_ * Apply markdown fixes for bindings with letter _u_ * Apply markdown fixes for bindings with letter _v_ * Apply markdown fixes for bindings with letter _w_ * Apply markdown fixes for bindings with letter _x_ * Apply markdown fixes for bindings with letter _y_ * Apply markdown fixes for bindings with letter _z_ Signed-off-by: Jerome Luckenbach <github@luckenba.ch>
This commit is contained in:
committed by
GitHub
parent
69a09ed825
commit
ce3f673380
@@ -13,19 +13,17 @@ If your Yamaha receiver is not on the list, it likely is a newer model that supp
|
||||
| yamahaAV | Bridge | Yamaha Receiver hardware |
|
||||
| zone | Thing | Zones of your receiver |
|
||||
|
||||
|
||||
## Discovery
|
||||
|
||||
Just use the auto discovery feature to detect your hardware.
|
||||
Initially a thing for the main zone will be created.
|
||||
This will trigger a zone detection internally and all available additional zones will appear as new things.
|
||||
|
||||
|
||||
## Thing Configuration
|
||||
|
||||
To manually add a receiver and its zones a `things/yamahareceiver.things` file could look like this:
|
||||
|
||||
```
|
||||
```java
|
||||
Bridge yamahareceiver:yamahaAV:ReceiverID "Yamaha Receiver Bridge Name" [host="a.b.c.d", refreshInterval=20] {
|
||||
Thing zone ZoneID1 "Main Zone Thing Name" @ "location" [zone="Main_Zone", volumeDbMin=-81, volumeDbMax=12]
|
||||
Thing zone ZoneID2 "Zone 2 Thing Name" @ "location" [zone="Zone_2"]
|
||||
@@ -53,7 +51,6 @@ Configruation parameters for Thing `zone`:
|
||||
| `volumeDbMin` | no | -80 | Lowest volume in dB |
|
||||
| `volumeDbMax` | no | 12 | Highest volume in dB |
|
||||
|
||||
|
||||
## Channels
|
||||
|
||||
The implemented channels for the `yamahaAV` bridge are:
|
||||
@@ -65,8 +62,6 @@ The implemented channels for the `yamahaAV` bridge are:
|
||||
| `party_mode_mute` | `Switch` | Switches the mute ON or OFF when in party mode. Write only (state updates are not available). Applicable only when party mode is on. May not be supported on all models. |
|
||||
| `party_mode_volume` | `Dimmer` | Increase or decrease volume when in party mode. Write only (state updates are not available). INCREASE / DECREASE commands only. Applicable only when party mode is on. May not be supported on all models. |
|
||||
|
||||
|
||||
|
||||
The implemented channels for a `zone` thing are grouped in three groups. These are the zones supported: `Main_Zone`, `Zone_2`, `Zone_3`, `Zone_4`.
|
||||
|
||||
Zone control channels are:
|
||||
@@ -107,13 +102,13 @@ Navigation is not supported by Spotify input.
|
||||
|
||||
### Basic Setup
|
||||
|
||||
##### Auto Linking
|
||||
#### Auto Linking
|
||||
|
||||
Link the items to the channels of your preferred zone (here `Main_Zone`) in the UI after you have saved your items file.
|
||||
|
||||
Items:
|
||||
|
||||
```
|
||||
```java
|
||||
Switch Yamaha_Power "Power [%s]" <switch>
|
||||
Dimmer Yamaha_Volume "Volume [%.1f %%]" <soundvolume>
|
||||
Switch Yamaha_Mute "Mute [%s]" <soundvolume_mute>
|
||||
@@ -123,14 +118,14 @@ String Yamaha_Scene "Scene []" <video>
|
||||
Number Yamaha_Dialogue_Level "Dialogue Level [%d]" <soundvolume>
|
||||
```
|
||||
|
||||
##### Manual Linking
|
||||
#### Manual Linking
|
||||
|
||||
Replace the UPnP UDN (here: `96a40ba9`) with the real UDN provided by your UPnP discovery.
|
||||
Also replace the zone name with your preferred zone (here `Main_Zone`).
|
||||
|
||||
Items:
|
||||
|
||||
```
|
||||
```java
|
||||
Switch Yamaha_Power "Power [%s]" <switch> { channel="yamahareceiver:zone:96a40ba9:Main_Zone:zone_channels#power" }
|
||||
Dimmer Yamaha_Volume "Volume [%.1f %%]" <soundvolume> { channel="yamahareceiver:zone:96a40ba9:Main_Zone:zone_channels#volume" }
|
||||
Switch Yamaha_Mute "Mute [%s]" <soundvolume_mute> { channel="yamahareceiver:zone:96a40ba9:Main_Zone:zone_channels#mute" }
|
||||
@@ -138,8 +133,8 @@ String Yamaha_Input "Input [%s]" <video>
|
||||
String Yamaha_Surround "Surround [%s]" <video> { channel="yamahareceiver:zone:96a40ba9:Main_Zone:zone_channels#surroundProgram" }
|
||||
String Yamaha_Scene "Scene []" <video> { channel="yamahareceiver:zone:96a40ba9:Main_Zone:zone_channels#scene" }
|
||||
Switch Yamaha_Dialogue_Level "Dialogue Level [%d]" <soundvolume> { channel="yamahareceiver:zone:96a40ba9:Main_Zone:zone_channels#dialogueLevel" }
|
||||
Switch Yamaha_HDMI1_Output "HDMI1 Output [%s]" <switch> { channel="yamahareceiver:zone:96a40ba9:Main_Zone:zone_channels#hdmi1Out" }
|
||||
Switch Yamaha_HDMI2_Output "HDMI2 Output [%s]" <switch> { channel="yamahareceiver:zone:96a40ba9:Main_Zone:zone_channels#hdmi2Out" }
|
||||
Switch Yamaha_HDMI1_Output "HDMI1 Output [%s]" <switch> { channel="yamahareceiver:zone:96a40ba9:Main_Zone:zone_channels#hdmi1Out" }
|
||||
Switch Yamaha_HDMI2_Output "HDMI2 Output [%s]" <switch> { channel="yamahareceiver:zone:96a40ba9:Main_Zone:zone_channels#hdmi2Out" }
|
||||
|
||||
Switch Yamaha_PartyMode "Party mode [%s]" <switch> { channel="yamahareceiver:yamahaAV:96a40ba9:party_mode" }
|
||||
Switch Yamaha_PartyModeMute "Party mode mute [%s]" <soundvolume_mute> { channel="yamahareceiver:yamahaAV:96a40ba9:party_mode_mute" }
|
||||
@@ -148,7 +143,7 @@ Dimmer Yamaha_PartyModeVolume "Party mode volume []" <soundvolume>
|
||||
|
||||
Sitemap:
|
||||
|
||||
```
|
||||
```perl
|
||||
Switch item=Yamaha_Power
|
||||
Switch item=Yamaha_Mute
|
||||
Slider item=Yamaha_Volume
|
||||
@@ -164,13 +159,13 @@ Switch item=Yamaha_PartyModeMute
|
||||
Switch item=Yamaha_PartyModeVolume mappings=[DECREASE="-", INCREASE="+"]
|
||||
```
|
||||
|
||||
Note: Some input values for `Yamaha_Input` might not be supported on your model. Make sure to adjust these values.
|
||||
Note: Some input values for `Yamaha_Input` might not be supported on your model. Make sure to adjust these values.
|
||||
|
||||
### Playback
|
||||
|
||||
Items:
|
||||
|
||||
```
|
||||
```java
|
||||
String Yamaha_Playback "[]" <video> { channel="yamahareceiver:zone:96a40ba9:Main_Zone:playback_channels#playback" }
|
||||
String Yamaha_Playback_Station "Station [%s]" <video> { channel="yamahareceiver:zone:96a40ba9:Main_Zone:playback_channels#playback_station" }
|
||||
String Yamaha_Playback_Artist "Artist [%s]" <video> { channel="yamahareceiver:zone:96a40ba9:Main_Zone:playback_channels#playback_artist" }
|
||||
@@ -181,7 +176,7 @@ String Yamaha_Playback_Song_Image "[]" <video>
|
||||
|
||||
Sitemap:
|
||||
|
||||
```
|
||||
```perl
|
||||
Switch item=Yamaha_Playback mappings=["Previous"="⏮", "Play"="►", "Pause"="⏸", "Stop"="⏹", "Next"="⏭"] visibility=[Yamaha_Input=="Spotify", Yamaha_Input=="NET RADIO", Yamaha_Input=="Bluetooth"]
|
||||
Text item=Yamaha_Playback_Station visibility=[Yamaha_Input=="TUNER", Yamaha_Input=="NET RADIO"]
|
||||
Text item=Yamaha_Playback_Artist
|
||||
@@ -196,7 +191,7 @@ Note the `visiblility` rules - you may need to adjust to your particular AVR mod
|
||||
|
||||
Items:
|
||||
|
||||
```
|
||||
```java
|
||||
Number Yamaha_Preset "Preset [%d]" <video> { channel="yamahareceiver:zone:96a40ba9:Main_Zone:playback_channels#preset"}
|
||||
String Yamaha_Tuner_Band "Band [%s]" <video> { channel="yamahareceiver:zone:96a40ba9:Main_Zone:playback_channels#tuner_band" }
|
||||
String Yamaha_Input_Ex
|
||||
@@ -206,17 +201,17 @@ The synthetic `Yamaha_Input_Ex` will be calculated by a rule (see below) and wil
|
||||
|
||||
Rules:
|
||||
|
||||
```
|
||||
```java
|
||||
rule "Yamaha_Input_Ex"
|
||||
when
|
||||
Item Yamaha_Input changed or
|
||||
Item Yamaha_Tuner_Band changed
|
||||
Item Yamaha_Input changed or
|
||||
Item Yamaha_Tuner_Band changed
|
||||
then
|
||||
var String input = "" + Yamaha_Input.state
|
||||
if (Yamaha_Input.state == "TUNER" && Yamaha_Tuner_Band.state !== NULL) {
|
||||
input = input + "_" + Yamaha_Tuner_Band.state
|
||||
}
|
||||
Yamaha_Input_Ex.postUpdate(input)
|
||||
var String input = "" + Yamaha_Input.state
|
||||
if (Yamaha_Input.state == "TUNER" && Yamaha_Tuner_Band.state !== NULL) {
|
||||
input = input + "_" + Yamaha_Tuner_Band.state
|
||||
}
|
||||
Yamaha_Input_Ex.postUpdate(input)
|
||||
end
|
||||
```
|
||||
|
||||
@@ -225,7 +220,7 @@ otherwise it will be the same as input (`Yamaha_Input`).
|
||||
|
||||
Sitemap:
|
||||
|
||||
```
|
||||
```perl
|
||||
Selection item=Yamaha_Tuner_Band mappings=[FM="FM",DAB="DAB+"] visibility=[Yamaha_Input=="TUNER"]
|
||||
Selection item=Yamaha_Preset mappings=[2="Radio Krakow",3="PR Trojka",5="RadioZet",8="Radio Chillizet",12="RMF Classic",13="RMF MAXXX"] visibility=[Yamaha_Input_Ex=="TUNER_FM"]
|
||||
Selection item=Yamaha_Preset mappings=[1="FM-1",2="FM-2",3="FM-3"] visibility=[Yamaha_Input_Ex=="TUNER_DAB"]
|
||||
@@ -235,20 +230,20 @@ Notice how we have two preset mappings that each is meant for FM and DAB+ bands
|
||||
|
||||
## Debugging and troubleshooting
|
||||
|
||||
Enabling detailed logging may help troubleshoot your configuration (or trace bugs in the binding itself).
|
||||
Enabling detailed logging may help troubleshoot your configuration (or trace bugs in the binding itself).
|
||||
|
||||
Add the following lines to the logger configuration file (`userdata\etc\org.ops4j.pax.logging.cfg`):
|
||||
|
||||
```
|
||||
```text
|
||||
log4j2.logger.yamaha.name = org.openhab.binding.yamahareceiver
|
||||
log4j2.logger.yamaha.level = TRACE
|
||||
```
|
||||
|
||||
Depending on the desired details choose from levels: `TRACE`, `DEBUG`, `INFO`.
|
||||
Depending on the desired details choose from levels: `TRACE`, `DEBUG`, `INFO`.
|
||||
|
||||
The `openhab.log` will contain internal workings of the binding:
|
||||
|
||||
```
|
||||
```text
|
||||
2017-10-08 12:11:36.848 [TRACE] [al.protocol.xml.DeviceInformationXML] - Found feature Main_Zone
|
||||
2017-10-08 12:11:36.853 [TRACE] [al.protocol.xml.DeviceInformationXML] - Adding zone: Main_Zone
|
||||
2017-10-08 12:11:36.857 [TRACE] [al.protocol.xml.DeviceInformationXML] - Found feature Zone_2
|
||||
@@ -262,11 +257,11 @@ The `openhab.log` will contain internal workings of the binding:
|
||||
|
||||
### Input values
|
||||
|
||||
Certain AVR models in the XML protocol require different values for the input (i.e. `HDMI1` vs `HDMI_1`).
|
||||
Certain AVR models in the XML protocol require different values for the input (i.e. `HDMI1` vs `HDMI_1`).
|
||||
On top of that some AVR models during status updates report different value than sent in the command (i.e. return `HDMI_1` for `HDMI1` command).
|
||||
|
||||
To account for all variations a Yamaha thing setting got introduced: `Input mapping`.
|
||||
This allows to map the input value reported by the AVR after status update to the desired canonical value.
|
||||
To account for all variations a Yamaha thing setting got introduced: `Input mapping`.
|
||||
This allows to map the input value reported by the AVR after status update to the desired canonical value.
|
||||
|
||||
Use the UI to customize the setting for your particular AVR: `Things > Edit > Yamaha Receiver XXX > Input mapping`.
|
||||
For example, if your AVR returns `HDMI_1` for command `HDMI1` you can create such mapping list:
|
||||
@@ -275,7 +270,7 @@ For example, if your AVR returns `HDMI_1` for command `HDMI1` you can create suc
|
||||
|
||||
If you unsure what mapping to apply, enable trace logging (see section earlier) and you should see what is going on:
|
||||
|
||||
```
|
||||
```text
|
||||
2017-12-28 20:43:40.933 [TRACE] [rnal.protocol.xml.XMLProtocolService] - Zone Main_Zone - inputs: InputDto{param='Spotify', writable=true}, InputDto{param='JUKE', writable=true}, InputDto{param='AirPlay', writable=true}, InputDto{param='MusicCast Link', writable=true}, InputDto{param='SERVER', writable=true}, InputDto{param='NET RADIO', writable=true}, InputDto{param='Bluetooth', writable=true}, InputDto{param='USB', writable=true}, InputDto{param='iPod (USB)', writable=false}, InputDto{param='TUNER', writable=true}, InputDto{param='HDMI1', writable=true}, InputDto{param='HDMI2', writable=true}, InputDto{param='HDMI3', writable=true}, InputDto{param='HDMI4', writable=true}, InputDto{param='HDMI5', writable=true}, InputDto{param='HDMI6', writable=true}, InputDto{param='AV1', writable=true}, InputDto{param='AV2', writable=true}, InputDto{param='AV3', writable=true}, InputDto{param='AUDIO1', writable=true}, InputDto{param='AUDIO2', writable=true}, InputDto{param='AUDIO3', writable=true}, InputDto{param='AUX', writable=true}
|
||||
2017-12-28 20:43:40.935 [TRACE] [ernal.protocol.xml.InputConverterXML] - Converting from state name Spotify to Spotify - as per no conversion rule
|
||||
2017-12-28 20:43:40.937 [TRACE] [ernal.protocol.xml.InputConverterXML] - Converting from state name JUKE to JUKE - as per legacy mapping
|
||||
@@ -303,13 +298,13 @@ If you unsure what mapping to apply, enable trace logging (see section earlier)
|
||||
2017-12-28 20:43:40.983 [TRACE] [ernal.protocol.xml.InputConverterXML] - Converting from state name AUX to AUX - as per legacy mapping
|
||||
2017-12-28 20:43:40.986 [TRACE] [.protocol.xml.ZoneAvailableInputsXML] - Zone Main_Zone - available inputs: AIRPLAY, AUDIO1, AUDIO2, AUDIO3, AUX, AV1, AV2, AV3, Bluetooth, HDMI1, HDMI2, HDMI3, HDMI4, HDMI5, HDMI6, JUKE, MUSICCAST_LINK, NET RADIO, SERVER, Spotify, TUNER, USB
|
||||
|
||||
```
|
||||
```
|
||||
|
||||
Note: User defined mappings have as per user defined mapping and the rest comes is the existing add-on mapping logic.
|
||||
|
||||
After switching to `HDMI1` you should see this:
|
||||
|
||||
```
|
||||
```text
|
||||
2017-12-28 21:08:51.683 [TRACE] [ernal.protocol.xml.InputConverterXML] - Converting from HDMI1 to command name HDMI1
|
||||
2017-12-28 21:08:51.820 [TRACE] [ernal.protocol.xml.InputConverterXML] - Converting from state name HDMI1 to HDMI1 - as per user defined mapping
|
||||
2017-12-28 21:08:51.821 [TRACE] [internal.protocol.xml.ZoneControlXML] - Zone Main_Zone state - power: true, input: HDMI1, mute: false, surroundProgram: 5ch Stereo, volume: 35.869564
|
||||
@@ -320,4 +315,4 @@ After switching to `HDMI1` you should see this:
|
||||
|
||||
The Yamaha HTR-4069 handles Zone_2 in a different way from the other models. Specifically only selected functionality like power, mute and volume can be controlled. Also internally the Zone_2 is emulated via Zone_B XML elements available on Main_Zone.
|
||||
|
||||
Special handling has been added to emulate Zone_2 via the Zone_B feature.
|
||||
Special handling has been added to emulate Zone_2 via the Zone_B feature.
|
||||
|
||||
Reference in New Issue
Block a user