denonavr 0.11.6__tar.gz → 1.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- denonavr-1.0.1/PKG-INFO +158 -0
- denonavr-1.0.1/README.md +114 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/denonavr/__init__.py +1 -24
- {denonavr-0.11.6 → denonavr-1.0.1}/denonavr/api.py +181 -94
- {denonavr-0.11.6 → denonavr-1.0.1}/denonavr/audyssey.py +12 -7
- {denonavr-0.11.6 → denonavr-1.0.1}/denonavr/const.py +168 -59
- denonavr-1.0.1/denonavr/decorators.py +84 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/denonavr/denonavr.py +47 -187
- {denonavr-0.11.6 → denonavr-1.0.1}/denonavr/foundation.py +126 -40
- {denonavr-0.11.6 → denonavr-1.0.1}/denonavr/input.py +57 -9
- {denonavr-0.11.6 → denonavr-1.0.1}/denonavr/soundmode.py +51 -36
- {denonavr-0.11.6 → denonavr-1.0.1}/denonavr/tonecontrol.py +47 -12
- {denonavr-0.11.6 → denonavr-1.0.1}/denonavr/volume.py +4 -2
- denonavr-1.0.1/denonavr.egg-info/PKG-INFO +158 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/denonavr.egg-info/SOURCES.txt +54 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/pyproject.toml +3 -2
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/test_denonavr.py +17 -1
- denonavr-1.0.1/tests/xml/AV7703-AppCommand-update-soundmode-8080.xml +6 -0
- denonavr-1.0.1/tests/xml/AV7703-AppCommand-update-tonecontrol-8080.xml +11 -0
- denonavr-1.0.1/tests/xml/AVC-8500H-AppCommand-update-soundmode-8080.xml +6 -0
- denonavr-1.0.1/tests/xml/AVC-8500H-AppCommand-update-tonecontrol-8080.xml +11 -0
- denonavr-1.0.1/tests/xml/AVC-X3700H-AppCommand-update-soundmode-8080.xml +6 -0
- denonavr-1.0.1/tests/xml/AVC-X3700H-AppCommand-update-tonecontrol-8080.xml +11 -0
- denonavr-1.0.1/tests/xml/AVR-1713-AppCommand-update-soundmode.xml +6 -0
- denonavr-1.0.1/tests/xml/AVR-1713-AppCommand-update-tonecontrol.xml +4 -0
- denonavr-1.0.1/tests/xml/AVR-2312CI-Deviceinfo.xml +3 -0
- denonavr-1.0.1/tests/xml/AVR-3311CI-AppCommand-setup.xml +3 -0
- denonavr-1.0.1/tests/xml/AVR-3311CI-AppCommand-update-soundmode.xml +3 -0
- denonavr-1.0.1/tests/xml/AVR-3311CI-AppCommand-update-tonecontrol.xml +3 -0
- denonavr-1.0.1/tests/xml/AVR-3311CI-AppCommand-update.xml +3 -0
- denonavr-1.0.1/tests/xml/AVR-3311CI-Deviceinfo.xml +3 -0
- denonavr-1.0.1/tests/xml/AVR-3313-AppCommand-update-soundmode.xml +6 -0
- denonavr-1.0.1/tests/xml/AVR-3313-AppCommand-update-tonecontrol.xml +4 -0
- denonavr-1.0.1/tests/xml/AVR-4810-AppCommand-update-tonecontrol.xml +4 -0
- denonavr-1.0.1/tests/xml/AVR-4810-AppCommand-update.xml +4 -0
- denonavr-1.0.1/tests/xml/AVR-X1100W-AppCommand-update-soundmode.xml +6 -0
- denonavr-1.0.1/tests/xml/AVR-X1100W-AppCommand-update-tonecontrol.xml +11 -0
- denonavr-1.0.1/tests/xml/AVR-X2000-AppCommand-update-soundmode.xml +3 -0
- denonavr-1.0.1/tests/xml/AVR-X2000-AppCommand-update-tonecontrol.xml +3 -0
- denonavr-1.0.1/tests/xml/AVR-X2100W-2-AppCommand-update-soundmode.xml +3 -0
- denonavr-1.0.1/tests/xml/AVR-X2100W-2-AppCommand-update-tonecontrol.xml +3 -0
- denonavr-1.0.1/tests/xml/AVR-X2100W-AppCommand-setup.xml +3 -0
- denonavr-1.0.1/tests/xml/AVR-X2100W-AppCommand-update-soundmode.xml +3 -0
- denonavr-1.0.1/tests/xml/AVR-X2100W-AppCommand-update-tonecontrol.xml +3 -0
- denonavr-1.0.1/tests/xml/AVR-X2100W-AppCommand-update.xml +3 -0
- denonavr-1.0.1/tests/xml/AVR-X4000-AppCommand-update-soundmode.xml +6 -0
- denonavr-1.0.1/tests/xml/AVR-X4000-AppCommand-update-tonecontrol.xml +4 -0
- denonavr-1.0.1/tests/xml/AVR-X4100W-AppCommand-update-soundmode.xml +6 -0
- denonavr-1.0.1/tests/xml/AVR-X4100W-AppCommand-update-tonecontrol.xml +11 -0
- denonavr-1.0.1/tests/xml/AVR-X4300H-AppCommand-update-soundmode-8080.xml +6 -0
- denonavr-1.0.1/tests/xml/AVR-X4300H-AppCommand-update-tonecontrol-8080.xml +11 -0
- denonavr-1.0.1/tests/xml/M-CR510-2-AppCommand-update-soundmode.xml +6 -0
- denonavr-1.0.1/tests/xml/M-CR510-2-AppCommand-update-tonecontrol.xml +4 -0
- denonavr-1.0.1/tests/xml/M-CR510-AppCommand-update-soundmode.xml +6 -0
- denonavr-1.0.1/tests/xml/M-CR510-AppCommand-update-tonecontrol.xml +4 -0
- denonavr-1.0.1/tests/xml/M-CR603-AppCommand-setup.xml +4 -0
- denonavr-1.0.1/tests/xml/M-CR603-AppCommand-update-soundmode.xml +4 -0
- denonavr-1.0.1/tests/xml/M-CR603-AppCommand-update-tonecontrol.xml +4 -0
- denonavr-1.0.1/tests/xml/M-CR603-AppCommand-update.xml +4 -0
- denonavr-1.0.1/tests/xml/M-RC610-AppCommand-update-soundmode.xml +3 -0
- denonavr-1.0.1/tests/xml/M-RC610-AppCommand-update-tonecontrol.xml +3 -0
- denonavr-1.0.1/tests/xml/NR1604-AppCommand-update-soundmode.xml +3 -0
- denonavr-1.0.1/tests/xml/NR1604-AppCommand-update-tonecontrol.xml +3 -0
- denonavr-1.0.1/tests/xml/NR1609-AppCommand-update-soundmode-8080.xml +6 -0
- denonavr-1.0.1/tests/xml/NR1609-AppCommand-update-tonecontrol-8080.xml +11 -0
- denonavr-1.0.1/tests/xml/SR5008-AppCommand-update-tonecontrol.xml +3 -0
- denonavr-1.0.1/tests/xml/SR5008-AppCommand-update.xml +3 -0
- denonavr-1.0.1/tests/xml/SR6011-AppCommand-update-soundmode.xml +6 -0
- denonavr-1.0.1/tests/xml/SR6011-AppCommand-update-tonecontrol.xml +11 -0
- denonavr-1.0.1/tests/xml/SR6012-AppCommand-update-soundmode-8080.xml +6 -0
- denonavr-1.0.1/tests/xml/SR6012-AppCommand-update-tonecontrol-8080.xml +11 -0
- denonavr-0.11.6/PKG-INFO +0 -290
- denonavr-0.11.6/README.md +0 -247
- denonavr-0.11.6/denonavr/decorators.py +0 -151
- denonavr-0.11.6/denonavr.egg-info/PKG-INFO +0 -290
- {denonavr-0.11.6 → denonavr-1.0.1}/LICENSE +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/denonavr/appcommand.py +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/denonavr/exceptions.py +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/denonavr/ssdp.py +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/denonavr.egg-info/dependency_links.txt +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/denonavr.egg-info/not-zip-safe +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/denonavr.egg-info/requires.txt +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/denonavr.egg-info/top_level.txt +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/setup.cfg +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/__init__.py +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/test_ssdp.py +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AV7703-AppCommand-setup-8080.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AV7703-AppCommand-update-8080.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AV7703-Deviceinfo-8080.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVC-8500H-AppCommand-setup-8080.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVC-8500H-AppCommand-update-8080.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVC-8500H-Deviceinfo-8080.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVC-X3700H-AppCommand-setup-8080.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVC-X3700H-AppCommand-update-8080.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVC-X3700H-Deviceinfo-8080.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-1713-AppCommand-setup.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-1713-AppCommand-update.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-1713-Deviceinfo.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-1713-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-1713-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-1713-formNetAudio_StatusXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-1713-formTuner_HdXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-1713-formTuner_TunerXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-1713-formZone2_Zone2XmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-1713-formZone3_Zone3XmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-1912-AppCommand-setup.xml +0 -0
- /denonavr-0.11.6/tests/xml/AVR-1912-AppCommand-update.xml → /denonavr-1.0.1/tests/xml/AVR-1912-AppCommand-update-soundmode.xml +0 -0
- /denonavr-0.11.6/tests/xml/AVR-1912-Deviceinfo.xml → /denonavr-1.0.1/tests/xml/AVR-1912-AppCommand-update-tonecontrol.xml +0 -0
- /denonavr-0.11.6/tests/xml/AVR-2312CI-AppCommand-setup.xml → /denonavr-1.0.1/tests/xml/AVR-1912-AppCommand-update.xml +0 -0
- /denonavr-0.11.6/tests/xml/AVR-2312CI-AppCommand-update.xml → /denonavr-1.0.1/tests/xml/AVR-1912-Deviceinfo.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-1912-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-1912-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-1912-formNetAudio_StatusXml.xml +0 -0
- /denonavr-0.11.6/tests/xml/AVR-2312CI-Deviceinfo.xml → /denonavr-1.0.1/tests/xml/AVR-2312CI-AppCommand-setup.xml +0 -0
- /denonavr-0.11.6/tests/xml/AVR-3311CI-AppCommand-setup.xml → /denonavr-1.0.1/tests/xml/AVR-2312CI-AppCommand-update-soundmode.xml +0 -0
- /denonavr-0.11.6/tests/xml/AVR-3311CI-AppCommand-update.xml → /denonavr-1.0.1/tests/xml/AVR-2312CI-AppCommand-update-tonecontrol.xml +0 -0
- /denonavr-0.11.6/tests/xml/AVR-3311CI-Deviceinfo.xml → /denonavr-1.0.1/tests/xml/AVR-2312CI-AppCommand-update.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-2312CI-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-2312CI-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-2312CI-formNetAudio_StatusXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3311CI-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3311CI-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3311CI-formNetAudio_StatusXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3312-AppCommand-setup.xml +0 -0
- /denonavr-0.11.6/tests/xml/AVR-3312-AppCommand-update.xml → /denonavr-1.0.1/tests/xml/AVR-3312-AppCommand-update-soundmode.xml +0 -0
- /denonavr-0.11.6/tests/xml/AVR-4810-AppCommand-setup.xml → /denonavr-1.0.1/tests/xml/AVR-3312-AppCommand-update-tonecontrol.xml +0 -0
- /denonavr-0.11.6/tests/xml/AVR-4810-AppCommand-update.xml → /denonavr-1.0.1/tests/xml/AVR-3312-AppCommand-update.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3312-Deviceinfo.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3312-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3312-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3312-formNetAudio_StatusXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3312-formTuner_HdXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3312-formTuner_TunerXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3312-formZone2_Zone2XmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3312-formZone3_Zone3XmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3313-AppCommand-setup.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3313-AppCommand-update.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3313-Deviceinfo.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3313-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3313-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3313-formNetAudio_StatusXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3313-formTuner_HdXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3313-formTuner_TunerXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3313-formZone2_Zone2XmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-3313-formZone3_Zone3XmlStatus.xml +0 -0
- /denonavr-0.11.6/tests/xml/M-CR603-AppCommand-setup.xml → /denonavr-1.0.1/tests/xml/AVR-4810-AppCommand-setup.xml +0 -0
- /denonavr-0.11.6/tests/xml/M-CR603-AppCommand-update.xml → /denonavr-1.0.1/tests/xml/AVR-4810-AppCommand-update-soundmode.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-4810-Deviceinfo.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-4810-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-4810-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-4810-formNetAudio_StatusXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-4810-formTuner_HdXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-4810-formTuner_TunerXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-4810-formZone2_Zone2XmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-4810-formZone3_Zone3XmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X1100W-AppCommand-setup.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X1100W-AppCommand-update.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X1100W-Deviceinfo.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X1100W-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X1100W-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X1100W-formNetAudio_StatusXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X1100W-formTuner_HdXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X1100W-formTuner_TunerXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X1100W-formZone2_Zone2XmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X1100W-formZone3_Zone3XmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X1600H_upnp.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2000-2-AppCommand-setup.xml +0 -0
- /denonavr-0.11.6/tests/xml/AVR-X2000-2-AppCommand-update.xml → /denonavr-1.0.1/tests/xml/AVR-X2000-2-AppCommand-update-soundmode.xml +0 -0
- /denonavr-0.11.6/tests/xml/AVR-X2100W-AppCommand-setup.xml → /denonavr-1.0.1/tests/xml/AVR-X2000-2-AppCommand-update-tonecontrol.xml +0 -0
- /denonavr-0.11.6/tests/xml/AVR-X2100W-AppCommand-update.xml → /denonavr-1.0.1/tests/xml/AVR-X2000-2-AppCommand-update.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2000-2-Deviceinfo.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2000-2-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2000-2-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2000-2-formNetAudio_StatusXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2000-AppCommand-setup.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2000-AppCommand-update.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2000-Deviceinfo.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2000-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2000-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2000-formNetAudio_StatusXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2000-formTuner_HdXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2000-formTuner_TunerXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2000-formZone2_Zone2XmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2000-formZone3_Zone3XmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2100W-2-AppCommand-setup.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2100W-2-AppCommand-update.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2100W-2-Deviceinfo.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2100W-2-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2100W-2-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2100W-2-formNetAudio_StatusXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2100W-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2100W-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X2100W-formNetAudio_StatusXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X4000-AppCommand-setup.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X4000-AppCommand-update.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X4000-Deviceinfo.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X4000-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X4000-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X4000-formNetAudio_StatusXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X4000-formTuner_HdXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X4000-formTuner_TunerXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X4000-formZone2_Zone2XmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X4000-formZone3_Zone3XmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X4100W-AppCommand-setup.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X4100W-AppCommand-update.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X4100W-Deviceinfo.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X4100W-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X4100W-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X4100W-formNetAudio_StatusXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X4300H-AppCommand-setup-8080.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X4300H-AppCommand-update-8080.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/AVR-X4300H-Deviceinfo-8080.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR510-2-AppCommand-setup.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR510-2-AppCommand-update.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR510-2-Deviceinfo.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR510-2-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR510-2-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR510-2-formNetAudio_StatusXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR510-2-formTuner_HdXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR510-2-formTuner_TunerXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR510-AppCommand-setup.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR510-AppCommand-update.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR510-Deviceinfo.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR510-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR510-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR510-formNetAudio_StatusXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR510-formTuner_HdXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR510-formTuner_TunerXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR603-Deviceinfo.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR603-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR603-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR603-formNetAudio_StatusXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR603-formTuner_HdXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR603-formTuner_TunerXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR603-formZone2_Zone2XmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-CR603-formZone3_Zone3XmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-RC610-AppCommand-setup.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-RC610-AppCommand-update.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-RC610-Deviceinfo.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-RC610-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-RC610-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-RC610-formNetAudio_StatusXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/M-RC610-formTuner_TunerXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/NR1604-AppCommand-setup.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/NR1604-AppCommand-update.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/NR1604-Deviceinfo.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/NR1604-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/NR1604-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/NR1604-formNetAudio_StatusXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/NR1604-formTuner_HdXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/NR1604-formTuner_TunerXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/NR1604-formZone2_Zone2XmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/NR1604-formZone3_Zone3XmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/NR1609-AppCommand-setup-8080.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/NR1609-AppCommand-update-8080.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/NR1609-Deviceinfo-8080.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/SR5008-AppCommand-setup.xml +0 -0
- /denonavr-0.11.6/tests/xml/SR5008-AppCommand-update.xml → /denonavr-1.0.1/tests/xml/SR5008-AppCommand-update-soundmode.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/SR5008-Deviceinfo.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/SR5008-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/SR5008-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/SR5008-formNetAudio_StatusXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/SR5008-formTuner_HdXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/SR5008-formTuner_TunerXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/SR6011-AppCommand-setup.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/SR6011-AppCommand-update.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/SR6011-Deviceinfo.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/SR6011-formMainZone_MainZoneXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/SR6011-formMainZone_MainZoneXmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/SR6011-formNetAudio_StatusXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/SR6011-formTuner_HdXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/SR6011-formTuner_TunerXml.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/SR6011-formZone2_Zone2XmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/SR6011-formZone3_Zone3XmlStatus.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/SR6012-AppCommand-setup-8080.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/SR6012-AppCommand-update-8080.xml +0 -0
- {denonavr-0.11.6 → denonavr-1.0.1}/tests/xml/SR6012-Deviceinfo-8080.xml +0 -0
denonavr-1.0.1/PKG-INFO
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: denonavr
|
|
3
|
+
Version: 1.0.1
|
|
4
|
+
Summary: Automation Library for Denon AVR receivers
|
|
5
|
+
Author-email: Oliver Goetz <scarface@mywoh.de>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/ol-iver/denonavr
|
|
8
|
+
Project-URL: Source, https://github.com/ol-iver/denonavr
|
|
9
|
+
Project-URL: Tracker, https://github.com/ol-iver/denonavr/issues
|
|
10
|
+
Platform: any
|
|
11
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
16
|
+
Classifier: Topic :: Home Automation
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
24
|
+
Requires-Python: >=3.7
|
|
25
|
+
Description-Content-Type: text/markdown; charset=UTF-8
|
|
26
|
+
License-File: LICENSE
|
|
27
|
+
Requires-Dist: asyncstdlib>=3.10.2
|
|
28
|
+
Requires-Dist: attrs>=21.2.0
|
|
29
|
+
Requires-Dist: defusedxml>=0.7.1
|
|
30
|
+
Requires-Dist: ftfy>=6.1.1
|
|
31
|
+
Requires-Dist: httpx>=0.23.1
|
|
32
|
+
Requires-Dist: netifaces>=0.11.0
|
|
33
|
+
Requires-Dist: async-timeout>=4.0.2; python_version < "3.11"
|
|
34
|
+
Provides-Extra: testing
|
|
35
|
+
Requires-Dist: pydocstyle; extra == "testing"
|
|
36
|
+
Requires-Dist: pylint; extra == "testing"
|
|
37
|
+
Requires-Dist: pytest; extra == "testing"
|
|
38
|
+
Requires-Dist: pytest-cov; extra == "testing"
|
|
39
|
+
Requires-Dist: pytest-timeout; extra == "testing"
|
|
40
|
+
Requires-Dist: pytest-asyncio; extra == "testing"
|
|
41
|
+
Requires-Dist: pytest-httpx; extra == "testing"
|
|
42
|
+
Requires-Dist: flake8-docstrings; extra == "testing"
|
|
43
|
+
Requires-Dist: flake8; extra == "testing"
|
|
44
|
+
|
|
45
|
+
# denonavr
|
|
46
|
+
[](https://github.com/ol-iver/denonavr/releases/latest)
|
|
47
|
+
[](https://github.com/ol-iver/denonavr/actions/workflows/python-tests.yml)
|
|
48
|
+
[](https://pypi.org/project/denonavr)
|
|
49
|
+
[](LICENSE)
|
|
50
|
+
[](https://github.com/psf/black)
|
|
51
|
+
|
|
52
|
+
Automation Library for Denon AVR receivers
|
|
53
|
+
|
|
54
|
+
## Installation
|
|
55
|
+
|
|
56
|
+
Use pip:
|
|
57
|
+
|
|
58
|
+
```$ pip install denonavr```
|
|
59
|
+
|
|
60
|
+
or
|
|
61
|
+
|
|
62
|
+
```$ pip install --use-wheel denonavr```
|
|
63
|
+
|
|
64
|
+
## Usage with `async`
|
|
65
|
+
|
|
66
|
+
Writing `async` and `await` methods are outside the scope of the documentation. You can test `async` usage from the Python REPL. In a terminal run:
|
|
67
|
+
|
|
68
|
+
`python3 -m asyncio`
|
|
69
|
+
|
|
70
|
+
The `asyncio` library should automatically be imported in the REPL. Import the `denonavr` library and set up your receiver. If you know the IP address, enter it below replacing `192.168.1.119`.
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
>>> import asyncio
|
|
74
|
+
>>> import denonavr
|
|
75
|
+
>>> d = denonavr.DenonAVR("192.168.1.119")
|
|
76
|
+
>>> await d.async_setup()
|
|
77
|
+
>>> await d.async_update()
|
|
78
|
+
>>> print(d.volume)
|
|
79
|
+
-36.5
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Monitoring with telnet
|
|
83
|
+
In addition to retrieving the current device status via HTTP calls, `denonavr` library also has the ability to setup a task that will connect to the receiver via telnet on TCP port 23 and listen for real-time events to notify of status changes.
|
|
84
|
+
This provides instant updates via a callback when the device status changes. Receivers support only one active telnet connection.
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
>>> import asyncio
|
|
88
|
+
>>> import denonavr
|
|
89
|
+
>>> d = denonavr.DenonAVR("192.168.1.119")
|
|
90
|
+
>>> await d.async_setup()
|
|
91
|
+
>>> await d.async_telnet_connect()
|
|
92
|
+
>>> await d.async_update()
|
|
93
|
+
>>> async def update_callback(zone, event, parameter):
|
|
94
|
+
>>>>>> print("Zone: " + zone + " Event: " + event + " Parameter: " + parameter)
|
|
95
|
+
>>> d.register_callback("ALL", update_callback)
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Power & Input
|
|
99
|
+
```
|
|
100
|
+
>>> await d.async_power_on()
|
|
101
|
+
>>> await d.async_update()
|
|
102
|
+
>>> d.power
|
|
103
|
+
'ON'
|
|
104
|
+
|
|
105
|
+
>>> await d.async_power_off()
|
|
106
|
+
>>> await d.async_update()
|
|
107
|
+
>>> d.power
|
|
108
|
+
'OFF'
|
|
109
|
+
|
|
110
|
+
>>> d.input_func
|
|
111
|
+
'Tuner'
|
|
112
|
+
>>> await d.async_set_input_func("Phono")
|
|
113
|
+
>>> d.input_func
|
|
114
|
+
'Phono'
|
|
115
|
+
```
|
|
116
|
+
### Sound
|
|
117
|
+
```
|
|
118
|
+
>>> await d.async_mute(True)
|
|
119
|
+
>>> await d.async_mute(False)
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Other methods
|
|
123
|
+
|
|
124
|
+
Other `async` methods available include:
|
|
125
|
+
|
|
126
|
+
* `d.async_bass_down`
|
|
127
|
+
* `d.async_bass_up`
|
|
128
|
+
* `d.async_treble_down`
|
|
129
|
+
* `d.async_treble_up`
|
|
130
|
+
* `d.async_volume_down`
|
|
131
|
+
* `d.async_volume_up`
|
|
132
|
+
* `d.async_set_volume(50)`
|
|
133
|
+
|
|
134
|
+
## Collection of HTTP calls
|
|
135
|
+
For a collection of HTTP calls for Denon receivers please have a look at the `doc` folder.
|
|
136
|
+
|
|
137
|
+
## License
|
|
138
|
+
MIT
|
|
139
|
+
|
|
140
|
+
## Author
|
|
141
|
+
@ol-iver: https://github.com/ol-iver
|
|
142
|
+
|
|
143
|
+
## Contributors
|
|
144
|
+
@soldag: https://github.com/soldag
|
|
145
|
+
@shapiromatron: https://github.com/shapiromatron
|
|
146
|
+
@glance-: https://github.com/glance-
|
|
147
|
+
@p3dda: https://github.com/p3dda
|
|
148
|
+
@russel: https://github.com/russell
|
|
149
|
+
@starkillerOG: https://github.com/starkillerOG
|
|
150
|
+
@andrewsayre: https://github.com/andrewsayre
|
|
151
|
+
@JPHutchins: https://github.com/JPHutchins
|
|
152
|
+
@MarBra: https://github.com/MarBra
|
|
153
|
+
@dcmeglio: https://github.com/dcmeglio
|
|
154
|
+
@bdraco: https://github.com/bdraco
|
|
155
|
+
|
|
156
|
+
## Users
|
|
157
|
+
Home Assistant: https://github.com/home-assistant/home-assistant/
|
|
158
|
+
denonavr-cli: https://pypi.org/project/denonavr-cli/
|
denonavr-1.0.1/README.md
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# denonavr
|
|
2
|
+
[](https://github.com/ol-iver/denonavr/releases/latest)
|
|
3
|
+
[](https://github.com/ol-iver/denonavr/actions/workflows/python-tests.yml)
|
|
4
|
+
[](https://pypi.org/project/denonavr)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
[](https://github.com/psf/black)
|
|
7
|
+
|
|
8
|
+
Automation Library for Denon AVR receivers
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
Use pip:
|
|
13
|
+
|
|
14
|
+
```$ pip install denonavr```
|
|
15
|
+
|
|
16
|
+
or
|
|
17
|
+
|
|
18
|
+
```$ pip install --use-wheel denonavr```
|
|
19
|
+
|
|
20
|
+
## Usage with `async`
|
|
21
|
+
|
|
22
|
+
Writing `async` and `await` methods are outside the scope of the documentation. You can test `async` usage from the Python REPL. In a terminal run:
|
|
23
|
+
|
|
24
|
+
`python3 -m asyncio`
|
|
25
|
+
|
|
26
|
+
The `asyncio` library should automatically be imported in the REPL. Import the `denonavr` library and set up your receiver. If you know the IP address, enter it below replacing `192.168.1.119`.
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
>>> import asyncio
|
|
30
|
+
>>> import denonavr
|
|
31
|
+
>>> d = denonavr.DenonAVR("192.168.1.119")
|
|
32
|
+
>>> await d.async_setup()
|
|
33
|
+
>>> await d.async_update()
|
|
34
|
+
>>> print(d.volume)
|
|
35
|
+
-36.5
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Monitoring with telnet
|
|
39
|
+
In addition to retrieving the current device status via HTTP calls, `denonavr` library also has the ability to setup a task that will connect to the receiver via telnet on TCP port 23 and listen for real-time events to notify of status changes.
|
|
40
|
+
This provides instant updates via a callback when the device status changes. Receivers support only one active telnet connection.
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
>>> import asyncio
|
|
44
|
+
>>> import denonavr
|
|
45
|
+
>>> d = denonavr.DenonAVR("192.168.1.119")
|
|
46
|
+
>>> await d.async_setup()
|
|
47
|
+
>>> await d.async_telnet_connect()
|
|
48
|
+
>>> await d.async_update()
|
|
49
|
+
>>> async def update_callback(zone, event, parameter):
|
|
50
|
+
>>>>>> print("Zone: " + zone + " Event: " + event + " Parameter: " + parameter)
|
|
51
|
+
>>> d.register_callback("ALL", update_callback)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Power & Input
|
|
55
|
+
```
|
|
56
|
+
>>> await d.async_power_on()
|
|
57
|
+
>>> await d.async_update()
|
|
58
|
+
>>> d.power
|
|
59
|
+
'ON'
|
|
60
|
+
|
|
61
|
+
>>> await d.async_power_off()
|
|
62
|
+
>>> await d.async_update()
|
|
63
|
+
>>> d.power
|
|
64
|
+
'OFF'
|
|
65
|
+
|
|
66
|
+
>>> d.input_func
|
|
67
|
+
'Tuner'
|
|
68
|
+
>>> await d.async_set_input_func("Phono")
|
|
69
|
+
>>> d.input_func
|
|
70
|
+
'Phono'
|
|
71
|
+
```
|
|
72
|
+
### Sound
|
|
73
|
+
```
|
|
74
|
+
>>> await d.async_mute(True)
|
|
75
|
+
>>> await d.async_mute(False)
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Other methods
|
|
79
|
+
|
|
80
|
+
Other `async` methods available include:
|
|
81
|
+
|
|
82
|
+
* `d.async_bass_down`
|
|
83
|
+
* `d.async_bass_up`
|
|
84
|
+
* `d.async_treble_down`
|
|
85
|
+
* `d.async_treble_up`
|
|
86
|
+
* `d.async_volume_down`
|
|
87
|
+
* `d.async_volume_up`
|
|
88
|
+
* `d.async_set_volume(50)`
|
|
89
|
+
|
|
90
|
+
## Collection of HTTP calls
|
|
91
|
+
For a collection of HTTP calls for Denon receivers please have a look at the `doc` folder.
|
|
92
|
+
|
|
93
|
+
## License
|
|
94
|
+
MIT
|
|
95
|
+
|
|
96
|
+
## Author
|
|
97
|
+
@ol-iver: https://github.com/ol-iver
|
|
98
|
+
|
|
99
|
+
## Contributors
|
|
100
|
+
@soldag: https://github.com/soldag
|
|
101
|
+
@shapiromatron: https://github.com/shapiromatron
|
|
102
|
+
@glance-: https://github.com/glance-
|
|
103
|
+
@p3dda: https://github.com/p3dda
|
|
104
|
+
@russel: https://github.com/russell
|
|
105
|
+
@starkillerOG: https://github.com/starkillerOG
|
|
106
|
+
@andrewsayre: https://github.com/andrewsayre
|
|
107
|
+
@JPHutchins: https://github.com/JPHutchins
|
|
108
|
+
@MarBra: https://github.com/MarBra
|
|
109
|
+
@dcmeglio: https://github.com/dcmeglio
|
|
110
|
+
@bdraco: https://github.com/bdraco
|
|
111
|
+
|
|
112
|
+
## Users
|
|
113
|
+
Home Assistant: https://github.com/home-assistant/home-assistant/
|
|
114
|
+
denonavr-cli: https://pypi.org/project/denonavr-cli/
|
|
@@ -10,8 +10,6 @@ Automation Library for Denon AVR receivers.
|
|
|
10
10
|
# Set default logging handler to avoid "No handler found" warnings.
|
|
11
11
|
import logging
|
|
12
12
|
|
|
13
|
-
from .decorators import run_async_synchronously
|
|
14
|
-
|
|
15
13
|
# Import denonavr module
|
|
16
14
|
from .denonavr import DenonAVR
|
|
17
15
|
from .ssdp import async_identify_denonavr_receivers
|
|
@@ -19,7 +17,7 @@ from .ssdp import async_identify_denonavr_receivers
|
|
|
19
17
|
logging.getLogger(__name__).addHandler(logging.NullHandler())
|
|
20
18
|
|
|
21
19
|
__title__ = "denonavr"
|
|
22
|
-
__version__ = "0.
|
|
20
|
+
__version__ = "1.0.1"
|
|
23
21
|
|
|
24
22
|
|
|
25
23
|
async def async_discover():
|
|
@@ -33,17 +31,6 @@ async def async_discover():
|
|
|
33
31
|
return await async_identify_denonavr_receivers()
|
|
34
32
|
|
|
35
33
|
|
|
36
|
-
@run_async_synchronously(async_func=async_discover)
|
|
37
|
-
def discover():
|
|
38
|
-
"""
|
|
39
|
-
Discover all Denon AVR devices in LAN zone.
|
|
40
|
-
|
|
41
|
-
Returns a list of dictionaries which includes all discovered Denon AVR
|
|
42
|
-
devices with keys "host", "modelName", "friendlyName", "presentationURL".
|
|
43
|
-
By default SSDP broadcasts are sent once with a 2 seconds timeout.
|
|
44
|
-
"""
|
|
45
|
-
|
|
46
|
-
|
|
47
34
|
async def async_init_all_receivers():
|
|
48
35
|
"""
|
|
49
36
|
Initialize all discovered Denon AVR receivers in LAN zone.
|
|
@@ -58,13 +45,3 @@ async def async_init_all_receivers():
|
|
|
58
45
|
init_receiver = DenonAVR(receiver["host"])
|
|
59
46
|
init_receivers.append(init_receiver)
|
|
60
47
|
return init_receivers
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
@run_async_synchronously(async_func=async_init_all_receivers)
|
|
64
|
-
def init_all_receivers():
|
|
65
|
-
"""
|
|
66
|
-
Initialize all discovered Denon AVR receivers in LAN zone.
|
|
67
|
-
|
|
68
|
-
Returns a list of created Denon AVR instances.
|
|
69
|
-
By default SSDP broadcasts are sent up to 3 times with a 2 seconds timeout.
|
|
70
|
-
"""
|