Denon AV Reciver - plugin

Use this forum to discuss possible implementation of a new feature before opening a ticket.
A developer shall edit the topic title with "[xxx]" where xxx is the id of the accompanying tracker id.
Duplicate posts about the same id. +1 posts are not allowed.

Moderators: leecollings, remb0

simon_rb
Posts: 612
Joined: Wednesday 07 August 2013 19:09
Target OS: -
Domoticz version:
Location: UK
Contact:

Re: Denon AV Reciver - plugin

Post by simon_rb »

Great work mate!


Sent from my iPhone using Tapatalk
User avatar
Egregius
Posts: 2582
Joined: Thursday 09 April 2015 12:19
Target OS: Linux
Domoticz version: v2024.7
Location: Beitem, BE
Contact:

Re: Denon AV Reciver - plugin

Post by Egregius »

I don't understand why the status of the receiver must be published to domoticz.
Why not just use a page to control it?
Image
simon_rb
Posts: 612
Joined: Wednesday 07 August 2013 19:09
Target OS: -
Domoticz version:
Location: UK
Contact:

Denon AV Reciver - plugin

Post by simon_rb »

I have it in domoticz so I can control it via Siri :-)

*There is a plugin that does this but that crashed my homebridge when the amp was turned off at the wall and couldn't be reached from the homebridge plugin.


Sent from my iPhone using Tapatalk
raymond
Posts: 71
Joined: Monday 12 October 2015 15:46
Target OS: Raspberry Pi / ODroid
Domoticz version: V4.10232
Contact:

Re: Denon AV Reciver - plugin

Post by raymond »

simon_rb wrote:Don't know how pretty this is but it works :)
This updates the sliders and only updates the switch if its different...

Code: Select all

commandArray = {}
function execute(command)
        -- returns success, error code, output.
    local f = io.popen(command..' 2>&1 && echo " $?"')
    local output = f:read"*a"
    return output
end

--read xml and remove value strings
--<MasterVolume><value>-60.0</value></MasterVolume> becomes -60.0
function get(data,name)
    data = data:match("<"..name..">(.-)</"..name..">")
    data = data:gsub("<value>", "")
    data = data:gsub("</value>", "")
    return data
end

vol_tv = execute('curl --url "http://192.168.1.12/goform/formMainZone_MainZoneXml.xml" &')

--get volume of TV and update volume switch in Domoticz if it differs
local vol_tv = get(vol_tv,"MasterVolume")
local vol_domo = otherdevices_svalues['Denon Volume']
print(vol_tv)
vol_tv = tonumber(vol_tv) + 80
print(vol_tv)
if otherdevices['Denon Volume'] ~= 'Off' then
    --if (vol_domo ~= vol_tv) then
difference = math.abs(vol_domo - vol_tv)
if difference > 1 then
        --commandArray['UpdateDevice'] = otherdevices_idx['Denon Volume'] ..' |2|' .. vol_tv
os.execute('curl -s "http://192.168.1.26:8080/json.htm?type=command&param=switchlight&idx=284&switchcmd=Set%20Level&level='..vol_tv..'" &')

    end
end

return commandArray
OK so this is brilliant, and I've been at this for a long time not wanting to go into .sh but remain pure Lua.
Mymissing piece was getting the correct value back from the xml stripping all the stuff you don't want. The rest of my script worked apparently, but getting values like SAT</ and such got me crazy.

This Volume example works like a charm, and I have also created this for my Selector Switch with SOURCES on the Amp. After 1 minute, the Selector Switch is set to the current mode when you for example use the remote to switch on the Amp itself, extracting the <InputFuncSelectMain><value>SAT</value> as SAT in this case. If the Selector Switch is not matching that, the script will set it correctly.

I wanted to move on to the Surround mode, which is an easy copy over from the sources script, but searching for: <selectSurround><value>DOLBY DIGITAL </value> gives me an additional SPACE before the </value> and this is why it cannot be compared to the Levels named on the Selector Switch exactly it seems. Any idea to strip SPACE character before the </value> but not entirely as there is a space between DOLBY and DIGITAL too?

Cheers,

Ray
Bart77
Posts: 8
Joined: Saturday 17 September 2016 9:25
Target OS: Raspberry Pi / ODroid
Domoticz version: Latest
Location: Netherlands
Contact:

Re: Denon AV Reciver - plugin

Post by Bart77 »

Hi All,

Just wondering if it is possible to modify the range of the dummy switch - slider object.

If so I can match the range displayed on the AV receiver perfectly with the Domoticz object, in addition autoswitch to absolute <> relative which I can read from the actual configuration.

Next will be to implement the Source Select and synchronization to the scripts I posted

Thanks
simon_rb
Posts: 612
Joined: Wednesday 07 August 2013 19:09
Target OS: -
Domoticz version:
Location: UK
Contact:

Re: Denon AV Reciver - plugin

Post by simon_rb »

Bart77 wrote:Hi All,

Just wondering if it is possible to modify the range of the dummy switch - slider object.

If so I can match the range displayed on the AV receiver perfectly with the Domoticz object, in addition autoswitch to absolute <> relative which I can read from the actual configuration.

Next will be to implement the Source Select and synchronization to the scripts I posted

Thanks
I use absolute for my amp and use the 100 (0-99) slider within Domoticz. I don't believe you can change it within Domoticz as such. It depends on the dummy switch you create. For me the 100 dummy is enough as I didn't like .5 volumes anyways - would bug me if it was at 65.5 for example lol.


Sent from my iPhone using Tapatalk
raymond
Posts: 71
Joined: Monday 12 October 2015 15:46
Target OS: Raspberry Pi / ODroid
Domoticz version: V4.10232
Contact:

Re: Denon AV Reciver - plugin

Post by raymond »

Bart77 wrote:Hi All,

Just wondering if it is possible to modify the range of the dummy switch - slider object.

If so I can match the range displayed on the AV receiver perfectly with the Domoticz object, in addition autoswitch to absolute <> relative which I can read from the actual configuration.

Next will be to implement the Source Select and synchronization to the scripts I posted

Thanks
I've written the script which I will share soon after cleaning it up a bit.
I'm working on the Surround Setting Selector Switch too, but ran into a problem I posted just above.

Cheers,

Ray
raymond
Posts: 71
Joined: Monday 12 October 2015 15:46
Target OS: Raspberry Pi / ODroid
Domoticz version: V4.10232
Contact:

Re: Denon AV Reciver - plugin

Post by raymond »

raymond wrote:
Bart77 wrote:Hi All,

Just wondering if it is possible to modify the range of the dummy switch - slider object.

If so I can match the range displayed on the AV receiver perfectly with the Domoticz object, in addition autoswitch to absolute <> relative which I can read from the actual configuration.

Next will be to implement the Source Select and synchronization to the scripts I posted

Thanks
I've written the script which I will share soon after cleaning it up a bit.
I'm working on the Surround Setting Selector Switch too, but ran into a problem I posted just above.

Cheers,

Ray
OK, that was easier than I thought cleaning it up. Here's my script for getting the Selector Switch for Marantz SOURCE in sync.

Code: Select all

-- Reading Denon/Marantz xml file to update a Selector Switch to reflect current state of the receiver
-- July 2016 v0.1 first try testing
-- November 2016 v1.0 with help of G3rard and simon_rb for extracting the xml values

MarantzInput = 'Marantz Input Select'
 
InputValue = otherdevices['Marantz Input Select']
MarantzIP = '192.168.200.160'
Port = '80'

debug = true
logging = false


-- Name of the levels in the selector
ONLevel = 'On'
BDLevel = 'BD'
SATLevel = 'SAT'
TUNERLevel = 'TUNER'
GAMELevel = 'GAME'
OFFLevel = 'Off' --optional
 
-- Values from each level name
ONLevelValue = '10'
BDLevelValue = '20'
SATLevelValue = '30'
TUNERLevelValue = '40'
GAMELevelValue = '50'
OFFLevelValue = '0' --optional

commandArray = {}
function execute(command)
        -- returns success, error code, output.
    local f = io.popen(command..' 2>&1 && echo " $?"')
    local output = f:read"*a"
    return output
end

--read xml and remove value strings
--<InputFuncSelect><value>SOURCE</value></MasterVolume>
function get(data,name)
    data = data:match("<"..name..">(.-)</"..name..">")
    data = data:gsub("<value>", "")
    data = data:gsub("</value>", "")
    return data
end

av_status = execute('curl --url "http://192.168.200.160/goform/formMainZone_MainZoneXml.xml" &')
pw_status = execute('curl --url "http://192.168.200.160/goform/formMainZone_MainZoneXml.xml" &')
--get volume of TV and update volume switch in Domoticz if it differs
local av_status = get(av_status,"InputFuncSelect")
local pw_status = get(pw_status,"Power")
if debug then 
    print("av_status: '" .. av_status .."'")
    print("pw_status: '" .. pw_status .. "'")
    print("InputValue: '" .. InputValue .. "'")
end

if (pw_status == 'STANDBY') then
    if debug then
        print("Marantz is set to Off");
        end
	if (otherdevices[MarantzInput] ~= OFFLevel) then
	print("Updating '" .. MarantzInput .. "' selector to '" .. OFFLevel .. "'")
	commandArray['UpdateDevice'] = otherdevices_idx[MarantzInput]..'|1|'..OFFLevelValue
    end
    goto done
end

if (av_status == InputValue) then
    if debug then
        print("Marantz gelijk aan Marantz Input Domoticz");
        end

    elseif (av_status == ONLevel) then
        print('<font color="blue">Marantz Input equals to ON </font>');
		if InputValue ~= ONLevel then
		print('<font color="blue">Updating ' .. MarantzInput .. ' selector to ' .. ONLevel .. '</font>')
		commandArray['UpdateDevice'] = otherdevices_idx[MarantzInput]..'|1|'..ONLevelValue
		end
    elseif (av_status == GAMELevel) then
        print('<font color="blue">Marantz Input equals to GAME </font>');
		if (otherdevices[MarantzInput] ~= GAMELevel) then
		print('<font color="blue">Updating ' .. MarantzInput .. ' selector to ' .. GAMELevel .. '</font>')
		commandArray['UpdateDevice'] = otherdevices_idx[MarantzInput]..'|1|'..GAMELevelValue
        end
    elseif (av_status == BDLevel) then
        print('<font color="blue">Marantz Input equals to BD </font>');
		if (otherdevices[MarantzInput] ~= BDLevel) then
		print('<font color="blue">Updating ' .. MarantzInput .. ' selector to ' .. BDLevel .. '</font>')
		commandArray['UpdateDevice'] = otherdevices_idx[MarantzInput]..'|1|'..BDLevelValue
        end
    elseif (av_status == SATLevel) then
        print('<font color="blue">Marantz Input equals to SAT </font>');
		if (otherdevices[MarantzInput] ~= SATLevel) then
		print('<font color="blue">Updating ' .. MarantzInput .. ' selector to ' .. SATLevel .. '</font>')
		commandArray['UpdateDevice'] = otherdevices_idx[MarantzInput]..'|1|'..SATLevelValue
        end
    elseif (av_status == TUNERLevel) then
        print('<font color="blue">Marantz Input equals to TUNER </font>');
		if (otherdevices[MarantzInput] ~= TUNERLevel) then
		print('<font color="blue">Updating ' .. MarantzInput .. ' selector to ' .. TUNERLevel .. '</font>')
		commandArray['UpdateDevice'] = otherdevices_idx[MarantzInput]..'|1|'..TUNERLevelValue
        end
    
end

::done::
return commandArray
Hope this helps @Bart77

Cheers,

Ray
sangve
Posts: 4
Joined: Friday 02 December 2016 0:02
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Denon AV Reciver - plugin

Post by sangve »

Hi guys,

EDIT: Problem solved, keeping this post for future guidance!

First off I want to thank you for all the hard work you've put into this. I've read the entire thread a few times, both before installing and now again to get help. I'm a beginner in unix and I don't do code so I might have made some rookie mistake, feel free to point and laugh if so. :)

So here's the setup:
*Denon AVR-4200X that I control through HTTP
*Domoticz running on an RPi

When I run the script with the amp turned on it mutes it. I've added the http://IP/MainZone/index.put.asp?cmd0=P ... Mute%2Foff to the On Action and the opposite (On) for the Off Action for the Volume switch according to the instruction.
Here's what I get when I run the script (the not found's are empty lines as someone previously pointed out):

Code: Select all

pi@raspberrypi:~/domoticz/scripts $ ls -l denon.sh
-rwxr-xr-x 1 pi pi 14119 dec  1 00:21 denon.sh
pi@raspberrypi:~/domoticz/scripts $ sudo sh -x denon.sh
+
: not found6: denon.sh:
+ DOMO_IP=192.168.0.100
+ DOMO_PORT=8080
+ DENONIP=192.168.0.32
+ DENON_IDX=69
+ DENON_STATUS_IDX=64
+ DENON_MUTE_IDX=71
+ DENON_VOL_REL_IDX=72
+ DENON_VOL_ABS_IDX=71
+ DENON_SURROUND_IDX=73
+ DENON_INPUT_IDX=74
+ DENON_NET_INPUT_IDX=62
+ DENON_AIRPLAY_IDX=75
+
: not found0: denon.sh:
+
: not found3: denon.sh:
+
: not found7: denon.sh:
+ ping -c 1 -q 192.168.0.32
+ awk -F/ {print $5}
+ xargs
+ PINGTIME=0.512
+
: not found0: denon.sh:
+ function defaulting {
denon.sh: 45: denon.sh: function: not found
+
: not found6: denon.sh:
+
+ +
curl -s -i -H Accept: application/json http://192.168.0.100:8080/json.htm?type=command&param=udevice&idx=64&nvalue=0&svalue=No%20Denon%20Detected
+ +
curl -s -i -H Accept: application/json http://192.168.0.100:8080/json.htm?type=command&param=switchlight&idx=75&switchcmd=Off
+
+ +
curl -s -i -H+  Accept: application/json http://192.168.0.100:8080/json.htm?type=command&param=udevice&idx=72&nvalue=0&svalue=-80.5

: not found4: denon.sh: +
+ }
: not found5: denon.sh: }
+
: not found6: denon.sh:
+
: not found7: denon.sh:
curl -sdenon.sh: 90: denon.sh: Syntax error: "fi" unexpected (expecting "then")
 -i -H Accept: application/json http://192.168.0.100:8080/json.htm?type=command&param=switchlight&idx=69&switchcmd=Off
pi@raspberrypi:~/domoticz/scripts $ HTTP/1.1 200 OK
Content-Length: 53
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache
Pragma: no-cache
Access-Control-Allow-Origin: *

{
   "status" : "OK",
   "title" : "Update Device"
}
+ curl -s -i -H Accept: application/json http://192.168.0.100:8080/json.htm?type=command&param=switchlight&idx=71&switchcmd=Set%20Level&level=0
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
Content-Length: 53
Content-Length: 51
Content-Type: application/json;charset=UTF-8
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache
Pragma: no-cache
Cache-Control: no-cache
Access-Control-Allow-Origin: *
Pragma: no-cache

Access-Control-Allow-Origin: *

{
   "status" : "OK",
   "title" : "Update Device"
}
{
   "status" : "OK",
   "title" : "SwitchLight"
}
Content-Length: 51
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache
Pragma: no-cache
Access-Control-Allow-Origin: *

{
   "status" : "OK",
   "title" : "SwitchLight"
}
HTTP/1.1 200 OK
Content-Length: 51
Content-Type: application/json;charset=UTF-8
Cache-Control: no-cache
Pragma: no-cache
Access-Control-Allow-Origin: *

{
   "status" : "OK",
   "title" : "SwitchLight"
}

No settings are updated except for the Text Switch that get's the "No denon detected" tag. It seems as the defaulting function is not running properly. that's really all I can guess.

Here's the XML from the amp:

Code: Select all

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<item>
<FriendlyName>
<value>Denon AVR-X4200W</value>
</FriendlyName>
<Power>
<value>STANDBY</value>
</Power>
<ZonePower>
<value>OFF</value>
</ZonePower>
<RenameZone>
<value>MAIN ZONE</value>
</RenameZone>
<TopMenuLink>
<value>ON</value>
</TopMenuLink>
<VideoSelectDisp>
<value>OFF</value>
</VideoSelectDisp>
<VideoSelect>
<value/>
</VideoSelect>
<VideoSelectOnOff>
<value>OFF</value>
</VideoSelectOnOff>
<VideoSelectLists>
<value index="ON">På</value>
<value index="OFF">Av</value>
<value index="SAT/CBL">Dator</value>
<value index="DVD">DVD</value>
<value index="GAME">Wii U</value>
<value index="MPLAY">Shield TV</value>
</VideoSelectLists>
<ECOModeDisp>
<value>ON</value>
</ECOModeDisp>
<ECOMode>
<value>OFF</value>
</ECOMode>
<ECOModeLists>
<value index="ON" table="MILJÖ: PÅ" param=""/>
<value index="OFF" table="MILJÖ: AV" param=""/>
<value index="AUTO" table="MILJÖ: AUTO" param=""/>
</ECOModeLists>
<AddSourceDisplay>
<value>FALSE</value>
</AddSourceDisplay>
<ModelId>
<value>4</value>
</ModelId>
<BrandId>
<value>DENON_MODEL</value>
</BrandId>
<SalesArea>
<value>4</value>
</SalesArea>
<InputFuncSelect>
<value>Dator</value>
</InputFuncSelect>
<NetFuncSelect>
<value>NET</value>
</NetFuncSelect>
<selectSurround>
<value>Multi Ch Stereo</value>
</selectSurround>
<VolumeDisplay>
<value>Relative</value>
</VolumeDisplay>
<MasterVolume>
<value>-40.0</value>
</MasterVolume>
<Mute>
<value>off</value>
</Mute>
<RemoteMaintenance>
<value>OFF</value>
</RemoteMaintenance>
<SubwooferDisplay>
<value>FALSE</value>
</SubwooferDisplay>
<Zone2VolDisp>
<value>TRUE</value>
</Zone2VolDisp>
<SleepOff>
<value>Av</value>
</SleepOff>
</item>
Edit:
Forgot to add the dummy device list and the settings in the script for comparison ->
denon domoticz.png
denon domoticz.png (89.95 KiB) Viewed 14566 times
Edit2: I've been doing another tutorial for something completely different and they suggested that you execute the script with sudo ./nameofscript.sh. As I did that for the Denon script it gave me a different error and the denon.mainzone.settings and denon.net.settings files were finally created! One step forward! :D
The error I got was "row 149: bc: command does not exist" but I was able to solve it by installing bc (sudo apt-get install bc). It finally seem to work! The volume is updated and next step for me will be setting the inputs!
Vendrom
Posts: 1
Joined: Wednesday 20 January 2016 10:54
Target OS: Windows
Domoticz version:
Contact:

Re: Denon AV Reciver - plugin

Post by Vendrom »

Firstoff -> Thank you to everybody creating awesome things, and trixwood for denon.sh :)

Maybe somebody can help me out, because i cant seem to find the solution.

i have an RPI, denon avr-x2000, and the denon.sh script in my /home/pi/domoticz/scripts location.
i've configured a few switches:

Image

also configured these settings in denon.sh

# Settings
DOMO_IP="domo" # Domoticz IP Address
DOMO_PORT="80" # Domoticz Port
DENONIP="denon" # Denon IP Address
DENON_IDX="79" # On/Off (Switch) IDX *1
DENON_STATUS_IDX="81" # Status (Text) IDX
DENON_MUTE_IDX="80" # Absolute Volume (Slider) IDX (same as Absolute Volume)
DENON_VOL_REL_IDX="82" # Relative Volume (Sound Volume) IDX
DENON_VOL_ABS_IDX="80" # Absolute Volume (Slider) IDX

but as you can see on the screenshot, i get these outputs on my switches:

Image

202% or 25.0% on my denon.
the denon is using absolute, which i can also see on the webpage from "http://denon/goform/formMainZone_MainZoneXml.xml

<VolumeDisplay>
<value>Absolute</value>
</VolumeDisplay>

and also retrieve "absolute" from using code from denon.sh
"sed -n -e 's/.*\<VolumeDisplay><value>\(.*\)<\/value>.*/\1/p' denon.mainzone.settings"

so i am lost, how can i receive the correct (25.0) output on my virtual device (IDX=80)
trixwood

Re: Denon AV Reciver - plugin

Post by trixwood »

I never tested the final script it with absolute so look into denon.sh at this piece of code

Code: Select all

      if [ "$AVvolume" == "--" ] ; then
          AVvolume="0"
          AVisvolumerelative="Infinity"
     fi
   
    if [ "$AVisvolumerelative" == "Relative" ] ; then
      #echo "Volume: Relative"
      AVvolumeAbs=$(echo "80.5 + $AVvolume" | bc) 
      AVvolumeRel=$AVvolume
    else
      #echo "Volume: Absolute"
      AVvolumeRel=$(echo "80.5 - $AVvolume" | bc) 
      AVvolumeAbs=$AVvolume
    fi

    # exterminate, exterminate, convert... convert...
    AVvolumeAbs=$((${AVvolumeAbs//\./}/10))

    # decode old value
    AVvolumeoldAbs=$(($(curl -s "http://$DOMO_IP:$DOMO_PORT/json.htm?type=devices&rid=$DENON_VOL_ABS_IDX" | grep Data | grep -Eo '[0-9]{1,4}')+1))
 
    #echo "Volume: $AVvolumeRel db $AVvolumeAbs ($AVvolumeoldAbs)" 
And put in a lot of

Code: Select all

echo "Volume: $AVvolumeRel db $AVvolumeAbs"
and run it in the terminal (not from domoticz) and check the output if its correct...

and in the lua code for the device event you have to look at

Code: Select all

SendLevel = NewLevel - 79.5
since that is always relative...
pvklink
Posts: 822
Joined: Wednesday 12 November 2014 15:01
Target OS: Raspberry Pi / ODroid
Domoticz version: latest b
Contact:

Re: Denon AV Reciver - plugin

Post by pvklink »

This script works great.
The only thing i dont understand is the code:
SendLevel = NewLevel - 80 --79.5
I think i can change this by SendLevel = NewLevel
I will try it out.. rest is working great with my denon!
My wife didnt understand how to operate the reciever and now she can with the domoticz app!

<script> (
commandArray = {}

IPDENON = '192.168.178.176'
IPTV = '192.168.178.13'
DEV='Denon aanuit'
MAXLEVEL=60

if devicechanged[DEV] == 'On' then
local play = 'curl --url "http://' .. IPDENON .. '/MainZone/index.put.asp?cmd0=PutZone_OnOff%2FON" &'
os.execute(play)
ping_success=os.execute('ping -c1 ' .. IPTV)
if ping_success then
commandArray[1]={['Denon mode']='Set Level 20 AFTER 2'} -- set versterker op tv
commandArray[2]={['Denon mixer']='Set Level 10 AFTER 2'} -- set versterker op stereo
else
commandArray[1]={['Denon mode']='Set Level 10 AFTER 2'} -- set versterker op radio
commandArray[2]={['Denon zender']='Set Level 10 AFTER 2'} -- set radio zender sky
commandArray[3]={['Denon mixer']='Set Level 20 AFTER 2'} -- set versterker op multichannel stereo
end
elseif devicechanged[DEV] == 'Off' then
local play = 'curl --url "http://' .. IPDENON .. '/MainZone/index.put.asp?cmd0=PutZone_OnOff%2FOFF" &'
os.execute(play)
end

if devicechanged[DEV] then
NewLevel = otherdevices_svalues[DEV]
if NewLevel ~= "Off" and NewLevel ~= "0" then
if tonumber(NewLevel) > MAXLEVEL then --volume maxlevel
NewLevel = MAXLEVEL
end
SendLevel = NewLevel - 80 --79.5
os.execute ("curl http://" .. (IPDENON) .. "/MainZone/index.put.asp?cmd0=PutMasterVolumeSet/" .. (SendLevel))
end
end

return commandArray
Raspberry (raspbian on rpi 3) , Domoticz Beta, dzVents , RFXtrx433e, P1, Hue, Yeelight, Zwave+, X10, ESP(easy), MQTT,Weather Underground, System Alive Checker, Domoticz Remote Server to RPI with Google Assistant,
Jablotron connection, Ikea
kibber
Posts: 1
Joined: Saturday 22 July 2017 19:09
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Denon AV Reciver - plugin

Post by kibber »

Hey guys!

First of all, thanks for all the hard work. It's great to see so many people spending their free time to build all of this.
I was wondering if anyone made any further progress with this project. I've followed the wiki page (https://www.domoticz.com/wiki/Denon) and all of it seems to work fine. I still have the 'issue' that was discussed earlier with the volume changes back to 55 when you change it. I've read the topic but i'm not sure how i'm able to fix it because of the amounts of code. Is it possible to update the wiki page or something?
Leemur
Posts: 2
Joined: Saturday 15 April 2017 22:52
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Denon AV Reciver - plugin

Post by Leemur »

piokuc wrote:Hi
Did you know how create virtual device in Domoticz to set for Zone 1 and other to Zone 2 SLEEP TIME in DENON AVR-X2100W ?
Yes with http you can, simply add in the URL (or in the message body if you're using POST) &ZoneName=ZONE2
You can also set MAINZONE to this value (&ZoneName=MAINZONE) to explicitely say that you are working on zone 1 (usefull if you use a parameter to set the zone)

For instance if you want to set MPLAY source for zone 2:

Code: Select all

http://DENONIP/MainZone/index.put.asp?cmd0=PutZone_InputFunction/MPLAY&ZoneName=ZONE2
I guess it works the same for the sleep time
landi
Posts: 2
Joined: Thursday 19 October 2017 20:50
Target OS: Linux
Domoticz version: Beta
Location: Lublin, PL
Contact:

Re: Denon AV Reciver - plugin

Post by landi »

Hello there,

First of all thanks for the nice work. I'm using event script and bash script as described here: https://www.domoticz.com/wiki/Denon , with my Denon AVR 1100X however there is one thing that I don't get...

When you switch off device using "DENON_SOURCE" switch from defined source - for example "DVD" to 'Off' and you would like to turn in on again to the same source ie. "DVD" - it's won't work. So for example if your Denon was switched off when being on 'dvd' state, it works when you switch it back to 'AUX1' but it doesn't when you try to switch to the last input source (dvd).
The workaround is to switch it to another state before "off" and then switch to the different state to be "on" - then it works.

Anyone had this problem ? and anyone have a patch for this ?
MichaelvK
Posts: 7
Joined: Tuesday 02 January 2018 19:43
Target OS: NAS (Synology & others)
Domoticz version: 4.9992
Location: Harderwijk, the Netherlands
Contact:

Re: Denon AV Reciver - plugin

Post by MichaelvK »

Hi, I have found the script very useful, but was missing source names for the other sources.
I am using an AVR2300W, which has some extra sources.

Because it has to be the very exact names, I searched and found an RS232 coding with Source names:

PHONO
CD
TUNER
DVD
BD
TV
SAT/CBL
DVR
GAME
V.AUX
DOCK
HDRADIO (AVR-3311-CI model Only)
IPOD
NET/USB
FLICKR
FAVORITES
IRADIO
SERVER
USB/IPOD
Synology DS216+ & Domoticz as a Package (Jadahl)
connected:
Denon AVR2200W
Panasonic TX-L47ET60B
Doorbell Action
Several KAKU Action Flamingo's
Ali-Express WiFi cam
Ali-Express WiFi PTZ cam (soon)
Ali-Express PIR's
IKEA Trådfri
gj23
Posts: 2
Joined: Monday 19 February 2018 15:58
Target OS: -
Domoticz version:
Contact:

Re: Denon AV Reciver - plugin

Post by gj23 »

hi,
great stuff.

i have an denon avr x2400h and it won't work.
can somebody tell me what commands i have to use?
when i try to check some codes with firefox i only get Error 403: Forbidden Access Forbidden.
and where i have to put the xml file exactly?
simon_rb
Posts: 612
Joined: Wednesday 07 August 2013 19:09
Target OS: -
Domoticz version:
Location: UK
Contact:

Re: Denon AV Reciver - plugin

Post by simon_rb »

gj23 wrote: Monday 19 February 2018 16:06 hi,
great stuff.

i have an denon avr x2400h and it won't work.
can somebody tell me what commands i have to use?
when i try to check some codes with firefox i only get Error 403: Forbidden Access Forbidden.
and where i have to put the xml file exactly?
This wont work with the 2016 onwards AVR's as Denon have stopped access to the Web Control API. I have just updated to a X3400 from an X2000 so its broken for me also. No sure how to fix it.
MrRimmer
Posts: 1
Joined: Saturday 02 January 2021 18:55
Target OS: Windows
Domoticz version:
Contact:

Re: Denon AV Reciver - plugin

Post by MrRimmer »

simon_rb wrote: Tuesday 20 March 2018 18:28 This wont work with the 2016 onwards AVR's as Denon have stopped access to the Web Control API. I have just updated to a X3400 from an X2000 so its broken for me also. No sure how to fix it.
The web control API is still there, but has been moved to port 8080. See https://github.com/scarface-4711/denona ... -354880648

I've successfully used http://<IP>:8080/goform/formiPhoneAppPower.xml?1+PowerStandby on my X4400H as the plugin (which uses Telnet) loses sync with the status of the receiver.
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest