Messages

Every message from/to the Sonos devices are represented as a soco_plugin.message.Description() entity.

Both triggers and commands are soco_plugin.message.Description() entities.

class soco_plugin.message.Description(data)
>>> description1 = {"type": "soco",
...                "name": "volume",
...                "fields": {"delta": 100},
...                "addresses": ["Bagno"]}
>>> description2 = {"type": "soco",
...                "name": "volume",
...                "fields": {"delta": 50},
...                "addresses": ["Bagno"]}
>>> d1 = Description(description1)
>>> d2 = Description(description2)
>>> d1 == d2
True
>>> str(d1.msg["name"])
'volume'
PROTOCOL = 'soco'
Msg = {'addresses': [], 'fields': {}, 'name': 'Fake', 'type': 'soco'}
property msg
property addresses: List[Address]
classmethod make(addresses: List[Address], fields: Any = None) soco_plugin.Description

Make a protocol message Description given the arguments.

Parameters
  • args

  • kwargs

Returns

a protocol message Description

classmethod make_from_yaml(addresses: List[Address], fields: Any = None) soco_plugin.Description

Make a protocol message Description given the yaml arguments.

Parameters
  • args

  • kwargs

Returns

a protocol message Description

classmethod make_from()

Make a protocol message Description given the protocol message

Parameters

msg – a protocol message

Returns

a protocol message Description