mwittig / pimatic-denon-avr Goto Github PK
View Code? Open in Web Editor NEWPimatic plugin to monitor & control a Denon or Marantz AV Receiver
License: GNU Affero General Public License v3.0
Pimatic plugin to monitor & control a Denon or Marantz AV Receiver
License: GNU Affero General Public License v3.0
Not sure if I'm doing anything wrong, but it seems like I can't select the DenonAvrInputSelector when creating a new rule. Master-volume, mute, and power are available in rules, but the input selector is not available. Is this a bug? Or is there a known workaround?
Use case: I use a dummy switch that's turned on/off via my amazon echo. Once it changes its state, I'd like to turn on the AV receiver (works) and 5 seconds later I'd like to switch the input to Bluetooth so I can connect my echo and play music.
Hi,
I received this error and it asked to report it. So here it is...
error [pimatic]: A uncaught exception occured: Error: read ETIMEDOUT
at exports._errnoException (util.js:870:11)
at TCP.onread (net.js:552:26)
From connect
at Socket.connect (/home/pi/pimatic-app/node_modules/pimatic/startup.coffee:55:29)
at Agent.exports.connect.exports.createConnection (net.js:69:26)
at Agent.createSocket (_http_agent.js:175:16)
at Agent.addRequest (_http_agent.js:144:23)
at new ClientRequest (_http_client.js:142:16)
at Object.exports.request (http.js:31:10)
at new Request (/home/pi/pimatic-app/node_modules/pimatic-denon-avr/node_modules/restler-promise/node_modules/restler-base/lib/restler.js:75:24)
at request (/home/pi/pimatic-app/node_modules/pimatic-denon-avr/node_modules/restler-promise/node_modules/restler-base/lib/restler.js:327:17)
at Object.get (/home/pi/pimatic-app/node_modules/pimatic-denon-avr/node_modules/restler-promise/node_modules/restler-base/lib/restler.js:334:9)
at /home/pi/pimatic-app/node_modules/pimatic-denon-avr/node_modules/restler-promise/lib/restler-promise.js:28:38
at Promise._execute (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/release/debuggability.js:299:9)
at Promise._resolveFromExecutor (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/release/promise.js:481:18)
at new Promise (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/release/promise.js:77:14)
at Object.get (/home/pi/pimatic-app/node_modules/pimatic-denon-avr/node_modules/restler-promise/lib/restler-promise.js:27:20)
at HttpAppProtocol._requestUpdate (/home/pi/pimatic-app/node_modules/pimatic-denon-avr/http-app-protocol.coffee:59:19)
at HttpAppProtocol._requestUpdate (/home/pi/pimatic-app/node_modules/pimatic-denon-avr/http-app-protocol.coffee:2:1)
at null._onTimeout (/home/pi/pimatic-app/node_modules/pimatic-denon-avr/node_modules/pimatic-plugin-commons/lib/index.js:218:27)
at Timer.listOnTimeout (timers.js:92:15)
This is most probably a bug in pimatic or in a module, please report it!
Currently you can't use the plugin together with other apps as the "telnet/serial" communication only allows one client. Would be great if this can be changed. I know it is on the agenda but I wonder what the current status is.
Hello Marcus,
is it possible to change the minimum interval to maybe 1 second or 2 seconds? actually i need a smaller step size.
Thanks in Advance
If i change the volume by the slider of the device DenonAvrMasterVolume i get a annoing behavior of the plugin, the video signal is swiched off so that the screen is getting black and on again while displaying MAIN ZONE on. Is that a bug or perhaps a behavior which could be enhanced/fixed?
I'm using the PlugIn with the Protocol TELNET on Port 23 and a Denon AVR-X3100W as hardware.
Would be great if this could be integrated that's the biggest thing I'm currently missing.
Most of the information should be here:
https://forum.pimatic.org/topic/979/denon-marantz-avr-remote-control
If the Denon AVR is offline and you haven’t activated the option network control the following error occurs:
Unhandled rejection Error: Expected variable Denon-Volume-Status.volume to have a numeric value.
at /home/pi/pimatic-app/node_modules/pimatic/lib/variables-ast-builder.coffee:111:17
at tryCatcher (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/release/promise.js:512:31)
at Promise._settlePromise (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/release/promise.js:569:18)
at Promise._settlePromise0 (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/release/promise.js:614:10)
at Promise._settlePromises (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/release/promise.js:693:18)
at Async._drainQueue (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/release/async.js:133:16)
at Async._drainQueues (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/release/async.js:143:10)
at Immediate.Async.drainQueues [as _onImmediate] (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/release/async.js:17:14)
at processImmediate [as _immediateCallback] (timers.js:383:17)
Unhandled rejection Error: unknown state=""!
I have not found a way to do this and thus volume can only be changed via GUI and not via rules
I have this for some time now but didn't find the time to report it yet.
Currently if I try to change the volume via the slider in the Pimatic web frontend the moment I let it go it jumps back to previous value or even decreases. Only after several tries I get it to increase a little bit.
To see what happens to your code in Node.js 10, Greenkeeper has created a branch with the following changes:
.travis.yml
package.json
files, so that was left aloneIf you’re interested in upgrading this repo to Node.js 10, you can open a PR with these changes. Please note that this issue is just intended as a friendly reminder and the PR as a possible starting point for getting your code running on Node.js 10.
Greenkeeper has checked the engines
key in any package.json
file, the .nvmrc
file, and the .travis.yml
file, if present.
engines
was only updated if it defined a single version, not a range..nvmrc
was updated to Node.js 10.travis.yml
was only changed if there was a root-level node_js
that didn’t already include Node.js 10, such as node
or lts/*
. In this case, the new version was appended to the list. We didn’t touch job or matrix configurations because these tend to be quite specific and complex, and it’s difficult to infer what the intentions were.For many simpler .travis.yml
configurations, this PR should suffice as-is, but depending on what you’re doing it may require additional work or may not be applicable at all. We’re also aware that you may have good reasons to not update to Node.js 10, which is why this was sent as an issue and not a pull request. Feel free to delete it without comment, I’m a humble robot and won’t feel rejected 🤖
There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot 🌴
☝️ Important announcement: Greenkeeper will be saying goodbye 👋 and passing the torch to Snyk on June 3rd, 2020! Find out how to migrate to Snyk and more at greenkeeper.io
1.0.4
to 1.1.0
.This version is covered by your current version range and after updating it in your project the build failed.
grunt is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
The new version differs by 8 commits.
d5cdac0
Merge pull request #1706 from gruntjs/tag-neew
4674c59
v1.1.0
6124409
Merge pull request #1705 from gruntjs/mkdirp-update
0a66968
Fix up Buffer usage
4bfa98e
Support versions of node >= 8
f1898eb
Update to mkdirp ~1.0.3
75da17b
HTTPS link to gruntjs.com (#1683)
6795d31
Update js-yaml dependecy to ~3.13.1 (#1680)
See the full diff
There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot 🌴
Implement a centralized update loop is desirable where each device can subscribe to the update topics in question (e.g. query the volume level) and the update handler can provide optimized queries which result in less callouts to the receiver.
13:49:05.163 [pimatic] info: Loading plugin: "pimatic-denon-avr" (0.9.8)
coffee-cache: compiling coffee-script file "denon-avr.coffee"...Done
coffee-cache: compiling coffee-script file "telnet-app-protocol.coffee"...Done
coffee-cache: compiling coffee-script file "http-app-protocol.coffee"...Done
13:49:07.283 [pimatic] error: Cannot find module './_assignValue'
13:49:07.318 [pimatic] debug: Error: Cannot find module './_assignValue'
13:49:07.318 [pimatic] debug:> at Function.Module._resolveFilename (module.js:325:15)
13:49:07.318 [pimatic] debug:> at Function.Module._load (module.js:276:25)
13:49:07.318 [pimatic] debug:> at Module.require (module.js:353:17)
13:49:07.318 [pimatic] debug:> at require (internal/module.js:12:17)
13:49:07.318 [pimatic] debug:> at Object.<anonymous> (/home/pi/pimatic-beta/node_modules/pimatic-denon-avr/node_modules/xml2js/node_modules/xmlbuilder/node_modules/lodash/assign.js:1:19)
13:49:07.318 [pimatic] debug:> at Module._compile (module.js:409:26)
13:49:07.318 [pimatic] debug:> at Object.Module._extensions..js (module.js:416:10)
13:49:07.318 [pimatic] debug:> at Module.load (/home/pi/pimatic-beta/node_modules/pimatic-mobile-frontend/node_modules/nap/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
13:49:07.318 [pimatic] debug:> at Function.Module._load (module.js:300:12)
13:49:07.318 [pimatic] debug:> at Module.require (module.js:353:17)
13:49:07.318 [pimatic] debug:> at require (internal/module.js:12:17)
13:49:07.318 [pimatic] debug:> at Object.<anonymous> (/home/pi/pimatic-beta/node_modules/pimatic-denon-avr/node_modules/xml2js/node_modules/xmlbuilder/lib/index.js:5:12)
13:49:07.318 [pimatic] debug:> at Object.<anonymous> (/home/pi/pimatic-beta/node_modules/pimatic-denon-avr/node_modules/xml2js/node_modules/xmlbuilder/lib/index.js:14:4)
13:49:07.318 [pimatic] debug:> at Module._compile (module.js:409:26)
13:49:07.318 [pimatic] debug:> at Object.Module._extensions..js (module.js:416:10)
13:49:07.318 [pimatic] debug:> at Module.load (/home/pi/pimatic-beta/node_modules/pimatic-mobile-frontend/node_modules/nap/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
13:49:07.318 [pimatic] debug:> at Function.Module._load (module.js:300:12)
13:49:07.318 [pimatic] debug:> at Module.require (module.js:353:17)
13:49:07.318 [pimatic] debug:> at require (internal/module.js:12:17)
13:49:07.318 [pimatic] debug:> at Object.<anonymous> (/home/pi/pimatic-beta/node_modules/pimatic-denon-avr/node_modules/xml2js/lib/xml2js.js:13:13)
13:49:07.318 [pimatic] debug:> at Object.<anonymous> (/home/pi/pimatic-beta/node_modules/pimatic-denon-avr/node_modules/xml2js/lib/xml2js.js:543:4)
13:49:07.318 [pimatic] debug:> at Module._compile (module.js:409:26)
13:49:07.318 [pimatic] debug:> at Object.Module._extensions..js (module.js:416:10)
13:49:07.318 [pimatic] debug:> at Module.load (/home/pi/pimatic-beta/node_modules/pimatic-mobile-frontend/node_modules/nap/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
13:49:07.318 [pimatic] debug:> at Function.Module._load (module.js:300:12)
13:49:07.318 [pimatic] debug:> at Module.require (module.js:353:17)
13:49:07.318 [pimatic] debug:> at require (internal/module.js:12:17)
13:49:07.318 [pimatic] debug:> at module.exports (/home/pi/pimatic-beta/node_modules/pimatic-denon-avr/http-app-protocol.coffee:7:38)
13:49:07.318 [pimatic] debug:> at module.exports (/home/pi/pimatic-beta/node_modules/pimatic-denon-avr/denon-avr.coffee:7:21)
13:49:07.318 [pimatic] debug:> at PluginManager.loadPlugin (/home/pi/pimatic-beta/node_modules/pimatic/lib/plugins.coffee:83:16)
13:49:07.318 [pimatic] debug:> at /home/pi/pimatic-beta/node_modules/pimatic/lib/plugins.coffee:485:25
13:49:07.318 [pimatic] debug:> at tryCatcher (/home/pi/pimatic-beta/node_modules/pimatic/node_modules/bluebird/js/release/util.js:16:23)
13:49:07.318 [pimatic] debug:> at Promise._settlePromiseFromHandler (/home/pi/pimatic-beta/node_modules/pimatic/node_modules/bluebird/js/release/promise.js:512:31)
13:49:07.318 [pimatic] debug:> at Promise._settlePromise (/home/pi/pimatic-beta/node_modules/pimatic/node_modules/bluebird/js/release/promise.js:569:18)
13:49:07.318 [pimatic] debug:> at Promise._settlePromiseCtx (/home/pi/pimatic-beta/node_modules/pimatic/node_modules/bluebird/js/release/promise.js:606:10)
13:49:07.318 [pimatic] debug:> at Async._drainQueue (/home/pi/pimatic-beta/node_modules/pimatic/node_modules/bluebird/js/release/async.js:138:12)
13:49:07.318 [pimatic] debug:> at Async._drainQueues (/home/pi/pimatic-beta/node_modules/pimatic/node_modules/bluebird/js/release/async.js:143:10)
13:49:07.318 [pimatic] debug:> at Immediate.Async.drainQueues [as _onImmediate] (/home/pi/pimatic-beta/node_modules/pimatic/node_modules/bluebird/js/release/async.js:17:14)
13:49:07.318 [pimatic] debug:> at processImmediate [as _immediateCallback] (timers.js:383:17)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.