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]}

async def sonar_read(self, command):
        """
        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]}
        """
        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)