Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 2 additions & 11 deletions luxtronik/cfi/calculations.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
)

from luxtronik.cfi.constants import CALCULATIONS_FIELD_NAME
from luxtronik.data_vector import DataVector
from luxtronik.cfi.vector import DataVectorConfig
from luxtronik.datatypes import Base


Expand All @@ -25,22 +25,13 @@
CALCULATIONS_DEFAULT_DATA_TYPE
)

class Calculations(DataVector):
class Calculations(DataVectorConfig):
"""Class that holds all calculations."""

name = CALCULATIONS_FIELD_NAME
definitions = CALCULATIONS_DEFINITIONS
_outdated = CALCULATIONS_OUTDATED

def __init__(self):
super().__init__()
for d in CALCULATIONS_DEFINITIONS:
self._data.add(d, d.create_field())

@property
def calculations(self):
return self._data

def get_firmware_version(self):
"""Get the firmware version as string."""
return "".join([super(Calculations, self).get(i).value for i in range(81, 91)])
Expand Down
15 changes: 2 additions & 13 deletions luxtronik/cfi/parameters.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
)

from luxtronik.cfi.constants import PARAMETERS_FIELD_NAME
from luxtronik.data_vector import DataVector
from luxtronik.cfi.vector import DataVectorConfig


LOGGER = logging.getLogger(__name__)
Expand All @@ -24,20 +24,9 @@
PARAMETERS_DEFAULT_DATA_TYPE
)

class Parameters(DataVector):
class Parameters(DataVectorConfig):
"""Class that holds all parameters."""

name = PARAMETERS_FIELD_NAME
definitions = PARAMETERS_DEFINITIONS
_outdated = PARAMETERS_OUTDATED

def __init__(self, safe=True):
"""Initialize parameters class."""
super().__init__()
self.safe = safe
for d in PARAMETERS_DEFINITIONS:
self._data.add(d, d.create_field())

@property
def parameters(self):
return self._data
20 changes: 20 additions & 0 deletions luxtronik/cfi/vector.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@

import logging

from luxtronik.data_vector import DataVector


LOGGER = logging.getLogger(__name__)

###############################################################################
# Configuration interface data-vector
###############################################################################

class DataVectorConfig(DataVector):
"""Specialized DataVector for Luxtronik configuration fields."""

def __init__(self, safe=True):
super().__init__()
self.safe = safe
for d in self.definitions:
self._data.add(d, d.create_field())
13 changes: 2 additions & 11 deletions luxtronik/cfi/visibilities.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
)

from luxtronik.cfi.constants import VISIBILITIES_FIELD_NAME
from luxtronik.data_vector import DataVector
from luxtronik.cfi.vector import DataVectorConfig


LOGGER = logging.getLogger(__name__)
Expand All @@ -24,18 +24,9 @@
VISIBILITIES_DEFAULT_DATA_TYPE,
)

class Visibilities(DataVector):
class Visibilities(DataVectorConfig):
"""Class that holds all visibilities."""

name = VISIBILITIES_FIELD_NAME
definitions = VISIBILITIES_DEFINITIONS
_outdated = VISIBILITIES_OUTDATED

def __init__(self):
super().__init__()
for d in VISIBILITIES_DEFINITIONS:
self._data.add(d, d.create_field())

@property
def visibilities(self):
return self._data
4 changes: 0 additions & 4 deletions luxtronik/shi/holdings.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,3 @@ class Holdings(DataVectorSmartHome):
name = HOLDINGS_FIELD_NAME
definitions = HOLDINGS_DEFINITIONS
_outdated = HOLDINGS_OUTDATED

@property
def holdings(self):
return self._data
4 changes: 0 additions & 4 deletions luxtronik/shi/inputs.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,3 @@ class Inputs(DataVectorSmartHome):
name = INPUTS_FIELD_NAME
definitions = INPUTS_DEFINITIONS
_outdated = INPUTS_OUTDATED

@property
def inputs(self):
return self._data
4 changes: 2 additions & 2 deletions tests/cfi/test_cfi_calculations.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ def test_init(self):
"""Test cases for initialization"""
calculations = Calculations()
assert calculations.name == "calculation"
assert calculations.calculations == calculations._data
assert calculations.data == calculations._data

def test_data(self):
"""Test cases for the data dictionary"""
calculations = Calculations()
data = calculations.calculations
data = calculations.data

# The Value must be a fields
# The key can be an index
Expand Down
4 changes: 2 additions & 2 deletions tests/cfi/test_cfi_parameters.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def test_init(self):
"""Test cases for initialization"""
parameters = Parameters()
assert parameters.name == "parameter"
assert parameters.parameters == parameters._data
assert parameters.data == parameters._data
assert parameters.safe

parameters = Parameters(False)
Expand All @@ -22,7 +22,7 @@ def test_init(self):
def test_data(self):
"""Test cases for the data dictionary"""
parameters = Parameters()
data = parameters.parameters
data = parameters.data

# The Value must be a fields
# The key can be an index
Expand Down
4 changes: 2 additions & 2 deletions tests/cfi/test_cfi_visibilities.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ def test_init(self):
"""Test cases for initialization"""
visibilities = Visibilities()
assert visibilities.name == "visibility"
assert visibilities.visibilities == visibilities._data
assert visibilities.data == visibilities._data

def test_data(self):
"""Test cases for the data dictionary"""
visibilities = Visibilities()
data = visibilities.visibilities
data = visibilities.data

# The Value must be a fields
# The key can be an index
Expand Down
4 changes: 2 additions & 2 deletions tests/shi/test_shi_vector.py
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,7 @@ def test_init(self):
"""Test cases for initialization"""
holdings = Holdings()
assert holdings.name == "holding"
assert holdings.holdings == holdings._data
assert holdings.data == holdings._data


class TestInputs:
Expand All @@ -426,4 +426,4 @@ def test_init(self):
"""Test cases for initialization"""
inputs = Inputs()
assert inputs.name == "input"
assert inputs.inputs == inputs._data
assert inputs.data == inputs._data