Source code for citylearn.internal.capabilities

"""Explicit interface combinations known to be unsupported in this release."""

[docs] def unsupported_reason(schema, interface=None, topology_mode=None): interface = interface or schema.get('interface', 'flat') topology_mode = topology_mode or schema.get('topology_mode', 'static') if interface != 'entity' and topology_mode == 'dynamic': return "Dynamic topology requires the entity interface." if interface != 'entity' and (schema.get('demand_response') or {}).get('enabled', False): return "Demand response requires the entity interface." if (interface == 'flat' and schema.get('interface') == 'entity' and (schema.get('robustness') or {}).get('enabled', False)): return "Robustness targets declared for entity are not translated automatically into flat observations." if interface == 'entity' and any(b.get('escalators') for b in schema.get('buildings', {}).values()): return "Escalator actions are currently supported only by the flat interface." return None