code: async def encoder_read(self, command):
          
          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)
docs: 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]}