forked from openhab/openhab-addons
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[panasonicbdp] Initial contribution (openhab#16122)
Signed-off-by: Michael Lobstein <[email protected]>
- Loading branch information
Showing
16 changed files
with
1,480 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
This content is produced and maintained by the openHAB project. | ||
|
||
* Project home: https://www.openhab.org | ||
|
||
== Declared Project Licenses | ||
|
||
This program and the accompanying materials are made available under the terms | ||
of the Eclipse Public License 2.0 which is available at | ||
https://www.eclipse.org/legal/epl-2.0/. | ||
|
||
== Source Code | ||
|
||
https://github.com/openhab/openhab-addons |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,242 @@ | ||
# Panasonic Blu-ray Player Binding | ||
|
||
This binding connects Panasonic Blu-ray players from 2011/2012 and UHD Blu-ray players from 2018 to openHAB. | ||
**Supported Blu-ray models:** DMP-BDT110, DMP-BDT210, DMP-BDT310, DMP-BDT120, DMP-BDT220, DMP-BDT320, DMP-BBT01 & DMP-BDT500. | ||
**Supported UHD models:** DP-UB420/424, DP-UB820/824 & DP-UB9000/9004. | ||
|
||
**Please note:** The player must be on the same IP subnet as the openHAB server for this binding to function. | ||
If the connection to the player originates from a different subnet, 404 response errors are sent in response to all requests. | ||
|
||
To enable network remote control of the Blu-ray model players, configure the following settings: | ||
**Player Settings/Network/Network Settings/Remote Device Settings** | ||
Then make sure you have the following values set: | ||
**Remote Device Operation: On** | ||
**Registration Type: Automatic** | ||
|
||
For the UHD models, Voice Control must be enabled for the player's http interface to be active: | ||
**Player Settings/Network/Voice Control: On** | ||
|
||
To enable the binding to control the player while off (network active while off), Quick Start mode must be On as follows: | ||
**Player Settings/System/Quick Start: On** | ||
|
||
**UHD Model Command Authentication:** | ||
The UHD models require authentication to use the control API. | ||
A player key must be specified in the thing configuration in order for the `power`, `button` and `control` channels to work. | ||
UHD model players that are patched do not require a player key. | ||
See the [AVForums discussions](https://www.avforums.com/forums/blu-ray-dvd-player-multiregion-hacks.126/) of the DP-UB420/820/9000 players for more information. | ||
|
||
## Supported Things | ||
|
||
There are two supported thing types, which represent either a BD player or a UHD player. | ||
A supported Blu-ray player uses the `bd-player` id and a supported UHD Blu-ray player uses the `uhd-player` id. | ||
Multiple Things can be added if more than one player is to be controlled. | ||
|
||
## Discovery | ||
|
||
Auto-discovery is supported if the player can be located on the local network using UPnP. | ||
Otherwise the thing must be manually added. | ||
|
||
## Binding Configuration | ||
|
||
The binding has no configuration options, all configuration is done at Thing level. | ||
|
||
## Thing Configuration | ||
|
||
The Thing has a few configuration parameters: | ||
|
||
| Name | Type | Description | Default | Required | | ||
|-----------|---------|-------------------------------------------------------------------------------------------------------|---------|----------| | ||
| hostName | text | The host name or IP address of the player. | N/A | yes | | ||
| refresh | integer | Overrides the refresh interval of the player status. Minimum interval is 5 seconds. | 5 | no | | ||
| playerKey | text | For UHD models, to enable authentication of control commands, a key for the player must be specified. | N/A | no | | ||
|
||
Some notes: | ||
|
||
* The control protocol of these players is undocumented and may not work consistently in all situations | ||
* The UHD models only support playback elapsed time (not title total time or chapter information) reporting | ||
* The time and chapter information is only available when playing a Blu-ray disc (not DVD or CD) | ||
* There are reports in forum postings that not all commands work on all of the older models (i.e.: Power does not work on DMP-BDT110) | ||
* Not all status information is available from all BD models (i.e.: playback elapsed time not reported by some models) | ||
|
||
## Channels | ||
|
||
The following channels are available: | ||
|
||
| Channel ID | Item Type | Read/Write | Description | | ||
|-----------------|-------------|------------|---------------------------------------------------------------------------------------| | ||
| power | Switch | RW | Turn the power for the player ON or OFF. | | ||
| button | String | W | Sends a command to the player. See lists of available commands in Appendix A below. | | ||
| control | Player | RW | Control Playback e.g. Play/Pause/Next/Previous/FForward/Rewind. | | ||
| player-status | String | R | The player status i.e.: Power Off, Tray Open, Stopped, Playback, Pause Playback, etc. | | ||
| time-elapsed | Number:Time | R | The total number of seconds of playback time elapsed. | | ||
| time-total | Number:Time | R | The total length of the current playing title in seconds. Not on UHD models. | | ||
| chapter-current | Number | R | The current chapter number. Not on UHD models. | | ||
| chapter-total | Number | R | The total number of chapters in the current title. Not on UHD models. | | ||
|
||
## Full Example | ||
|
||
panasonicbdp.things: | ||
|
||
```java | ||
panasonicbdp:bd-player:mybdplayer "My Blu-ray player" [ hostName="192.168.10.1", refresh=5 ] | ||
panasonicbdp:uhd-player:myuhdplayer "My UHD Blu-ray player" [ hostName="192.168.10.1", refresh=5, playerKey="ABCDEF1234567890abcdef0123456789" ] | ||
``` | ||
|
||
panasonicbdp.items: | ||
|
||
```java | ||
// BD Player | ||
Switch Player_Power "Power" { channel="panasonicbdp:bd-player:mybdplayer:power" } | ||
String Player_Button "Send Command" { channel="panasonicbdp:bd-player:mybdplayer:button", autoupdate="false" } | ||
Player Player_Control "Control" { channel="panasonicbdp:bd-player:mybdplayer:control" } | ||
String Player_PlayerStatus "Status: [%s]" { channel="panasonicbdp:bd-player:mybdplayer:player-status" } | ||
Number:Time Player_TimeElapsed "Elapsed Time: [%d %unit%]" { channel="panasonicbdp:bd-player:mybdplayer:time-elapsed" } | ||
Number:Time Player_TimeTotal "Total Time: [%d %unit%]" { channel="panasonicbdp:bd-player:mybdplayer:time-total" } | ||
Number Player_ChapterCurrent "Current Chapter: [%d]" { channel="panasonicbdp:bd-player:mybdplayer:chapter-current" } | ||
Number Player_ChapterTotal "Total Chapters: [%d]" { channel="panasonicbdp:bd-player:mybdplayer:chapter-total" } | ||
|
||
// UHD Player | ||
Switch Player_Power "Power" { channel="panasonicbdp:uhd-player:myuhdplayer:power" } | ||
String Player_Button "Send Command" { channel="panasonicbdp:uhd-player:myuhdplayer:button", autoupdate="false" } | ||
Player Player_Control "Control" { channel="panasonicbdp:uhd-player:myuhdplayer:control" } | ||
String Player_PlayerStatus "Status: [%s]" { channel="panasonicbdp:uhd-player:myuhdplayer:player-status" } | ||
Number:Time Player_TimeElapsed "Elapsed Time: [%d %unit%]" { channel="panasonicbdp:uhd-player:myuhdplayer:time-elapsed" } | ||
``` | ||
|
||
panasonicbdp.sitemap: | ||
|
||
```perl | ||
sitemap panasonicbdp label="Panasonic Blu-ray" { | ||
Frame label="Blu-ray Player" { | ||
Switch item=Player_Power | ||
Selection item=Player_Button icon="player" | ||
Default item=Player_Control | ||
Text item=Player_PlayerStatus | ||
Text item=Player_TimeElapsed icon="time" | ||
// The following three channels are not available on UHD models | ||
Text item=Player_TimeTotal icon="time" | ||
Text item=Player_ChapterCurrent icon="time" | ||
Text item=Player_ChapterTotal icon="time" | ||
} | ||
} | ||
``` | ||
|
||
### Appendix A - 'button' channel command codes: | ||
|
||
**List of available button commands for BD players:** | ||
|
||
| Function | Command | | ||
|--------------------------|----------| | ||
| Power On | POWERON | | ||
| Power Off | POWEROFF | | ||
| Power Toggle | POWER | | ||
| Play | PLAYBACK | | ||
| Pause | PAUSE | | ||
| Stop | STOP | | ||
| Fast Forward | CUE | | ||
| Reverse | REV | | ||
| Skip Forward | SKIPFWD | | ||
| Skip Back | SKIPREV | | ||
| Open/Close | OP_CL | | ||
| Status | DSPSEL | | ||
| Top Menu | TITLE | | ||
| Pop-Up Menu | PUPMENU | | ||
| Up | UP | | ||
| Down | DOWN | | ||
| Left | LEFT | | ||
| Right | RIGHT | | ||
| OK | SELECT | | ||
| Submenu | MENU | | ||
| Return | RETURN | | ||
| 1 (@.) | D1 | | ||
| 2 (ABC) | D2 | | ||
| 3 (DEF) | D3 | | ||
| 4 (GHI) | D4 | | ||
| 5 (JKL) | D5 | | ||
| 6 (MNO) | D6 | | ||
| 7 (PQRS) | D7 | | ||
| 8 (TUV) | D8 | | ||
| 9 (WXYZ) | D9 | | ||
| 0 (-,) | D0 | | ||
| 12 | D12 | | ||
| * (Cancel) | CLEAR | | ||
| # ([_]) | SHARP | | ||
| Red | RED | | ||
| Green | GREEN | | ||
| Blue | BLUE | | ||
| Yellow | YELLOW | | ||
| Home | MLTNAVI | | ||
| Netflix (broken/too old) | NETFLIX | | ||
| VIERA Cast | V_CAST | | ||
| Network | NETWORK | | ||
| Setup | SETUP | | ||
| Exit | EXIT | | ||
| Audio | AUDIOSEL | | ||
| 3D | 3D | | ||
| Playback View (buttons not in other views)|| | ||
| PIP | P_IN_P | | ||
| OSD (DISPLAY) | OSDONOFF | | ||
| Shuttle(BD) View (buttons not in other views)|| | ||
| Swipe in CW circle | SHFWD2 | | ||
| Swipe in CCW circle | SHREV2 | | ||
|
||
**List of available button commands for UHD players:** | ||
|
||
| Function | Command | | ||
|------------------|------------------| | ||
| Power On | POWERON | | ||
| Power Off | POWEROFF | | ||
| Power Toggle | POWER | | ||
| Play | PLAYBACK | | ||
| Pause | PAUSE | | ||
| Stop | STOP | | ||
| Fast Forward | CUE | | ||
| Reverse | REV | | ||
| Skip Forward | SKIPFWD | | ||
| Skip Back | SKIPREV | | ||
| Manual Skip +60s | MNSKIP | | ||
| Manual Skip -10s | MNBACK | | ||
| Open/Close | OP_CL | | ||
| Status | DSPSEL | | ||
| Top Menu | TITLE | | ||
| Pop-up Menu | PUPMENU | | ||
| Up | UP | | ||
| Down | DOWN | | ||
| Left | LEFT | | ||
| Right | RIGHT | | ||
| OK | SELECT | | ||
| Submenu | MENU | | ||
| Return | RETURN | | ||
| 1 (@.) | D1 | | ||
| 2 (ABC) | D2 | | ||
| 3 (DEF) | D3 | | ||
| 4 (GHI) | D4 | | ||
| 5 (JKL) | D5 | | ||
| 6 (MNO) | D6 | | ||
| 7 (PQRS) | D7 | | ||
| 8 (TUV) | D8 | | ||
| 9 (WXYZ) | D9 | | ||
| 0 (-,) | D0 | | ||
| 12 | D12 | | ||
| * (Cancel) | CLEAR | | ||
| # ([_]) | SHARP | | ||
| Red | RED | | ||
| Green | GREEN | | ||
| Blue | BLUE | | ||
| Yellow | YELLOW | | ||
| Home | MLTNAVI | | ||
| Netflix | NETFLIX | | ||
| VIERA Cast | V_CAST | | ||
| Network | NETWORK | | ||
| Setup | SETUP | | ||
| Exit | EXIT | | ||
| Audio | AUDIOSEL | | ||
| Subtitle | TITLEONOFF | | ||
| Closed Caption | CLOSED_CAPTION | | ||
| Playback Info | PLAYBACKINFO | | ||
| HDR Picture Mode | HDR_PICTUREMODE | | ||
| Mirroring | MIRACAST | | ||
| Picture Setting | PICTURESETTINGS | | ||
| Sound Effect | SOUNDEFFECT | | ||
| High Clarity | HIGHCLARITY | | ||
| Skip The Trailer | SKIP_THE_TRAILER | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
|
||
<modelVersion>4.0.0</modelVersion> | ||
|
||
<parent> | ||
<groupId>org.openhab.addons.bundles</groupId> | ||
<artifactId>org.openhab.addons.reactor.bundles</artifactId> | ||
<version>4.2.0-SNAPSHOT</version> | ||
</parent> | ||
|
||
<artifactId>org.openhab.binding.panasonicbdp</artifactId> | ||
|
||
<name>openHAB Add-ons :: Bundles :: Panasonic Blu-ray Player Binding</name> | ||
|
||
</project> |
10 changes: 10 additions & 0 deletions
10
bundles/org.openhab.binding.panasonicbdp/src/main/feature/feature.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<features name="org.openhab.binding.panasonicbdp-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.4.0"> | ||
<repository>mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features</repository> | ||
|
||
<feature name="openhab-binding-panasonicbdp" description="Panasonic Blu-ray Player Binding" version="${project.version}"> | ||
<feature>openhab-runtime-base</feature> | ||
<feature>openhab-transport-upnp</feature> | ||
<bundle start-level="80">mvn:org.openhab.addons.bundles/org.openhab.binding.panasonicbdp/${project.version}</bundle> | ||
</feature> | ||
</features> |
Oops, something went wrong.