panasonic-viera
UPDATE (2019-03-28)
Pincode and encryption support has been added for newer TV models circa 2019. For example, the "FZ" Panasonic models. These new models require pincode authentication and communication is now encapsulated in AES-CBC-128 encryption with HMAC-SHA-256. See issue https://github.com/florianholzapfel/panasonic-viera/issues/9
Please note that these new changes have not yet been tested thoroughly, use at your own risk.
Usage
Code
Examples
Request a pin code and get credentials
import panasonic_viera
rc = panasonic_viera.RemoteControl("<HOST>")
# Make the TV display a pairing pin code
rc.request_pin_code()
# Interactively ask the user for the pin code
pin = raw_input("Enter the displayed pin code: ")
# Authorize the pin code with the TV
rc.authorize_pin_code(pincode=pin)
# Display credentials (application ID and encryption key)
print rc.app_id
print rc.enc_key
# We can now start communicating with our TV
# Send EPG key
rc.send_key(panasonic_viera.Keys.epg)
Use saved credentials
import panasonic_viera
rc = panasonic_viera.RemoteControl("<HOST>", app_id="BSkeeKuuwakd9Q==", encryption_key="EarvNQodKYlj5zTEIhZoXQ==")
# We can now start communicating with our TV
# Send EPG key
rc.send_key(panasonic_viera.Keys.epg)
Increase Volume By 1
import panasonic_viera
rc = panasonic_viera.RemoteControl("<HOST>")
volume = rc.get_volume()
rc.set_volume(volume + 1)
Send EPG Key
import panasonic_viera
rc = panasonic_viera.RemoteControl("<HOST>")
rc.send_key(panasonic_viera.Keys.epg)
Select an input or picture mode
rc = panasonic_viera.RemoteControl("<HOST>")
print(rc.list_inputs())
rc.set_input("HDMI2")
print(rc.list_picture_modes())
rc.set_picture_mode("Cinema")
The PAC controls are optional: older or consumer Panasonic models may not publish them. Both setters wait for the television to report the requested state before returning.
Command Line
This command line starts a REPL to the TV. Therefore it is mainly used testing purposes and not for automating the TV.
usage: panasonic_viera [-h] [--verbose] host [port]
Remote control a Panasonic Viera TV.
positional arguments:
host Address of the Panasonic Viera TV
port Port of the Panasonic Viera TV. Defaults to 55000.
optional arguments:
-h, --help show this help message and exit
--verbose debug output
Metadata
Release files for panasonic-viera 0.4.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| panasonic_viera-0.4.5.tar.gz | 14.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| panasonic_viera-0.4.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.7 kB
Release files / panasonic_viera-0.4.5.tar.gz
| Download URL | panasonic_viera-0.4.5.tar.gz |
|---|---|
| Size | 14.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
33bf6017e785ead96295f3f553b711915482550627d606e5408c187b947f83ee
|
|
BLAKE2b-256 checksum How to use checksums |
db0798cc14bab1bb30929714d3f4cbd7c6b1fcde82680ca5fdeaa9956a3c2142
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / panasonic_viera-0.4.5-py3-none-any.whl
| Download URL | panasonic_viera-0.4.5-py3-none-any.whl |
|---|---|
| Size | 16.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9139746915aeb448a6a2e24c568fcc0f9344f4107042aad4cf291e0ea3d57c3e
|
|
BLAKE2b-256 checksum How to use checksums |
be285d99f73d139a16e0d9dfb702068958a65d500ca7804dc63e3385383d7fa8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency log