online configurator

friendly_mvda.online_configurator.config_io.convert_paths_in_dict(data: dict[str, Any]) dict[str, Any]
friendly_mvda.online_configurator.config_io.dict_to_xml(data: dict[str, Any]) Any
friendly_mvda.online_configurator.config_io.export_config_as_xml(config: UspConfig) Any

Export a Pydantic model back to XML format.

friendly_mvda.online_configurator.config_io.parse_xml_to_pydantic(xml_file: str) UspConfig | None

Parse an SIMCA Online configuration file into a Pydantic model.

friendly_mvda.online_configurator.config_io.read_json_file(file_path: str) Any
friendly_mvda.online_configurator.config_io.read_xml_file(file_path: str) str
friendly_mvda.online_configurator.config_io.write_dict_to_file(data: Any, file_path: str) None
friendly_mvda.online_configurator.config_io.write_xml_to_file(xml_data: str, file_path: str) None
friendly_mvda.online_configurator.SolConfigHandler.set_phase_trigger(config: UspConfig, phasenumber: int, subbatchix: int, prefix: str) Segment
friendly_mvda.online_configurator.SolConfigHandler.set_sleep_condition(config: UspConfig, name: str) Unit
friendly_mvda.online_configurator.SbolConfigHandler.get_segment(config: UspConfig, filter_fn: Callable[[Any], bool]) Segment

Return the first segment matching filter_fn. Raises ValueError if no segment matches.

friendly_mvda.online_configurator.SbolConfigHandler.get_segment_by_phase_subbatch(name: str, config: UspConfig) Segment

Convenience wrapper to get a segment by its name.

friendly_mvda.online_configurator.SbolConfigHandler.get_unit(config: UspConfig, filter_fn: Callable[[Any], bool]) Unit

Return the first unit matching filter_fn. Raises ValueError if no unit matches.

friendly_mvda.online_configurator.SbolConfigHandler.get_unit_by_name(name: str, config: UspConfig) Unit

Convenience wrapper to get a unit by its name.

class friendly_mvda.online_configurator.structs.UspConfig.UspConfig(*, SBOLConfiguration: SBOLConfiguration | None = None, SCOLConfiguration: SCOLConfiguration | None = None)

Bases: BaseModel

SBOLConfiguration: SBOLConfiguration | None
SCOLConfiguration: SCOLConfiguration | None
get_config() SBOLConfiguration | SCOLConfiguration
get_config_type() str
get_project_name() str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.Alarms_(*, ProjectAlarms: None | str = None, PhaseAlarmTriggers: list[PhaseAlarmTrigger] | PhaseAlarmTrigger | None = [])

Bases: ConfiguredBaseModel

PhaseAlarmTriggers: list[PhaseAlarmTrigger] | PhaseAlarmTrigger | None
ProjectAlarms: None | str
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.AliasTranslation_(*, VariableName: list[VariableName])

Bases: ConfiguredBaseModel

VariableName: list[VariableName]
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.BatchConditionTranslation_(*, original: str, name: str, dataretrievalmode: int)

Bases: ConfiguredBaseModel

dataretrievalmode: int
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: str
original: str
class friendly_mvda.online_configurator.structs.SBOLConfiguration.BatchConditionTranslations(*, BatchConditionTranslation: list[BatchConditionTranslation_])

Bases: ConfiguredBaseModel

BatchConditionTranslation: list[BatchConditionTranslation_]
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.BatchLevel(*, finalmodels: str, predictionmode: int, Model: list[Model] | Model, TargetValues: TargetValuesW | None = None)

Bases: ConfiguredBaseModel

Model: list[Model] | Model
TargetValues: TargetValuesW | None
finalmodels: str
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

predictionmode: int
class friendly_mvda.online_configurator.structs.SBOLConfiguration.BatchLevelModel(*, ModelNumber: int, ModelName: str, ModelTitle: str, ModelType: str, FullModelType: str, NumComponents: int, NumXTerms: int, NumYTerms: int)

Bases: ConfiguredBaseModel

FullModelType: str
ModelName: str
ModelNumber: int
ModelTitle: str
ModelType: str
NumComponents: int
NumXTerms: int
NumYTerms: int
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.BatchNode(*, name: str, filter: str)

Bases: ConfiguredBaseModel

filter: str
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: str
class friendly_mvda.online_configurator.structs.SBOLConfiguration.CatchUp(*, limit: int, interval: int)

Bases: ConfiguredBaseModel

interval: int
limit: int
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.ControlChartLimits(*, VariableLimits: VariableLimits)

Bases: ConfiguredBaseModel

VariableLimits: VariableLimits
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.Model(*, ModelNumber: int)

Bases: ConfiguredBaseModel

ModelNumber: int
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.ObservationLevelModel(*, PhaseNumber: int, IsModelled: bool, ModelNumber: int, ModelName: str, ModelTitle: str | None, ModelType: str, FullModelType: str, NumComponents: int, NumXTerms: int, NumYTerms: int, PhaseName: str, AverageBatchLength: int, MaturityVariable: str, MaturityVariableTreatment: str | None)

Bases: ConfiguredBaseModel

AverageBatchLength: int
FullModelType: str
IsModelled: bool
MaturityVariable: str
MaturityVariableTreatment: str | None
ModelName: str
ModelNumber: int
ModelTitle: str | None
ModelType: str
NumComponents: int
NumXTerms: int
NumYTerms: int
PhaseName: str
PhaseNumber: int
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.Phase(*, phasenumber: int, interval: int, dataretrievalmode: int)

Bases: ConfiguredBaseModel

dataretrievalmode: int
interval: int
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

phasenumber: int
class friendly_mvda.online_configurator.structs.SBOLConfiguration.PhaseAlarmTrigger(*, PhaseNumber: int, groupalarmlimit: int, totalalarmlimit: int)

Bases: ConfiguredBaseModel

PhaseNumber: int
groupalarmlimit: int
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

totalalarmlimit: int
class friendly_mvda.online_configurator.structs.SBOLConfiguration.Phases(*, Phase: list[Phase] | Phase)

Bases: ConfiguredBaseModel

Phase: list[Phase] | Phase
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.ProjectInformation(*, Name: str, OriginalPath: str, NumPhases: int, NumBatchLevelModels: int, ObservationLevelModel: list[ObservationLevelModel] | ObservationLevelModel, BatchLevelModel: list[BatchLevelModel] | BatchLevelModel)

Bases: ConfiguredBaseModel

BatchLevelModel: list[BatchLevelModel] | BatchLevelModel
Name: str
NumBatchLevelModels: int
NumPhases: int
ObservationLevelModel: list[ObservationLevelModel] | ObservationLevelModel
OriginalPath: str
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.RecentBatch(*, limit: int)

Bases: ConfiguredBaseModel

limit: int
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.SBOLConfiguration(*, version: str, ProjectInformation: ProjectInformation, BatchNode: BatchNode, CatchUp: CatchUp, RecentBatch: RecentBatch, UnitGroups: UnitGroups, Units: Units, SubBatches: SubBatches, Segments: Segments, Phases: Phases, Translation: Translation, Alarms: Alarms_ | None = None, TargetValues: None | str = None, BatchLevel: BatchLevel, ControlChartLimits: ControlChartLimits, AliasTranslation: AliasTranslation_ | None = None, Metadata: Metadata)

Bases: SOLConfiguration

Alarms: Alarms_ | None
AliasTranslation: AliasTranslation_ | None
BatchLevel: BatchLevel
BatchNode: BatchNode
CatchUp: CatchUp
ControlChartLimits: ControlChartLimits
Metadata: Metadata
Phases: Phases
ProjectInformation: ProjectInformation
RecentBatch: RecentBatch
Segments: Segments
SubBatches: SubBatches
TargetValues: None | str
Translation: Translation
UnitGroups: UnitGroups
Units: Units
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.SBRootModel(*, SBOLConfiguration: SBOLConfiguration)

Bases: ConfiguredBaseModel

SBOLConfiguration: SBOLConfiguration
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.Segment(*, phasenumber: int, subbatchix: int, index: int, expression: str)

Bases: ConfiguredBaseModel

expression: str
index: int
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

phasenumber: int
subbatchix: int
class friendly_mvda.online_configurator.structs.SBOLConfiguration.Segments(*, Segment: list[Segment] | Segment)

Bases: ConfiguredBaseModel

Segment: list[Segment] | Segment
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.SubBatch(*, name: str, unitix: int, index: int)

Bases: ConfiguredBaseModel

index: int
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: str
unitix: int
class friendly_mvda.online_configurator.structs.SBOLConfiguration.SubBatches(*, SubBatch: list[SubBatch] | SubBatch)

Bases: ConfiguredBaseModel

SubBatch: list[SubBatch] | SubBatch
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.TargetValuea(*, Variable: str, LoLoLimit: str | None = None, HiHiLimit: str | None = None, Target: str | None = None, Alarm: str | None = None)

Bases: ConfiguredBaseModel

Alarm: str | None
HiHiLimit: str | None
LoLoLimit: str | None
Target: str | None
Variable: str
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.TargetValuesW(*, TargetValue: list[TargetValuea] | TargetValuea | None = [])

Bases: ConfiguredBaseModel

TargetValue: list[TargetValuea] | TargetValuea | None
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.Translation(*, VariableTranslation: list[VariableTranslation], BatchConditionTranslation: list[BatchConditionTranslation_] | BatchConditionTranslation_ | None = [])

Bases: ConfiguredBaseModel

BatchConditionTranslation: list[BatchConditionTranslation_] | BatchConditionTranslation_ | None
VariableTranslation: list[VariableTranslation]
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.Unit(*, name: str, unitgroupix: int, batchtag: str, index: int, sleep: str | None)

Bases: ConfiguredBaseModel

batchtag: str
index: int
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: str
sleep: str | None
unitgroupix: int
class friendly_mvda.online_configurator.structs.SBOLConfiguration.UnitGroup(*, name: str, index: int)

Bases: ConfiguredBaseModel

index: int
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: str
class friendly_mvda.online_configurator.structs.SBOLConfiguration.UnitGroups(*, UnitGroup: list[UnitGroup] | UnitGroup)

Bases: ConfiguredBaseModel

UnitGroup: list[UnitGroup] | UnitGroup
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.Units(*, Unit: list[Unit] | Unit)

Bases: ConfiguredBaseModel

Unit: list[Unit] | Unit
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.VariableLimits(*, Default: str)

Bases: ConfiguredBaseModel

Default: str
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SBOLConfiguration.VariableName(*, original: str, alias: str)

Bases: ConfiguredBaseModel

alias: str
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

original: str
class friendly_mvda.online_configurator.structs.SBOLConfiguration.VariableTranslation(*, original: str, Segment: list[VariableTranslationSegment] | VariableTranslationSegment | None = [])

Bases: ConfiguredBaseModel

Segment: list[VariableTranslationSegment] | VariableTranslationSegment | None
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

original: str
class friendly_mvda.online_configurator.structs.SBOLConfiguration.VariableTranslationSegment(*, segmentix: int, name: str)

Bases: ConfiguredBaseModel

model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: str
segmentix: int
class friendly_mvda.online_configurator.structs.SBOLConfiguration.VariableTranslationSegments(*, VariableTranslationSegment: list[VariableTranslationSegment])

Bases: ConfiguredBaseModel

VariableTranslationSegment: list[VariableTranslationSegment]
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SCOLConfiguration.Alarms(*, consecutive: str, window: str, windowsize: str)

Bases: ConfiguredBaseModel

consecutive: str
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

window: str
windowsize: str
class friendly_mvda.online_configurator.structs.SCOLConfiguration.ControlAdvisor(*, Model: ModelControlAdvisor)

Bases: ConfiguredBaseModel

Model: ModelControlAdvisor
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SCOLConfiguration.ControlSetting(*, ControlMaturityIndex: str, Weight: str, Threshold: str | None = None, Setpoint: str | None = None, SetpointMin: str | None = None, SetpointMax: str | None = None, Objective: str | None = None)

Bases: ConfiguredBaseModel

ControlMaturityIndex: str
Objective: str | None
Setpoint: str | None
SetpointMax: str | None
SetpointMin: str | None
Threshold: str | None
Weight: str
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SCOLConfiguration.ManipulatedVariable(*, VariableID: str)

Bases: ConfiguredBaseModel

VariableID: str
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SCOLConfiguration.Model(*, ModelNumber: str, ModelName: str, ModelTitle: str, ModelType: str, FullModelType: str, NumComponents: str, NumXTerms: str, NumYTerms: str)

Bases: ConfiguredBaseModel

FullModelType: str
ModelName: str
ModelNumber: str
ModelTitle: str
ModelType: str
NumComponents: str
NumXTerms: str
NumYTerms: str
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SCOLConfiguration.ModelControlAdvisor(*, Operation: str, Mode: str, ForecastPLSModelNumber: str, OptimizerInterval: str, ForecastPLSModelDModXLimit: str, ForecastPLSModelT2Limit: str, ManipulatedVariable: list[ManipulatedVariable], Settings: list[Settings])

Bases: ConfiguredBaseModel

ForecastPLSModelDModXLimit: str
ForecastPLSModelNumber: str
ForecastPLSModelT2Limit: str
ManipulatedVariable: list[ManipulatedVariable]
Mode: str
Operation: str
OptimizerInterval: str
Settings: list[Settings]
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SCOLConfiguration.ProjectInformation(*, Name: str, OriginalPath: str, NumModels: str, Model: list[Model])

Bases: ConfiguredBaseModel

Model: list[Model]
Name: str
NumModels: str
OriginalPath: str
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SCOLConfiguration.SCOLConfiguration(*, version: str, ProjectInformation: ProjectInformation, SelectedModel: SelectedModel, Translation: Translation, Alarms: Alarms, WriteBacks: None | dict[str, Any] = None, TargetValues: None | dict[str, Any] = None, ControlAdvisor: ControlAdvisor, Metadata: Metadata)

Bases: SOLConfiguration

Alarms: Alarms
ControlAdvisor: ControlAdvisor
Metadata: Metadata
ProjectInformation: ProjectInformation
SelectedModel: SelectedModel
TargetValues: None | dict[str, Any]
Translation: Translation
WriteBacks: None | dict[str, Any]
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SCOLConfiguration.SCRootModel(*, SCOLConfiguration: SCOLConfiguration)

Bases: ConfiguredBaseModel

SCOLConfiguration: SCOLConfiguration
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SCOLConfiguration.SelectedModel(*, number: str, interval: str, unitGroupName: str, unitName: str, expression: str, catchuptimerange: str, defaultplottimerange: str, overviewtimerange: str)

Bases: ConfiguredBaseModel

catchuptimerange: str
defaultplottimerange: str
expression: str
interval: str
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

number: str
overviewtimerange: str
unitGroupName: str
unitName: str
class friendly_mvda.online_configurator.structs.SCOLConfiguration.Settings(*, DataVector: str, ControlSetting: ControlSetting)

Bases: ConfiguredBaseModel

ControlSetting: ControlSetting
DataVector: str
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SCOLConfiguration.Translation(*, VariableTranslation: list[VariableTranslation])

Bases: ConfiguredBaseModel

VariableTranslation: list[VariableTranslation]
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SCOLConfiguration.VariableTranslation(*, original: str, name: str)

Bases: ConfiguredBaseModel

model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: str
original: str
class friendly_mvda.online_configurator.structs.SOLConfiguration.ConfiguredBaseModel

Bases: BaseModel

model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SOLConfiguration.GeoLocation(*, latitude: float, longitude: float)

Bases: ConfiguredBaseModel

latitude: float
longitude: float
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class friendly_mvda.online_configurator.structs.SOLConfiguration.Metadata(*, productType: str, productName: str, GeoLocation: GeoLocation)

Bases: ConfiguredBaseModel

GeoLocation: GeoLocation
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

productName: str
productType: str
class friendly_mvda.online_configurator.structs.SOLConfiguration.SOLConfiguration(*, version: str)

Bases: ConfiguredBaseModel

model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

version: str