code: def compare_values(vartype, unit, old_value, new_value):
      
  
      # if the integer or bool new_value is not correct this function will return False
      if vartype == 'bool':
          old_value = parse_bool(old_value)
          new_value = parse_bool(new_value)
      elif vartype == 'integer':
          old_value = parse_int(old_value)
          new_value = parse_int(new_value, unit)
      elif vartype == 'enum':
          return str(old_value).lower() == str(new_value).lower()
      else:  # ('string', 'real')
          return str(old_value) == str(new_value)
      return old_value is not None and new_value is not None and old_value == new_value
docs: >>> compare_values('enum', None, 'remote_write', 'REMOTE_WRITE')
      True
      >>> compare_values('real', None, '1.23', 1.23)
      True