code: async def sonar_read(self, command):
          
          pin = int(command[0])
          val = await self.core.sonar_data_retrieve(pin)
  
          reply = json.dumps({"method": "sonar_read_reply", "params": [pin, val]})
          await self.websocket.send(reply)
docs: This method retrieves the last sonar data value that was cached.
          This is a polling method. After sonar config, sonar_data_reply messages will be sent automatically.
          :param command: {"method": "sonar_read", "params": [TRIGGER_PIN]}
          :returns:{"method": "sonar_read_reply", "params": [TRIGGER_PIN, DATA_VALUE]}