Changelog¶
1.17.4 - 2025-12-05¶
Authors: Nicole Oska
Changes:
- Small adjustment in
GamesaCmsBladesDataHandlerto filter valid data.
1.17.3 - 2025-12-02¶
Authors: Nicole Oska
Changes:
- Adjustment in
GamesaCmsBladesDataHandlerto handle data with the same timestamp for different blades.
1.17.2 - 2025-12-02¶
Authors: Nicole Oska
Changes:
- Adjustment in
DataImporterto handle specific data acquisition frequencies, when specified in the Index Frequency attribute.
1.17.1 - 2025-11-28¶
Authors: Nicole Oska
Changes:
- Added mapping between data source types and handler classes to
GamesaCmsBladesDataHandler
1.17.0 - 2025-11-28¶
Authors: Nicole Oska
Changes:
- Construction of
GamesaCmsBladesDataHandlerto retrieve the history of features
1.16.21 - 2025-11-05¶
Authors: Nicole Oska
Changes:
- Adjustment in
way2_handlerto handle the acquisition of different types of objects.
1.16.20 - 2025-10-12¶
Authors: Bruno Macedo
Changes:
- Added
validate_calldecorator to multiple methods. - Other minor bug fixes.
1.16.19 - 2025-08-15¶
Authors: Bruno Macedo
Changes:
- Bug fix after changing from requests to httpx.
1.16.18 - 2025-08-14¶
Authors: Bruno Macedo
Changes:
- Minor bug fix in
GeDataHandler.alarm_historyto not crash when no alarms are returned.
1.16.17 - 2025-08-13¶
Authors: Bruno Macedo
Changes:
- Changes to remove usage of requests module in favour of httpx.
1.16.16 - 2025-08-12¶
Authors: Lucas Costa
Changes:
- Removed duplicated objects in importer.py
1.16.15 - 2025-08-12¶
Authors: Lucas Costa
Changes:
- Changed default time interval to PT5M.
- Adjusted data fetching window: start date aligns to the first of the month and end date is capped at D-7.
- Improved test_solcast.py.
1.16.14 - 2025-08-11¶
Authors: Lucas Costa
Changes:
- Changed solcast_api.last_timestamp_features. in importer.py
1.16.13 - 2025-08-11¶
Authors: Lucas Costa
Changes:
- Removed incorrect line in solcast_handler.py
1.16.12 - 2025-08-11¶
Authors: Lucas Costa
Changes:
- Adjusted complete_index in single_obj_feature_values
1.16.11 - 2025-08-11¶
Authors: Lucas Costa
Changes:
- Converted WeatherTypeSolcast_1h.REP to an integer value.
1.16.10 - 2025-08-11¶
Authors: Lucas Costa
Changes:
- Fixed: Added period validation to respect the Solcast subscription plan limits.
1.16.9 - 2025-08-11¶
Authors: Lucas Costa
Changes:
- Fixed: Added period validation to respect the Solcast subscription plan limits.
1.16.8 - 2025-08-10¶
Authors: Lucas Costa
Changes:
- Improved the creation of the dictionary that maps name_in_data_source to name.
1.16.7 - 2025-08-10¶
Authors: Bruno Macedo
Changes:
- Reorganized tests folder.
- Minor improvements on documentation.
1.16.5 - 2025-08-08¶
Authors: Lucas Costa
Changes:
- The
single_obj_feature_valuesfunction now accepts an optionaldatasource. If provided, it will be used as the data source; otherwise, the function defaults to fetching data from the database.
1.16.4 - 2025-08-07¶
Authors: Lucas Costa
Changes:
- Reviewed and improved the docstrings of existing classes for clarity and standardization.
- Created the initial version of the project's static site documentation.
1.16.2 - 2025-08-05¶
Authors: Lucas Costa
Changes:
- Added the
alarm_historyfunction to theHuaweiFTPDataHandlerclass to get Huawei alarm data.
1.16.2 - 2025-08-01¶
Authors: Lucas Costa
Changes:
- Adjusted the request's start and end times.
1.16.1 - 2025-08-01¶
Authors: Lucas Costa
Changes:
- Added: Logging to monitor script execution.
- Fixed: Data timezone adjusted to UTC-3
1.16.0 - 2025-07-28¶
Authors: Lucas Costa
Changes:
- Created SolcastDataHandler for Solcast data consumption.
1.15.4 - 2025-07-28¶
Authors: Lucas Costa
Changes:
- Date standardization for requests: Automatic formatting of input dates to YYYYMMDD has been implemented prior to payload inclusion.
1.15.3 - 2025-07-25¶
Authors: Lucas Costa
Changes:
- Removed the mandatory
data_source_types_namesparameter from theTempoOkDataHandlerconstructor. - Removed remnants and inherited functionalities from the previous class used as a base.
1.15.2 - 2025-07-24¶
Authors: Lucas Costa
Changes:
- Changed TempoOkDataHandler in
HANDLER_MAPPINGinimporter.py
1.15.1 - 2025-07-24¶
Authors: Lucas Costa
Changes:
- Added TempoOkDataHandler in
HANDLER_MAPPINGinimporter.py
1.15.0 - 2025-07-24¶
Authors: Lucas Costa
Changes:
- Created TempoOkDataHandler for TempoOk API data consumption.
- Fixes
start_end_lineto enhance data reading.
1.14.1 - 2025-07-16¶
Authors: Bruno Macedo
Changes:
- Added documentation website.
1.14.0 - 2025-07-16¶
Authors: Lucas Costa
Changes:
- Created HuaweiFTPDataHandler for read ftp huawei files.
1.13.2 - 2025-07-12¶
Authors: Bruno Macedo
Changes:
- Changed build backend to
uv_buildfor better packaging and deployment.
1.13.1 - 2025-07-09¶
Authors: Bruno Macedo
Changes:
- Changed
standardized_nametonamein feature values importers.
1.13.0 - 2025-05-26¶
Authors: Nicole Oska
Changes:
- Renamed package to
echo_dataimporterto broaden the scope of data importers.
1.12.7 - 2025-05-23¶
Authors: Nicole Oska
Changes:
- Inserted logic to make only one request for current and voltage phases on
Way2ScadaHandler.
1.12.6 - 2025-05-16¶
Authors: Bruno Macedo
Changes:
- Added option to specify data source in data importer.
- Added pydantic call validation to data importer.
1.12.5 - 2025-05-16¶
Authors: Nicole Oska
Changes:
- Added log info on
Way2ScadaHandler.
1.12.4 - 2025-05-14¶
Authors: Nicole Oska
Changes:
- Bug fix on
Way2ScadaHandler.
1.12.3 - 2025-05-13¶
Authors: Nicole Oska
Changes:
- Construction of
Way2ScadaHandlerto retrieve the history of features.
1.12.2 - 2025-04-21¶
Authors: Bruno Macedo
Changes:
- Allows for Numpy 2.0.
1.12.1 - 2025-03-17¶
Authors: Bruno Macedo
Changes:
- Bug fix in
fillna_time_tolerance. - Bug fix in
filter_sudden_changerelated to Pyarrow dtype.
1.12.0 - 2025-02-19¶
Authors: Bruno Macedo
Changes:
- Added
EpmScadaHandlerto get data from EPM SQL Server. - Feature values importer now supports objects connected to multiple data sources.
1.11.5 - 2025-01-30¶
Authors: Bruno Macedo
Changes:
- Minor fix in
SchneiderScadaHandlerto correctly invert delivered and received values. - Removed last usage of legacy
echo-postgrescode.
1.11.4 - 2025-01-29¶
Authors: Nicole Oska
Changes:
- Changed features names, due adjustments in perfdb.
1.11.3 - 2024-10-14¶
Authors: Bruno Macedo
Changes:
- Made importer of feature values fail if could not connect in any of the attempts.
- Converted all indexes of feature values to datetime index to avoid errors with pyarrow and pandas.
1.11.2 - 2024-08-05¶
Authors: Bruno Macedo
Changes:
- Changed
SchneiderScadaHandler.feature_values()to get voltage values if they are not correctly configured in M7 database.
1.11.1 - 2024-07-14¶
Authors: Bruno Macedo
Changes:
- Changed time columns to remove _local due to database changes.
1.11.0 - 2024-07-09¶
Authors: Bruno Macedo
Changes:
- Upgraded to python 3.12.
1.10.2 - 2024-07-03¶
Authors: Bruno Macedo
Changes:
- Bug fix in alarm importer regarding to period of data acquisition.
1.10.1 - 2024-07-01¶
Authors: Bruno Macedo
Changes:
- Improved logic on
define_calc_period.
1.10.0 - 2024-06-29¶
Authors: Bruno Macedo
Changes:
- Removed almost all dependencies from legacy
echo-bazeandecho-postgrespackages. - Improved logic on
define_calc_period.
1.9.6 - 2024-05-16¶
Authors: Nicole Tometich
Changes:
- Minor fix regarding first timestamp of features in data import function.
1.9.5 - 2024-05-16¶
Authors: Nicole Tometich
Changes:
- Minor fix regarding first timestamp of features in data import function.
1.9.4 - 2024-05-14¶
Authors: Nicole Tometich
Changes:
- Minor fix regarding same issue of version 1.9.3
1.9.3 - 2024-05-14¶
Authors: Nicole Tometich
Changes:
- Minor fix regarding first timestamp of features in data import function.
1.9.2 - 2024-03-06¶
Authors: Bruno Macedo
Changes:
- Forced dtype_backend to None in
read_to_pandasto be compatible withecho_connhandler>= 1.0.
1.9.1 - 2024-02-18¶
Authors: Bruno Macedo
Changes:
- Changed conn_timeout to 2 seconds to avoid the conde hanging when trying to connect to the database.
- Ruff suggested fixes.
- Changed to pyproject.toml for dependency management.
1.9.0 - 2023-11-09¶
Authors: Bruno Macedo
Changes:
- Changed all handler calls to use with statement, avoiding the case where the connection is not closed and the database is left locked.
1.8.2 - 2023-06-27¶
Authors: Bruno Macedo
Changes:
- Missing bug fixes from 1.8.1.
1.8.1 - 2023-06-26¶
Authors: Bruno Macedo
Changes:
- Minor bug fixes to solve errors related to changing parent_object hierarchy in the database.
1.8.0 - 2023-06-23¶
Authors: Bruno Macedo
Changes:
- Changed feature values data acquisition to use pyarrow as the data type backend.
- Changed
DataImporter.feature_values()flat line filter to consider a flatline only after 12 consecutive values.
1.7.4 - 2023-05-24¶
Authors: Bruno Macedo
Changes:
- Changed
GamesaScadaHandler.alarms_history()to use get data from WINDNET database instead of WINDNET_REPORTS. This was done because after we had to recreate the Lanchinha database data stopped being sent to WINDNET_REPORTS.
1.7.3 - 2023-05-12¶
Authors: Bruno Macedo
Changes:
- Added fallback argument to
DataImporter.define_calculation_period().
1.7.2 - 2023-05-09¶
Authors: Bruno Macedo
Changes:
- Bug fix in
DataImporter.feature_values()that caused the calculation period to not be defined correctly. - Added mode to
DataImporter.define_calculation_period()to allow for different calculation periods (single or for each object). - Bug fix
SchneiderScadaHandler.feature_values()that caused unwanted drop of rows. - Bug fix
SchneiderScadaHandler.feature_values()that caused it to not invert features when needed.
1.7.1 - 2023-05-08¶
Authors: Bruno Macedo
Changes:
- Bug fixes in
DataImporter.
1.7.0 - 2023-05-08¶
Authors: Bruno Macedo
Changes:
- Changed
ScadaImporterfrom an abstract class to a normal class calledDataImporter. This allows us to use the same class to import data from different sources. - Deleted old classes
SchneiderScadaImporter,GeScadaImporter,VestasScadaImporterandGamesaScadaImporter. - Changed
SchneiderScadaHandler.feature_values()to raise an error if no features with the desired name where found in the quantity table.
1.6.0 - 2023-05-06¶
Authors: Bruno Macedo
Changes:
- Added
SchneiderScadaHandlerandSchneiderScadaImporterclasses. These should replace the old echo-m7sql package.
1.5.0 - 2023-05-05¶
Authors: Bruno Macedo
Changes:
- Changed
ScadaImporterto have a function to import data from one object and another that calls it for all desired objects. This allows us to implement different logic when importing data, like parallelizing the import of different objects in Airflow.
1.4.2 - 2022-12-30¶
Authors: Bruno Macedo
Changes:
- Bug fix in
aux_functions.time_average()that caused averages lower than expected when NaNs were passed. - Added option to import only a subset of features in
echo_scadagamesa.importer_gamesa_timeseries_data().
1.4.1 - 2022-12-28¶
Authors: Bruno Macedo
Changes:
- Minor bug fixes in
echo_scadage.get_feature_values_ge.
1.4.0 - 2022-12-27¶
Authors: Bruno Macedo
Changes:
- Added option to import std, max and min of 10 min features to echo_scadage.
1.3.5 - 2023-02-22¶
Authors: Bruno Macedo
Changes:
- Fixed
ScadaImporter.alarms_history()to remove end dates if they are lower than start dates.
1.3.4 - 2023-02-13¶
Authors: Bruno Macedo
Changes:
- Fixed many bugs on
GamesaImporter.feature_values().
1.3.3 - 2023-02-06¶
Authors: Bruno Macedo
Changes:
- Adjusted
ScadaImporter.feature_values()to drop flat lines based on wind speed.
1.3.2 - 2023-01-27¶
Authors: Bruno Macedo
Changes:
- Fixed bug in
GeScadaHandler.feature_values()that caused a crash when no data was found.
1.3.1 - 2023-01-19¶
Authors: Bruno Macedo
Changes:
- Stopped sending email if could not find data.
1.3.0 - 2023-01-11¶
Authors: Bruno Macedo
Changes:
- Added argument
bazefield_opc_backuptoScadaImporter.feature_values(), which will make the function try to get values from Bazefield OPC point in case of missing timestamps.
1.2.3 - 2023-01-11¶
Authors: Bruno Macedo
Changes:
- Made the
ScadaImporterclass skip the dat source if it was unable to connect in the first test attempt.
1.2.2 - 2023-01-10¶
Authors: Bruno Macedo
Changes:
- Refactored to be compatible with echo_connhandler.
1.2.1 - 2023-01-09¶
Authors: Bruno Macedo
Changes:
- Fixed bug in
GeScadaHandler.feature_values()that caused an error when getting data from Statistics table.
1.2.0 - 2023-01-06¶
Authors: Bruno Macedo
Changes:
- Refactored echo_scadagamesa functionality to
GamesaScadaHandlerandGamesaScadaImporterclasses.
1.1.0 - 2023-01-06¶
Authors: Bruno Macedo
Changes:
- Refactored echo_scadavestas functionality to
VestasScadaHandlerandVestasScadaImporterclasses.
1.0.0 - 2023-01-05¶
Authors: Bruno Macedo
Changes:
- Added concept of
ScadaHandlerandScadaImporterclasses to abstract interaction with all SCADA SQL Servers. - Refactored echo_scadage functionality to
GeScadaHandlerandGeScadaImporterclasses. - Future versions need the same refactoring for Vestas and Gamesa.
0.4.2 - 2022-12-30¶
Authors: Bruno Macedo
Changes:
- Bug fix in
aux_functions.time_average()that caused averages lower than expected when NaNs were passed. - Added option to import only a subset of features in
echo_scadagamesa.importer_gamesa_timeseries_data().
0.4.1 - 2022-12-28¶
Authors: Bruno Macedo
Changes:
- Minor bug fixes in
echo_scadage.get_feature_values_ge.
0.4.0 - 2022-12-27¶
Authors: Bruno Macedo
Changes:
- Added option to import std, max and min of 10 min features to echo_scadage.
0.3.0 - 2022-12-14¶
Authors: Bruno Macedo
Changes:
- Added DateTimeRange support to echo_scadagamesa.
- Added support to importing high frequency data and aggregating it in echo_scadagamesa.
- Several functions were added to aux_functions to support the new functionality in echo_scadagamesa.
0.2.0 - 2022-12-02¶
Authors: Bruno Macedo
Changes:
- Changed version control to __version__.py.
- Added
DateTimeRangesupport to echo_scadavestas. - Changed
echo_scadavestas.get_feature_values_vestasto skip period in case there is no data for any feature in table 0.
0.1.22 - 2022-11-08¶
Authors: Bruno Macedo
Changes:
- Minor changes to
echo_scadagamesa.get_feature_values_gamesa. - Fixed minor bug in
echo_scadavestas.get_vestas_alarms.
0.1.21 - 2022-10-20¶
Authors: Bruno Macedo
Changes:
- Changed scada 10 min data importers end date when None was passed as argument. This tries to fix an error that was causing wrong calculations of iec_operation_state.
0.1.20 - 2022-10-02¶
Authors: Bruno Macedo
Changes:
- Fixed error on echo_scadagamesa when timestamps not conforming to 10 min where queried from the scada.
0.1.19 - 2022-09-02¶
Authors: Bruno Macedo
Changes:
- search_column_vestas -> Now you can check if the tag you requested is in our database.
0.1.18 - 2022-09-01¶
Authors: Bruno Macedo
Changes:
- Added search_column_vestas to echo_scadavestas.
0.1.17 - 2022-08-11¶
Authors: Bruno Macedo
Changes:
- Fixed error when inserting a new alarm definition. Before, the script was defining
data_source_type_name = data_source, which was raising an error whencheck_alarmstried to insert data, since it is expecting a value likesql_ge_scada, notSRO_scada_sqlfor example.
0.1.16 - 2022-07-25¶
Authors: Bruno Macedo
Changes:
- Fixed error when trying to import data. Sometimes, even after removing all duplicates, the inserter function will send an error saying that found a conflict while updating if you pass the
keep="First". Now, if this fails, it tries to dokeep="last", which worked.
0.1.15 - 2022-07-19¶
Authors: Bruno Macedo
Changes:
- Fixed importer of ge scada data.
- Spell checks and other fixes pointed out by linter.
0.1.14 - 2022-07-19¶
Authors: Bruno Macedo
Changes:
- Added new connection openings and closings on get_ge_alarms. Last version of get_ge_alarms was closing the connection before all alarms were gathered, thus returning an error if it took a bit longer to query everything.
0.1.13 - 2022-07-08¶
Authors: Bruno Macedo
Changes:
- Added get_ge_alarms to echo_scadage.
- Added importer_ge_alarms to echo_scadage.
0.1.12 - 2022-07-02¶
Authors: Bruno Macedo
Changes:
- Added Bazefield upload to echo_scadagamesa.
- Adjusted server_calc features in echo_scadagamesa to be calculated after all turbines are done. This prevents missing data when calculating active_power_theoretical.
- Added type hints to echo_scadagamesa.
0.1.11 - 2022-06-30¶
Authors: Bruno Macedo
Changes:
- Added logging to echo_scadagamesa.
- Added type hints to echo_scadagamesa.
0.1.10 - 2022-06-30¶
Authors: Bruno Macedo
Changes:
- Added logging to echo_scadage.
- Added Bazefield upload to echo_scadage.
- Adjusted server_calc features in echo_scadage to be calculated after all turbines are done. This prevents missing data when calculating active_power_theoretical.
- Added type hints to echo_scadage.
0.1.9 - 2022-06-29¶
Authors: Bruno Macedo
Changes:
- Added logging to echo_scadavestas.
- Added Bazefield upload to echo_scadavestas.
- Adjusted server_calc features in echo_scadavestas to be calculated after all turbines are done. This prevents missing data when calculating active_power_theoretical.
0.1.8 - 2022-05-30¶
Authors: Bruno Macedo
Changes:
- Added functionality to acquire alarms for Gamesa turbines.
0.1.7 - 2022-05-24¶
Authors: Bruno Macedo
Changes:
- Fixed timestamps that don't match exact 10 min are dropped when importing GE scada data.
0.1.6 - 2022-05-03¶
Authors: Bruno Macedo
Changes:
- Added calculation of features when importing.
0.1.5 - 2022-05-03¶
Authors: Bruno Macedo
Changes:
- Fixed importer of ge scada data.
0.1.4 - 2022-05-01¶
Authors: Bruno Macedo
Changes:
- Changed feature importers to convert all to float before uploading to postgres.
0.1.3 - 2022-04-26¶
Authors: Bruno Macedo
Changes:
- Changed vestas importer to connect to sql server at every subperiod and table and then close the connection. This solves issues where when getting a very long period of data the code could break due to the connection stopping.
0.1.2 - 2022-04-26¶
Authors: Bruno Macedo
Changes:
- Corrected
get_feature_values_vestasto recreate connection to Vestas SCADA for each subperiod.
0.1.1 - 2022-04-25¶
Authors: Bruno Macedo
Changes:
- Corrected
get_feature_values_vestasto not stop at table 10MinData10 if it is empty.
0.1.0 - 2022-04-25¶
Authors: Bruno Macedo
Changes:
- Added functionality to acquire alarms for Vestas turbines.
0.0.6 - 2022-04-17¶
Authors: Bruno Macedo
Changes:
- Fixed timestamp of Vestas SCADA importer. Previously was importing as UTC, corrected to local.
0.0.5 - 2022-04-04¶
Authors: Bruno Macedo
Changes:
- Minor fixes in Vestas importer.
0.0.4 - 2022-03-31¶
Authors: Bruno Macedo
Changes:
- Changed how the codes connect to performance_db. Connections are now opened and closed at each transaction to avoid relation locks.
0.0.3 - 2022-03-31¶
Authors: Bruno Macedo
Changes:
- Addition of Vestas importer.
- Minor improvements in GE and Gamesa importers.
0.0.2 - 2022-03-28¶
Authors: Bruno Macedo
Changes:
- Addition of GE importer.
0.0.1 - 2022-03-21¶
Authors: Bruno Macedo
Changes:
- Initial release of the package with Gamesa importer.