code: def write_value(self, value, offset=0):
          
          bytes = [dbus.Byte(b) for b in value]
  
          try:
              self._object.WriteValue(
                  bytes,
                  {'offset': dbus.UInt16(offset, variant_level=1)},
                  reply_handler=self._write_value_succeeded,
                  error_handler=self._write_value_failed,
                  dbus_interface='org.bluez.GattCharacteristic1')
          except dbus.exceptions.DBusException as e:
              self._write_value_failed(self, error=e)
docs: Attempts to write a value to the characteristic.
  
          Success or failure will be notified by calls to `write_value_succeeded` or `write_value_failed` respectively.
  
          :param value: array of bytes to be written
          :param offset: offset from where to start writing the bytes (defaults to 0)