code: def synchronise_device_state(self, device_state, authentication_headers):
          
  
          payload = {
              'context': device_state,
              'event': {
                  'header': {
                      'namespace': 'System',
                      'name': 'SynchronizeState',
                      'messageId': ''
                  },
                  'payload': {}
              }
          }
          multipart_data = MultipartEncoder(
              fields=[
                  (
                      'metadata', (
                          'metadata',
                          json.dumps(payload),
                          'application/json',
                          {'Content-Disposition': "form-data; name='metadata'"}
                      )
                  ),
              ],
              boundary='boundary'
          )
          headers = {
              **authentication_headers,
              'Content-Type': multipart_data.content_type
          }
          stream_id = self.connection.request(
              'GET',
              '/v20160207/events',
              body=multipart_data,
              headers=headers,
          )
          response = self.connection.get_response(stream_id)
          assert response.status in [http.client.NO_CONTENT, http.client.OK]
docs: Synchronizing the component states with AVS
  
          Components state must be synchronised with AVS after establishing the
          downchannel stream in order to create a persistent connection with AVS.
  
          Note that currently this function is paying lip-service synchronising
          the device state: the device state is hard-coded.