diff --git a/documentation/changelog.rst b/documentation/changelog.rst index 8b1193343..ab520b22a 100644 --- a/documentation/changelog.rst +++ b/documentation/changelog.rst @@ -24,6 +24,7 @@ New features Bugfixes ----------- * Fix (dev) CLI command for adding a GenericAssetType [see `PR #173 `_] +* Fix (dev) CLI command for adding a Sensor [see `PR #176 `_] Infrastructure / Support ---------------------- diff --git a/flexmeasures/data/models/time_series.py b/flexmeasures/data/models/time_series.py index db7b8493a..c8d087741 100644 --- a/flexmeasures/data/models/time_series.py +++ b/flexmeasures/data/models/time_series.py @@ -39,10 +39,22 @@ class Sensor(db.Model, tb.SensorDBMixin): ), ) - def __init__(self, name: str, generic_asset: GenericAsset, **kwargs): + def __init__( + self, + name: str, + generic_asset: Optional[GenericAsset] = None, + generic_asset_id: Optional[int] = None, + **kwargs, + ): + assert (generic_asset is None) ^ ( + generic_asset_id is None + ), "Either generic_asset_id or generic_asset must be set." tb.SensorDBMixin.__init__(self, name, **kwargs) tb_utils.remove_class_init_kwargs(tb.SensorDBMixin, kwargs) - kwargs["generic_asset"] = generic_asset + if generic_asset is not None: + kwargs["generic_asset"] = generic_asset + else: + kwargs["generic_asset_id"] = generic_asset_id db.Model.__init__(self, **kwargs) @property