[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:
Jerome Luckenbach
2023-04-11 12:54:54 +02:00
committed by GitHub
parent 69a09ed825
commit ce3f673380
54 changed files with 1655 additions and 1778 deletions

View File

@@ -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.