Add senario/available and fix cmnd/power
This commit is contained in:
parent
c444cb6c9b
commit
51486518b4
9
app.py
9
app.py
@ -23,6 +23,7 @@ class Yamaha:
|
|||||||
self._cur_senario = None
|
self._cur_senario = None
|
||||||
|
|
||||||
self._client.subscribe_callback('yamaha/cmnd/senario', self.handle_senario)
|
self._client.subscribe_callback('yamaha/cmnd/senario', self.handle_senario)
|
||||||
|
self._client.subscribe_callback('yamaha/cmnd/senario/available', self.handle_senario_available)
|
||||||
self._client.subscribe_callback('yamaha/cmnd/volume', self.handle_volume)
|
self._client.subscribe_callback('yamaha/cmnd/volume', self.handle_volume)
|
||||||
self._client.subscribe_callback('yamaha/cmnd/volume/params', self.handle_volume_params)
|
self._client.subscribe_callback('yamaha/cmnd/volume/params', self.handle_volume_params)
|
||||||
self._client.subscribe_callback('yamaha/cmnd/power', self.handle_power)
|
self._client.subscribe_callback('yamaha/cmnd/power', self.handle_power)
|
||||||
@ -73,6 +74,10 @@ class Yamaha:
|
|||||||
|
|
||||||
self._client.publish('yamaha/stat/senario', senario_name)
|
self._client.publish('yamaha/stat/senario', senario_name)
|
||||||
|
|
||||||
|
def handle_senario_available(self, client, userdata, msg):
|
||||||
|
self._client.publish('yamaha/stat/senario/available',
|
||||||
|
json.dumps([s.__name__.lower() for s in self.available_senarios]))
|
||||||
|
|
||||||
def handle_volume_params(self, client, userdata, msg):
|
def handle_volume_params(self, client, userdata, msg):
|
||||||
r = self.request(Zone().get_status('main'))
|
r = self.request(Zone().get_status('main'))
|
||||||
msg = {
|
msg = {
|
||||||
@ -102,4 +107,6 @@ class Yamaha:
|
|||||||
self.request(Zone().set_power('main', 'standby'))
|
self.request(Zone().set_power('main', 'standby'))
|
||||||
|
|
||||||
r = self.request(Zone().get_status('main'))
|
r = self.request(Zone().get_status('main'))
|
||||||
self._client.publish('yamaha/stat/power', r['power'])
|
state = r['power']
|
||||||
|
state = 'off' if state == 'standby' else state
|
||||||
|
self._client.publish('yamaha/stat/power', state)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user