39 lines
982 B
Python
39 lines
982 B
Python
import time
|
|
|
|
from roonapi import RoonApi, RoonDiscovery
|
|
|
|
appinfo = {
|
|
"extension_id": "python_roon_test",
|
|
"display_name": "Python library for Roon",
|
|
"display_version": "1.0.0",
|
|
"publisher": "gregd",
|
|
"email": "mygreat@emailaddress.com",
|
|
}
|
|
|
|
try:
|
|
core_id = open("my_core_id_file").read()
|
|
token = open("my_token_file").read()
|
|
except OSError:
|
|
print("Please authorise first using discovery.py")
|
|
exit()
|
|
|
|
discover = RoonDiscovery(core_id)
|
|
server = discover.first()
|
|
discover.stop()
|
|
|
|
roonapi = RoonApi(appinfo, token, server[0], server[1], True)
|
|
|
|
|
|
def my_state_callback(event, changed_ids):
|
|
"""Call when something changes in roon."""
|
|
print("my_state_callback event:%s changed_ids: %s" % (event, changed_ids))
|
|
for zone_id in changed_ids:
|
|
zone = roonapi.zones[zone_id]
|
|
print("zone_id:%s zone_info: %s" % (zone_id, zone))
|
|
|
|
|
|
# receive state updates in your callback
|
|
roonapi.register_state_callback(my_state_callback)
|
|
|
|
time.sleep(10)
|