Onkyo
Native support
As of the 3.8153 release, Domoticz has built-in support for communication with an Onkyo AV receiver(and some of the newer pioneer receivers since onkyo bought pioneer).
ISCP commands can be sent (by an admin user) by using the onkyoeiscpcommand
command, for example:
json.htm?type=command¶m=onkyoeiscpcommand&idx=${IDX}&action=NPR04
The index of any logical device that belongs to the Onkyo receiver can be used to send raw commands.
Purpose
With this script you can control a Onkyo device that is connected to your local network. On this page there are two versions. There is a PHP-version made by user 'kraades' on the Tweakers.net forum (proven to work with TX-NR-609).
Second is a Lua script made by user 'RasPi2'. This Lua versions has been confirmed working with a TX-NR616.
Which script you use depends on you. Maybe they are both able to control your receiver.
You could use these scriptsfor example to mute your receiver when the doorbell is being pressed. Or include a call to your Onkyo device into a Domoticz-scene so that the receiver will switch to a predefined radio preset when a scene in Domoticz is being activated.
PHP variant
The PHP-script
This script needs a webserver with PHP-enabled.
The instructions are quite easy, but are different on each platform, so search for this yourself ('Raspberry PHP webserver' or something like that).
Create a new file on your webserver, name it something like onkyo.php. Copy the contents from the script on this page to the file you just created, and save the file.
<?php
$command = $_GET['command'];
$params = $_GET['params'];
$hostname = '192.168.0.115';
$port = 60128;
switch ($command)
{
case 'PWR':
case 'AMT':
case 'SLI':
case 'TUN':
$message = '!1' . $command . $params;
break;
case 'MVL':
if ($params > 60)
exit(1);
$message = '!1' . $command . strtoupper(str_pad(dechex($params), 2, '0', STR_PAD_LEFT));
break;
default:
exit(1);
}
print $message;
$fp = pfsockopen($hostname, $port);
$packet = "ISCP\x00\x00\x00\x10\x00\x00\x00" . chr(strlen($message) + 1) . "\x01\x00\x00\x00" . $message . "\x0D";
fwrite($fp, $packet);
fclose($fp);
?>
Instructions for usage
When you have put the script on your webserver and changed the parameters (IP-address of your receiver) to reflect your situation, you can call the script like this:
http://ip_address_of_webserver/path/to/script/onkyo.php?command=PWR¶ms=00 (Off) http://ip_address_of_webserver/path/to/script/onkyo.php?command=PWR¶ms=01 (On) http://ip_address_of_webserver/path/to/script/onkyo.php?command=MVL¶ms=55 (Set volume at level 55) http://ip_address_of_webserver/path/to/script/onkyo.php?command=AMT¶ms=01 (Mute on = sound off) http://ip_address_of_webserver/path/to/script/onkyo.php?command=AMT¶ms=00 (Mute off = sound on) http://ip_address_of_webserver/path/to/script/onkyo.php?command=SLI¶ms=00 (Change to input ???) http://ip_address_of_webserver/path/to/script/onkyo.php?command=SLI¶ms=24 (Change to input 'Tuner') http://ip_address_of_webserver/path/to/script/onkyo.php?command=TUN¶ms=5 (FM-radio preset #5) http://ip_address_of_webserver/path/to/script/onkyo.php?command=TUN¶ms=3 (FM-radio preset #3)
More commands can be found in this Excel-document.
Lua variant
If you don't want to use the PHP-variant, you could also use the Lua variant below. Tested on a TX-NR616. Name the script something like script_device_onkyo.lua and put it in /domoticz/scripts/lua/
Setup:
1. install python-setuptools
sudo apt-get install python-setuptools
2. then do
sudo easy_install onkyo-eiscp
3. test if your receiver is detected with
onkyo --discover
list of all commands (for zone main)
onkyo --help-commands main
possible values for command system-power for example
onkyo --help-commands main system-power
Lua script
-- Title: script_device_onkyo
-- Date: 10-07-2015
commandArray = {}
-- function to get information from receiver
function onkyo_status(command)
local result = {}
local output = io.popen ('onkyo '..command)
for line in output:lines() do
table.insert(result, line)
end
output:close()
return result
end
-- function to change settings receiver
function onkyo_change(command)
os.execute('/usr/local/bin/onkyo '..command)
end
-- turn the receiver on/off with dummy switch 'Versterker'
if devicechanged['Versterker']=="On" then
onkyo_change('system-power:on')
else
if devicechanged['Versterker']=="Off" then
onkyo_change('system-power:standby')
end
end
-- get status information
if devicechanged['test']=="On" then
status = onkyo_status('system-power:query')
print(status[2])
else
if devicechanged['test']=="Off" then
status = onkyo_status('system-power:query')
print(status[2])
end
end
return commandArray
List of commands and possible values
system-power - System Power Command standby - sets System Standby on - sets System On query - gets the System Power Status audio-muting - Audio Muting Command off - sets Audio Muting Off on - sets Audio Muting On toggle - sets Audio Muting Wrap-Around query - gets the Audio Muting State ('master-volume', 'volume') - Master Volume Command None - Volume Level 0 - 100 (In hexadecimal representation) None - Volume Level 0 - 80 (In hexadecimal representation) level-up - sets Volume Level Up level-down - sets Volume Level Down level-up-1db-step - sets Volume Level Up 1dB Step level-down-1db-step - sets Volume Level Down 1dB Step query - gets the Volume Level display-mode - Display Mode Command selector-volume - sets Selector + Volume Display Mode selector-listening - sets Selector + Listening Mode Display Mode 02 - Display Digital Format(temporary display) 03 - Display Video Format(temporary display) toggle - sets Display Mode Wrap-Around Up query - gets The Display Mode input-selector - Input Selector Command ('video1', 'vcr', 'dvr') - sets VIDEO1, VCR/DVR ('video2', 'cbl', 'sat') - sets VIDEO2, CBL/SAT ('video3', 'game', 'tv', 'game') - sets VIDEO3, GAME/TV, GAME ('video4', 'aux1') - sets VIDEO4, AUX1(AUX) ('video5', 'aux2') - sets VIDEO5, AUX2 ('video6', 'pc') - sets VIDEO6, PC video7 - sets VIDEO7 07 - Hidden1 08 - Hidden2 09 - Hidden3 ('dvd', 'bd', 'dvd') - sets DVD, BD/DVD ('tape-1', 'tv', 'tape') - sets TAPE(1), TV/TAPE tape2 - sets TAPE2 phono - sets PHONO ('cd', 'tv', 'cd') - sets CD, TV/CD fm - sets FM am - sets AM tuner - sets TUNER ('music-server', 'p4s', 'dlna') - sets MUSIC SERVER, P4S, DLNA ('internet-radio', 'iradio-favorite') - sets INTERNET RADIO, iRadio Favorite ('usb', 'usb') - sets USB/USB(Front) usb - sets USB(Rear) ('network', 'net') - sets NETWORK, NET usb - sets USB(toggle) universal-port - sets Universal PORT multi-ch - sets MULTI CH xm - sets XM sirius - sets SIRIUS up - sets Selector Position Wrap-Around Up down - sets Selector Position Wrap-Around Down query - gets The Selector Position audio-selector - Audio Selector Command auto - sets AUTO multi-channel - sets MULTI-CHANNEL analog - sets ANALOG ilink - sets iLINK hdmi - sets HDMI ('coax', 'opt') - sets COAX/OPT balance - sets BALANCE arc - sets ARC up - sets Audio Selector Wrap-Around Up query - gets The Audio Selector Status listening-mode - Listening Mode Command stereo - sets STEREO direct - sets DIRECT surround - sets SURROUND ('film', 'game-rpg') - sets FILM, Game-RPG thx - sets THX ('action', 'game-action') - sets ACTION, Game-Action ('musical', 'game-rock') - sets MUSICAL, Game-Rock mono-movie - sets MONO MOVIE orchestra - sets ORCHESTRA unplugged - sets UNPLUGGED studio-mix - sets STUDIO-MIX tv-logic - sets TV LOGIC all-ch-stereo - sets ALL CH STEREO theater-dimensional - sets THEATER-DIMENSIONAL ('enhanced-7', 'enhance', 'game-sports') - sets ENHANCED 7/ENHANCE, Game-Sports mono - sets MONO pure-audio - sets PURE AUDIO multiplex - sets MULTIPLEX full-mono - sets FULL MONO dolby-virtual - sets DOLBY VIRTUAL dts-surround-sensation - sets DTS Surround Sensation audyssey-dsx - sets Audyssey DSX whole-house - sets Whole House Mode straight-decode - sets Straight Decode dolby-ex - sets Dolby EX thx-cinema - sets THX Cinema thx-surround-ex - sets THX Surround EX thx-music - sets THX Music thx-games - sets THX Games ('thx-u2', 's2', 'i', 's-cinema', 'cinema2') - sets THX U2/S2/I/S Cinema/Cinema2 ('thx-musicmode', 'thx-u2', 's2', 'i', 's-music') - sets THX MusicMode,THX U2/S2/I/S Music ('thx-games', 'thx-u2', 's2', 'i', 's-games') - sets THX Games Mode,THX U2/S2/I/S Games ('plii', 'pliix-movie') - sets PLII/PLIIx Movie ('plii', 'pliix-music') - sets PLII/PLIIx Music ('neo-6-cinema', 'neo-x-cinema') - sets Neo:6 Cinema/Neo:X Cinema ('neo-6-music', 'neo-x-music') - sets Neo:6 Music/Neo:X Music ('plii', 'pliix-thx-cinema') - sets PLII/PLIIx THX Cinema ('neo-6', 'neo-x-thx-cinema') - sets Neo:6/Neo:X THX Cinema ('plii', 'pliix-game') - sets PLII/PLIIx Game neural-surr - sets Neural Surr ('neural-thx', 'neural-surround') - sets Neural THX/Neural Surround ('plii', 'pliix-thx-games') - sets PLII/PLIIx THX Games ('neo-6', 'neo-x-thx-games') - sets Neo:6/Neo:X THX Games ('plii', 'pliix-thx-music') - sets PLII/PLIIx THX Music ('neo-6', 'neo-x-thx-music') - sets Neo:6/Neo:X THX Music neural-thx-cinema - sets Neural THX Cinema neural-thx-music - sets Neural THX Music neural-thx-games - sets Neural THX Games pliiz-height - sets PLIIz Height neo-6-cinema-dts-surround-sensation - sets Neo:6 Cinema DTS Surround Sensation neo-6-music-dts-surround-sensation - sets Neo:6 Music DTS Surround Sensation neural-digital-music - sets Neural Digital Music pliiz-height-thx-cinema - sets PLIIz Height + THX Cinema pliiz-height-thx-music - sets PLIIz Height + THX Music pliiz-height-thx-games - sets PLIIz Height + THX Games ('pliiz-height-thx-u2', 's2-cinema') - sets PLIIz Height + THX U2/S2 Cinema ('pliiz-height-thx-u2', 's2-music') - sets PLIIz Height + THX U2/S2 Music ('pliiz-height-thx-u2', 's2-games') - sets PLIIz Height + THX U2/S2 Games neo-x-game - sets Neo:X Game ('pliix', 'plii-movie-audyssey-dsx') - sets PLIIx/PLII Movie + Audyssey DSX ('pliix', 'plii-music-audyssey-dsx') - sets PLIIx/PLII Music + Audyssey DSX ('pliix', 'plii-game-audyssey-dsx') - sets PLIIx/PLII Game + Audyssey DSX neo-6-cinema-audyssey-dsx - sets Neo:6 Cinema + Audyssey DSX neo-6-music-audyssey-dsx - sets Neo:6 Music + Audyssey DSX neural-surround-audyssey-dsx - sets Neural Surround + Audyssey DSX neural-digital-music-audyssey-dsx - sets Neural Digital Music + Audyssey DSX dolby-ex-audyssey-dsx - sets Dolby EX + Audyssey DSX up - sets Listening Mode Wrap-Around Up down - sets Listening Mode Wrap-Around Down movie - sets Listening Mode Wrap-Around Up music - sets Listening Mode Wrap-Around Up game - sets Listening Mode Wrap-Around Up query - gets The Listening Mode network-usb - Network/USB Operation Command (Network Model Only after TX-NR905) play - PLAY KEY stop - STOP KEY pause - PAUSE KEY trup - TRACK UP KEY trdn - TRACK DOWN KEY ff - FF KEY (CONTINUOUS*) rew - REW KEY (CONTINUOUS*) repeat - REPEAT KEY random - RANDOM KEY display - DISPLAY KEY album - ALBUM KEY artist - ARTIST KEY genre - GENRE KEY playlist - PLAYLIST KEY right - RIGHT KEY left - LEFT KEY up - UP KEY down - DOWN KEY select - SELECT KEY 0 - 0 KEY 1 - 1 KEY 2 - 2 KEY 3 - 3 KEY 4 - 4 KEY 5 - 5 KEY 6 - 6 KEY 7 - 7 KEY 8 - 8 KEY 9 - 9 KEY delete - DELETE KEY caps - CAPS KEY location - LOCATION KEY language - LANGUAGE KEY setup - SETUP KEY return - RETURN KEY chup - CH UP(for iRadio) chdn - CH DOWN(for iRadio) menu - MENU top - TOP MENU mode - MODE(for iPod) STD<->EXT list - LIST <-> PLAYBACK internet-radio-preset - Internet Radio Preset Command no-1-40 - sets Preset No. 1 - 40 ( In hexadecimal representation) set - preset memory current station
--the possible values for the next commands you have to look up yourself-- speaker-a - Speaker A Command speaker-b - Speaker B Command speaker-layout - Speaker Layout Command tone-front - Tone(Front) Command tone-front-wide - Tone(Front Wide) Command tone-front-high - Tone(Front High) Command tone-center - Tone(Center) Command tone-surround - Tone(Surround) Command tone-surround-back - Tone(Surround Back) Command tone-subwoofer - Tone(Subwoofer) Command recout-selector - RECOUT Selector Command dimmer-level - Dimmer Level Command setup - Setup Operation Command memory-setup - Memory Setup Command audio-infomation - Audio Infomation Command video-infomation - Video Infomation Command sleep-set - Sleep Set Command speaker-level-calibration - Speaker Level Calibration Command subwoofer-temporary-level - Subwoofer (temporary) Level Command center-temporary-level - Center (temporary) Level Command 12v-trigger-a - 12V Trigger A Command 12v-trigger-b - 12V Trigger B Command 12v-trigger-c - 12V Trigger C Command video-output-selector - Video Output Selector (Japanese Model Only) hdmi-output-selector - HDMI Output Selector hdmi-audio-out - HDMI Audio Out monitor-out-resolution - Monitor Out Resolution isf-mode - ISF Mode video-wide-mode - Video Wide Mode video-picture-mode - Video Picture Mode late-night - Late Night Command cinema-filter - Cinema Filter Command audyssey-2eq-multeq-multeq-xt - Audyssey 2EQ/MultEQ/MultEQ XT audyssey-dynamic-eq - Audyssey Dynamic EQ audyssey-dynamic-volume - Audyssey Dynamic Volume dolby-volume - Dolby Volume music-optimizer - Music Optimizer tuning - Tuning Command (Include Tuner Pack Model Only) preset - Preset Command (Include Tuner Pack Model Only) preset-memory - Preset Memory Command (Include Tuner Pack Model Only) rds-information - RDS Information Command (RDS Model Only) pty-scan - PTY Scan Command (RDS Model Only) tp-scan - TP Scan Command (RDS Model Only) xm-channel-name-info - XM Channel Name Info (XM Model Only) xm-artist-name-info - XM Artist Name Info (XM Model Only) xm-title-info - XM Title Info (XM Model Only) xm-channel-number - XM Channel Number Command (XM Model Only) xm-category - XM Category Command (XM Model Only) sirius-channel-name-info - SIRIUS Channel Name Info (SIRIUS Model Only) sirius-artist-name-info - SIRIUS Artist Name Info (SIRIUS Model Only) sirius-title-info - SIRIUS Title Info (SIRIUS Model Only) sirius-channel-number - SIRIUS Channel Number Command (SIRIUS Model Only) sirius-category - SIRIUS Category Command (SIRIUS Model Only) sirius-parental-lock - SIRIUS Parental Lock Command (SIRIUS Model Only) hd-radio-artist-name-info - HD Radio Artist Name Info (HD Radio Model Only) hd-radio-channel-name-info - HD Radio Channel Name Info (HD Radio Model Only) hd-radio-title-info - HD Radio Title Info (HD Radio Model Only) hd-radio-detail-info - HD Radio Detail Info (HD Radio Model Only) hd-radio-channel-program - HD Radio Channel Program Command (HD Radio Model Only) hd-radio-blend-mode - HD Radio Blend Mode Command (HD Radio Model Only) hd-radio-tuner-status - HD Radio Tuner Status (HD Radio Model Only) net-usb-artist-name-info - NET/USB Artist Name Info net-usb-album-name-info - NET/USB Album Name Info net-usb-title-name - NET/USB Title Name net-usb-time-info - NET/USB Time Info net-usb-track-info - NET/USB Track Info net-usb-play-status - NET/USB Play Status net-usb-list-info - NET/USB List Info net-usb-jacket-art - NET/USB Jacket Art (When Jacket Art is available and Output for Network Control Only) net-service - NET Service(for Network Control Only) net-keyboard - NET Keyboard(for Network Control Only) net-popup-message - NET Popup Message(for Network Control Only) ipod-mode-change - iPod Mode Change (with USB Connection Only) cd-player - CD Player Operation Command tape1-a - TAPE1(A) Operation Command tape2-b - TAPE2(B) Operation Command graphics-equalizer - Graphics Equalizer Operation Command dat-recorder - DAT Recorder Operation Command dvd-player - DVD Player Operation Command (via RIHD only after TX-NR509) md-recorder - MD Recorder Operation Command cd-r-recorder - CD-R Recorder Operation Command universal-port - Universal PORT Operation Command ipod-artist-name-info - iPod Artist Name Info (Universal Port Dock Only) ipod-album-name-info - iPod Album Name Info (Universal Port Dock Only) ipod-title-name - iPod Title Name (Universal Port Dock Only) ipod-time-info - iPod Time Info (Universal Port Dock Only) ipod-track-info - iPod Track Info (Universal Port Dock Only) ipod-play-status - iPod Play Status (Universal Port Dock Only) ipod-list-info - iPod List Info (Universal Port Dock Extend Mode Only) ipod-mode-change - iPod Mode Change (Universal Port Dock Only) tuning - Tuning Command (Universal Port Dock Only) dab-preset - DAB Preset Command (Universal Port Dock Only) preset-memory - Preset Memory Command (Universal Port Dock Only) hd-radio-channel-program - HD Radio Channel Program Command (Universal Port Dock Only) hd-radio-blend-mode - HD Radio Blend Mode Command (Universal Port Dock Only) hd-radio-artist-name-info - HD Radio Artist Name Info (Universal Port Dock Only) hd-radio-channel-name-info - HD Radio Channel Name Info (Universal Port Dock Only) hd-radio-title-info - HD Radio Title Info (Universal Port Dock Only) hd-radio-detail-info - HD Radio Detail Info (Universal Port Dock Only) hd-radio-tuner-status - HD Radio Tuner Status (Universal Port Dock Only) dab-sation-name - DAB Sation Name (Universal Port Dock Only) dab-display-info - DAB Display Info (Universal Port Dock Only)