This is a polling method to read the last cached FirmataPlus encoder value.
        Normally not used. See encoder config for the asynchronous report message format.

        :param command: {"method": "encoder_read", "params": [PIN_A]}
        :returns: {"method": "encoder_read_reply", "params": [PIN_A, ENCODER_VALUE]}

async def encoder_read(self, command):
        """
        This is a polling method to read the last cached FirmataPlus encoder value.
        Normally not used. See encoder config for the asynchronous report message format.

        :param command: {"method": "encoder_read", "params": [PIN_A]}
        :returns: {"method": "encoder_read_reply", "params": [PIN_A, ENCODER_VALUE]}
        """
        pin = int(command[0])
        val = await self.core.encoder_read(pin)
        reply = json.dumps({"method": "encoder_read_reply", "params": [pin, val]})
        await self.websocket.send(reply)