open-fdd 0.1.3__py3-none-any.whl → 0.1.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- open_fdd/air_handling_unit/faults/__init__.py +2253 -0
- open_fdd/air_handling_unit/faults/fault_condition.py +12 -10
- open_fdd/air_handling_unit/faults/fault_condition_eight.py +38 -2
- open_fdd/air_handling_unit/faults/fault_condition_eleven.py +38 -2
- open_fdd/air_handling_unit/faults/fault_condition_fifteen.py +38 -2
- open_fdd/air_handling_unit/faults/fault_condition_five.py +38 -2
- open_fdd/air_handling_unit/faults/fault_condition_four.py +34 -2
- open_fdd/air_handling_unit/faults/fault_condition_fourteen.py +38 -2
- open_fdd/air_handling_unit/faults/fault_condition_nine.py +38 -2
- open_fdd/air_handling_unit/faults/fault_condition_one.py +37 -6
- open_fdd/air_handling_unit/faults/fault_condition_seven.py +38 -2
- open_fdd/air_handling_unit/faults/fault_condition_six.py +39 -2
- open_fdd/air_handling_unit/faults/fault_condition_ten.py +39 -3
- open_fdd/air_handling_unit/faults/fault_condition_thirteen.py +38 -2
- open_fdd/air_handling_unit/faults/fault_condition_three.py +32 -2
- open_fdd/air_handling_unit/faults/fault_condition_twelve.py +40 -3
- open_fdd/air_handling_unit/faults/fault_condition_two.py +32 -2
- open_fdd/air_handling_unit/faults/helper_utils.py +1 -29
- open_fdd/tests/ahu/test_ahu_fc1.py +1 -1
- open_fdd/tests/ahu/test_ahu_fc10.py +1 -1
- open_fdd/tests/ahu/test_ahu_fc11.py +1 -1
- open_fdd/tests/ahu/test_ahu_fc12.py +1 -1
- open_fdd/tests/ahu/test_ahu_fc13.py +1 -1
- open_fdd/tests/ahu/test_ahu_fc14.py +1 -1
- open_fdd/tests/ahu/test_ahu_fc15.py +1 -1
- open_fdd/tests/ahu/test_ahu_fc2.py +1 -1
- open_fdd/tests/ahu/test_ahu_fc3.py +1 -1
- open_fdd/tests/ahu/test_ahu_fc4.py +199 -127
- open_fdd/tests/ahu/test_ahu_fc5.py +1 -1
- open_fdd/tests/ahu/test_ahu_fc6.py +2 -2
- open_fdd/tests/ahu/test_ahu_fc7.py +1 -1
- open_fdd/tests/ahu/test_ahu_fc8.py +1 -1
- open_fdd/tests/ahu/test_ahu_fc9.py +1 -1
- {open_fdd-0.1.3.dist-info → open_fdd-0.1.4.dist-info}/METADATA +2 -3
- {open_fdd-0.1.3.dist-info → open_fdd-0.1.4.dist-info}/RECORD +38 -38
- {open_fdd-0.1.3.dist-info → open_fdd-0.1.4.dist-info}/LICENSE +0 -0
- {open_fdd-0.1.3.dist-info → open_fdd-0.1.4.dist-info}/WHEEL +0 -0
- {open_fdd-0.1.3.dist-info → open_fdd-0.1.4.dist-info}/top_level.txt +0 -0
@@ -1,128 +1,200 @@
|
|
1
1
|
import pandas as pd
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
2
|
+
import pytest
|
3
|
+
from open_fdd.air_handling_unit.faults import FaultConditionFour
|
4
|
+
from open_fdd.air_handling_unit.faults.helper_utils import HelperUtils
|
5
|
+
from datetime import datetime, timezone
|
6
|
+
|
7
|
+
"""
|
8
|
+
To see print statements in pytest run with:
|
9
|
+
$ py -3.12 -m pytest tests/ahu/test_ahu_fc4.py -rP -s
|
10
|
+
|
11
|
+
Too much hunting in control system
|
12
|
+
OS state changes greater than 7 in an hour
|
13
|
+
"""
|
14
|
+
|
15
|
+
# Constants
|
16
|
+
DELTA_OS_MAX = 7
|
17
|
+
AHU_MIN_OA = 0.20
|
18
|
+
TEST_MIX_AIR_DAMPER_COL = "economizer_sig_col"
|
19
|
+
TEST_HEATING_COIL_SIG_COL = "heating_sig_col"
|
20
|
+
TEST_COOLING_COIL_SIG_COL = "cooling_sig_col"
|
21
|
+
TEST_SUPPLY_VFD_SPEED_COL = "fan_vfd_speed_col"
|
22
|
+
TEST_DATASET_ROWS = 60
|
23
|
+
|
24
|
+
# Initialize FaultConditionFour with a dictionary
|
25
|
+
fault_condition_params = {
|
26
|
+
"DELTA_OS_MAX": DELTA_OS_MAX,
|
27
|
+
"AHU_MIN_OA_DPR": AHU_MIN_OA,
|
28
|
+
"ECONOMIZER_SIG_COL": TEST_MIX_AIR_DAMPER_COL,
|
29
|
+
"HEATING_SIG_COL": TEST_HEATING_COIL_SIG_COL,
|
30
|
+
"COOLING_SIG_COL": TEST_COOLING_COIL_SIG_COL,
|
31
|
+
"SUPPLY_VFD_SPEED_COL": TEST_SUPPLY_VFD_SPEED_COL,
|
32
|
+
"TROUBLESHOOT_MODE": False, # default value
|
33
|
+
}
|
34
|
+
|
35
|
+
fc4 = FaultConditionFour(fault_condition_params)
|
36
|
+
|
37
|
+
|
38
|
+
def generate_timestamp() -> pd.Series:
|
39
|
+
df = pd.DataFrame()
|
40
|
+
date_range = pd.period_range(
|
41
|
+
# make a time stamp starting at top of
|
42
|
+
# the hour with one min intervals
|
43
|
+
start=datetime(2022, 6, 6, 14, 30, 0, 0, tzinfo=timezone.utc),
|
44
|
+
periods=TEST_DATASET_ROWS,
|
45
|
+
freq="min",
|
46
|
+
)
|
47
|
+
df["Date"] = [x.to_timestamp() for x in date_range]
|
48
|
+
return df["Date"]
|
49
|
+
|
50
|
+
|
51
|
+
def econ_plus_mech_clg_row() -> dict:
|
52
|
+
data = {
|
53
|
+
TEST_MIX_AIR_DAMPER_COL: 0.6,
|
54
|
+
TEST_HEATING_COIL_SIG_COL: 0.0,
|
55
|
+
TEST_COOLING_COIL_SIG_COL: 0.6,
|
56
|
+
TEST_SUPPLY_VFD_SPEED_COL: 0.8,
|
57
|
+
}
|
58
|
+
return data
|
59
|
+
|
60
|
+
|
61
|
+
def mech_clg_row() -> dict:
|
62
|
+
data = {
|
63
|
+
TEST_MIX_AIR_DAMPER_COL: 0.0,
|
64
|
+
TEST_HEATING_COIL_SIG_COL: 0.0,
|
65
|
+
TEST_COOLING_COIL_SIG_COL: 0.6,
|
66
|
+
TEST_SUPPLY_VFD_SPEED_COL: 0.8,
|
67
|
+
}
|
68
|
+
return data
|
69
|
+
|
70
|
+
|
71
|
+
def econ_plus_mech_clg_row_int() -> dict:
|
72
|
+
data = {
|
73
|
+
TEST_MIX_AIR_DAMPER_COL: 0.6,
|
74
|
+
TEST_HEATING_COIL_SIG_COL: 0.0,
|
75
|
+
TEST_COOLING_COIL_SIG_COL: 0.6,
|
76
|
+
TEST_SUPPLY_VFD_SPEED_COL: 88,
|
77
|
+
}
|
78
|
+
return data
|
79
|
+
|
80
|
+
|
81
|
+
def econ_plus_mech_clg_row_float_greater_than_one() -> dict:
|
82
|
+
data = {
|
83
|
+
TEST_MIX_AIR_DAMPER_COL: 0.6,
|
84
|
+
TEST_HEATING_COIL_SIG_COL: 0.0,
|
85
|
+
TEST_COOLING_COIL_SIG_COL: 0.6,
|
86
|
+
TEST_SUPPLY_VFD_SPEED_COL: 88.8,
|
87
|
+
}
|
88
|
+
return data
|
89
|
+
|
90
|
+
|
91
|
+
class TestFault(object):
|
92
|
+
|
93
|
+
def fault_df(self) -> pd.DataFrame:
|
94
|
+
data = []
|
95
|
+
counter = 0
|
96
|
+
for i in range(TEST_DATASET_ROWS):
|
97
|
+
if i % 2 == 0 and counter < 11:
|
98
|
+
data.append(econ_plus_mech_clg_row())
|
99
|
+
counter += 1 # only simulate 10 OS changes
|
100
|
+
else:
|
101
|
+
data.append(mech_clg_row())
|
102
|
+
return pd.DataFrame(data)
|
103
|
+
|
104
|
+
def test_fault(self):
|
105
|
+
fault_df = self.fault_df().set_index(generate_timestamp())
|
106
|
+
results = fc4.apply(fault_df)
|
107
|
+
actual = results["fc4_flag"].sum()
|
108
|
+
expected = 1
|
109
|
+
message = f"FC4 fault_df actual is {actual} and expected is {expected}"
|
110
|
+
assert actual == expected, message
|
111
|
+
|
112
|
+
|
113
|
+
class TestNoFault(object):
|
114
|
+
|
115
|
+
def no_fault_df(self) -> pd.DataFrame:
|
116
|
+
data = []
|
117
|
+
for i in range(TEST_DATASET_ROWS):
|
118
|
+
data.append(mech_clg_row())
|
119
|
+
return pd.DataFrame(data)
|
120
|
+
|
121
|
+
def test_no_fault(self):
|
122
|
+
no_fault_df = self.no_fault_df().set_index(generate_timestamp())
|
123
|
+
results = fc4.apply(no_fault_df)
|
124
|
+
actual = results["fc4_flag"].sum()
|
125
|
+
expected = 0
|
126
|
+
message = f"FC4 no_fault_df actual is {actual} and expected is {expected}"
|
127
|
+
assert actual == expected, message
|
128
|
+
|
129
|
+
|
130
|
+
class TestFaultOnInt(object):
|
131
|
+
|
132
|
+
def fault_df_on_output_int(self) -> pd.DataFrame:
|
133
|
+
data = []
|
134
|
+
for i in range(TEST_DATASET_ROWS):
|
135
|
+
if i % 2 == 0:
|
136
|
+
data.append(econ_plus_mech_clg_row_int())
|
137
|
+
else:
|
138
|
+
data.append(mech_clg_row())
|
139
|
+
return pd.DataFrame(data)
|
140
|
+
|
141
|
+
def test_fault_on_int(self):
|
142
|
+
fault_df_on_output_int = self.fault_df_on_output_int().set_index(
|
143
|
+
generate_timestamp()
|
144
|
+
)
|
145
|
+
with pytest.raises(
|
146
|
+
TypeError,
|
147
|
+
match=HelperUtils().float_int_check_err(TEST_SUPPLY_VFD_SPEED_COL),
|
148
|
+
):
|
149
|
+
fc4.apply(fault_df_on_output_int)
|
150
|
+
|
151
|
+
|
152
|
+
class TestFaultOnFloatGreaterThanOne(object):
|
153
|
+
|
154
|
+
def fault_df_on_output_greater_than_one(self) -> pd.DataFrame:
|
155
|
+
data = []
|
156
|
+
for i in range(TEST_DATASET_ROWS):
|
157
|
+
if i % 2 == 0:
|
158
|
+
data.append(econ_plus_mech_clg_row_float_greater_than_one())
|
159
|
+
else:
|
160
|
+
data.append(mech_clg_row())
|
161
|
+
return pd.DataFrame(data)
|
162
|
+
|
163
|
+
def test_fault_on_float_greater_than_one(self):
|
164
|
+
fault_df_on_output_greater_than_one = (
|
165
|
+
self.fault_df_on_output_greater_than_one().set_index(generate_timestamp())
|
166
|
+
)
|
167
|
+
with pytest.raises(
|
168
|
+
TypeError,
|
169
|
+
match=HelperUtils().float_max_check_err(TEST_SUPPLY_VFD_SPEED_COL),
|
170
|
+
):
|
171
|
+
fc4.apply(fault_df_on_output_greater_than_one)
|
172
|
+
|
173
|
+
|
174
|
+
class TestFaultOnMixedTypes(object):
|
175
|
+
|
176
|
+
def fault_df_on_mixed_types(self) -> pd.DataFrame:
|
177
|
+
data = []
|
178
|
+
for i in range(TEST_DATASET_ROWS):
|
179
|
+
if i % 2 == 0:
|
180
|
+
data.append(
|
181
|
+
{
|
182
|
+
TEST_MIX_AIR_DAMPER_COL: 0.6,
|
183
|
+
TEST_HEATING_COIL_SIG_COL: 0.0,
|
184
|
+
TEST_COOLING_COIL_SIG_COL: 0.6,
|
185
|
+
TEST_SUPPLY_VFD_SPEED_COL: 1.1,
|
186
|
+
}
|
187
|
+
)
|
188
|
+
else:
|
189
|
+
data.append(mech_clg_row())
|
190
|
+
return pd.DataFrame(data)
|
191
|
+
|
192
|
+
def test_fault_on_mixed_types(self):
|
193
|
+
fault_df_on_mixed_types = self.fault_df_on_mixed_types().set_index(
|
194
|
+
generate_timestamp()
|
195
|
+
)
|
196
|
+
with pytest.raises(
|
197
|
+
TypeError,
|
198
|
+
match=HelperUtils().float_max_check_err(TEST_SUPPLY_VFD_SPEED_COL),
|
199
|
+
):
|
200
|
+
fc4.apply(fault_df_on_mixed_types)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import pandas as pd
|
2
2
|
import pytest
|
3
|
-
from open_fdd.air_handling_unit.faults
|
3
|
+
from open_fdd.air_handling_unit.faults import FaultConditionFive
|
4
4
|
from open_fdd.air_handling_unit.faults.helper_utils import HelperUtils
|
5
5
|
|
6
6
|
"""
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import pandas as pd
|
2
2
|
import pytest
|
3
|
-
from open_fdd.air_handling_unit.faults
|
3
|
+
from open_fdd.air_handling_unit.faults import FaultConditionSix
|
4
4
|
from open_fdd.air_handling_unit.faults.helper_utils import HelperUtils
|
5
5
|
|
6
6
|
"""
|
@@ -12,7 +12,7 @@ OA FRACTION TOO LOW OR TOO HIGH; SHOULD BE EQUAL TO %OAmin
|
|
12
12
|
|
13
13
|
# Constants
|
14
14
|
TEST_AIRFLOW_ERR_THRES = 0.3
|
15
|
-
TEST_AHU_MIN_CFM_DESIGN = 3000
|
15
|
+
TEST_AHU_MIN_CFM_DESIGN = 3000.0
|
16
16
|
TEST_OAT_DEGF_ERR_THRES = 5.0
|
17
17
|
TEST_RAT_DEGF_ERR_THRES = 2.0
|
18
18
|
TEST_DELTA_TEMP_MIN = 10.0
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import pandas as pd
|
2
2
|
import pytest
|
3
|
-
from open_fdd.air_handling_unit.faults
|
3
|
+
from open_fdd.air_handling_unit.faults import FaultConditionSeven
|
4
4
|
from open_fdd.air_handling_unit.faults.helper_utils import HelperUtils
|
5
5
|
|
6
6
|
"""
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import pandas as pd
|
2
2
|
import pytest
|
3
|
-
from open_fdd.air_handling_unit.faults
|
3
|
+
from open_fdd.air_handling_unit.faults import FaultConditionEight
|
4
4
|
from open_fdd.air_handling_unit.faults.helper_utils import HelperUtils
|
5
5
|
|
6
6
|
"""
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import pandas as pd
|
2
2
|
import pytest
|
3
|
-
from open_fdd.air_handling_unit.faults
|
3
|
+
from open_fdd.air_handling_unit.faults import FaultConditionNine
|
4
4
|
from open_fdd.air_handling_unit.faults.helper_utils import HelperUtils
|
5
5
|
|
6
6
|
"""
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: open_fdd
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.4
|
4
4
|
Summary: A package for fault detection and diagnosis in HVAC systems
|
5
5
|
Home-page: https://github.com/bbartling/open-fdd
|
6
6
|
Author: Ben Bartling
|
@@ -48,9 +48,8 @@ These are some basic project goals to make this into an interactive FDD applicat
|
|
48
48
|
- [ ] make `energy_efficiency` faults, IPython reports, and examples to `optimize` in reducing energy consumption.
|
49
49
|
- [ ] make `metering`, faults, IPython reports, and examples to possibly model utility metering data.
|
50
50
|
- [ ] create SQL example to read data from time series db and write back to SQL to then read faults in Grafana.
|
51
|
-
- [ ] other?
|
51
|
+
- [ ] other? Certainly! As ChatGPT would eagerly say!
|
52
52
|
|
53
|
-
Certainly! Here's a revised version of your contribution guidelines:
|
54
53
|
|
55
54
|
## Contribute
|
56
55
|
|
@@ -1,23 +1,23 @@
|
|
1
1
|
open_fdd/__init__.py,sha256=iGj8QTOZJUTE4nNnBiCHXEXsOdV6YvKcGiLrnOusJCg,1411
|
2
2
|
open_fdd/air_handling_unit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
|
-
open_fdd/air_handling_unit/faults/__init__.py,sha256=
|
4
|
-
open_fdd/air_handling_unit/faults/fault_condition.py,sha256=
|
5
|
-
open_fdd/air_handling_unit/faults/fault_condition_eight.py,sha256=
|
6
|
-
open_fdd/air_handling_unit/faults/fault_condition_eleven.py,sha256=
|
7
|
-
open_fdd/air_handling_unit/faults/fault_condition_fifteen.py,sha256=
|
8
|
-
open_fdd/air_handling_unit/faults/fault_condition_five.py,sha256=
|
9
|
-
open_fdd/air_handling_unit/faults/fault_condition_four.py,sha256=
|
10
|
-
open_fdd/air_handling_unit/faults/fault_condition_fourteen.py,sha256=
|
11
|
-
open_fdd/air_handling_unit/faults/fault_condition_nine.py,sha256=
|
12
|
-
open_fdd/air_handling_unit/faults/fault_condition_one.py,sha256=
|
13
|
-
open_fdd/air_handling_unit/faults/fault_condition_seven.py,sha256=
|
14
|
-
open_fdd/air_handling_unit/faults/fault_condition_six.py,sha256=
|
15
|
-
open_fdd/air_handling_unit/faults/fault_condition_ten.py,sha256=
|
16
|
-
open_fdd/air_handling_unit/faults/fault_condition_thirteen.py,sha256=
|
17
|
-
open_fdd/air_handling_unit/faults/fault_condition_three.py,sha256=
|
18
|
-
open_fdd/air_handling_unit/faults/fault_condition_twelve.py,sha256=
|
19
|
-
open_fdd/air_handling_unit/faults/fault_condition_two.py,sha256=
|
20
|
-
open_fdd/air_handling_unit/faults/helper_utils.py,sha256
|
3
|
+
open_fdd/air_handling_unit/faults/__init__.py,sha256=Rq7AfQ7sRWneAfqr4v8R7OwNmLifmmfOH1UaA2iZbRM,90291
|
4
|
+
open_fdd/air_handling_unit/faults/fault_condition.py,sha256=UN2_k2AZWMDoO4oPAnJW3fvhkHlMkLXZikzU2lXAOuQ,2364
|
5
|
+
open_fdd/air_handling_unit/faults/fault_condition_eight.py,sha256=nfL66m5toN0fvIjUu02T7AErsTV0rR8kVIErfaqIeic,4603
|
6
|
+
open_fdd/air_handling_unit/faults/fault_condition_eleven.py,sha256=AgQnxP46-KGI-4Hk55gKfPGhauoxpFppdmrrBv-1kto,4699
|
7
|
+
open_fdd/air_handling_unit/faults/fault_condition_fifteen.py,sha256=QCn_9FF1p7tqm7qdkyIDOqozP988IeuHzOx0LsmyHAU,5841
|
8
|
+
open_fdd/air_handling_unit/faults/fault_condition_five.py,sha256=Dy6HlvCnM5-BN0LvFLoQFk8BHyKSxBWMCFC_6Yd0K4I,4574
|
9
|
+
open_fdd/air_handling_unit/faults/fault_condition_four.py,sha256=os-LIW1Hc1xl6Auna6IJXJFd6CUNboVFwG_A3VWFC8o,6710
|
10
|
+
open_fdd/air_handling_unit/faults/fault_condition_fourteen.py,sha256=AzcKiK2h3bV5vkbd8ZvqqoaOD372I2CYZHRL1wjHDTo,5480
|
11
|
+
open_fdd/air_handling_unit/faults/fault_condition_nine.py,sha256=atXgzyHuy0Rf4RAA2EAM_qTnlgERtIEDoXvJzulJ08E,4780
|
12
|
+
open_fdd/air_handling_unit/faults/fault_condition_one.py,sha256=V2hnTb6FdGTR1Z0IowsR2UdUVzI1nD5EFnaSIADBaEc,4240
|
13
|
+
open_fdd/air_handling_unit/faults/fault_condition_seven.py,sha256=SKczqGhIkDgyaT5NyyalF5lrc9WFISOQfWh7-PdmVO8,4232
|
14
|
+
open_fdd/air_handling_unit/faults/fault_condition_six.py,sha256=Ot0SZJIAShs9U5e495n5hvtWvelF4Ycx0SDDsQUviQE,7045
|
15
|
+
open_fdd/air_handling_unit/faults/fault_condition_ten.py,sha256=Q-EBH6_IuVHespev7NTF2QxbYTFOV8GmfvKVpDj2gQY,4581
|
16
|
+
open_fdd/air_handling_unit/faults/fault_condition_thirteen.py,sha256=NL_q7fEbTqGoYmvOZocLxHgbc6iCfoBMUvCRNpPVpgs,4718
|
17
|
+
open_fdd/air_handling_unit/faults/fault_condition_three.py,sha256=cmcIA_QEUjiz5FIYlx9CqnBp7phU4ZopRBkfZpzqGQg,4309
|
18
|
+
open_fdd/air_handling_unit/faults/fault_condition_twelve.py,sha256=QujZrpRPp-58BL4iTJWmexSrp0WiisInKJIHKe9luyk,5066
|
19
|
+
open_fdd/air_handling_unit/faults/fault_condition_two.py,sha256=h_psJQHPYBkc8hAK-CbdFx7ySbaJv_XQFS_GxvfM9KE,4305
|
20
|
+
open_fdd/air_handling_unit/faults/helper_utils.py,sha256=-Bd1mMMLnFmpNPe7eC23kMJxPtazsIyz5P7W6Yqlu4w,12580
|
21
21
|
open_fdd/air_handling_unit/faults/shared_utils.py,sha256=Kp8ZUBhtrh-jU2Q_bbXTpnbVVUAyacp41tDMknY50i4,2252
|
22
22
|
open_fdd/air_handling_unit/images/ahu1_fc1_2024-06_1.jpg,sha256=3dHZyEm_nS4p7-acZprIpZyuU65_IJKk2sixJBf7Ans,444019
|
23
23
|
open_fdd/air_handling_unit/images/ahu1_fc1_2024-06_2.jpg,sha256=kjWCDhRkpxiigl9VJnnMBlETA_FWHZtAn9oqKuQl1M4,392583
|
@@ -60,23 +60,23 @@ open_fdd/air_handling_unit/reports/report_fc8.py,sha256=3jZPq2piethtqly1faSc8hk0
|
|
60
60
|
open_fdd/air_handling_unit/reports/report_fc9.py,sha256=hJbYMYnwptVSEI2NVdnV3Ads-h_9Hl4oFD1HDDLZWHQ,4909
|
61
61
|
open_fdd/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
62
62
|
open_fdd/tests/ahu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
63
|
-
open_fdd/tests/ahu/test_ahu_fc1.py,sha256=
|
64
|
-
open_fdd/tests/ahu/test_ahu_fc10.py,sha256=
|
65
|
-
open_fdd/tests/ahu/test_ahu_fc11.py,sha256=
|
66
|
-
open_fdd/tests/ahu/test_ahu_fc12.py,sha256=
|
67
|
-
open_fdd/tests/ahu/test_ahu_fc13.py,sha256=
|
68
|
-
open_fdd/tests/ahu/test_ahu_fc14.py,sha256=
|
69
|
-
open_fdd/tests/ahu/test_ahu_fc15.py,sha256=
|
70
|
-
open_fdd/tests/ahu/test_ahu_fc2.py,sha256=
|
71
|
-
open_fdd/tests/ahu/test_ahu_fc3.py,sha256=
|
72
|
-
open_fdd/tests/ahu/test_ahu_fc4.py,sha256=
|
73
|
-
open_fdd/tests/ahu/test_ahu_fc5.py,sha256=
|
74
|
-
open_fdd/tests/ahu/test_ahu_fc6.py,sha256=
|
75
|
-
open_fdd/tests/ahu/test_ahu_fc7.py,sha256=
|
76
|
-
open_fdd/tests/ahu/test_ahu_fc8.py,sha256=
|
77
|
-
open_fdd/tests/ahu/test_ahu_fc9.py,sha256=
|
78
|
-
open_fdd-0.1.
|
79
|
-
open_fdd-0.1.
|
80
|
-
open_fdd-0.1.
|
81
|
-
open_fdd-0.1.
|
82
|
-
open_fdd-0.1.
|
63
|
+
open_fdd/tests/ahu/test_ahu_fc1.py,sha256=ojpdYGZtuIYAKnZ4W9KhxQuoyXnGEI5N7braQXh3kAw,5437
|
64
|
+
open_fdd/tests/ahu/test_ahu_fc10.py,sha256=niYL7fi6OlgP0wnF8hNh9A07PLzHiRZkyRkrA1zoL2s,4577
|
65
|
+
open_fdd/tests/ahu/test_ahu_fc11.py,sha256=mdXlGiEMPkPfshf3NN_nJavL74e4HCmkJQMu86aZc6Q,4723
|
66
|
+
open_fdd/tests/ahu/test_ahu_fc12.py,sha256=5T-XcM6xm9KHrc121uPGC9JWLCYehrAYk0KcbmGgYjw,5848
|
67
|
+
open_fdd/tests/ahu/test_ahu_fc13.py,sha256=vJlSy4e2WV9hx02P0SiJ75I1DWL2lZ0p7-AWlw97pks,5725
|
68
|
+
open_fdd/tests/ahu/test_ahu_fc14.py,sha256=MU0LKqIuoQ_dJ0Kij8_A0YyimCMvUwL6IlMwpQhDbqI,8052
|
69
|
+
open_fdd/tests/ahu/test_ahu_fc15.py,sha256=SIolJ9vnJwnpKfRW2ALugYWySuIiZ9_repWP9fdb5H4,7661
|
70
|
+
open_fdd/tests/ahu/test_ahu_fc2.py,sha256=CjmO_WUyaSHs17ifCCew3GBJ43nYG55uGL0vHDZpAq8,4736
|
71
|
+
open_fdd/tests/ahu/test_ahu_fc3.py,sha256=NB6pOXDS-R4P0LNoRN8ItAqhhLnGnGuAHZha32Qw-hE,4658
|
72
|
+
open_fdd/tests/ahu/test_ahu_fc4.py,sha256=vV8jEnFuNGLfhCoTVz29RsIcoDpDOMWg722G0aBEXaE,6304
|
73
|
+
open_fdd/tests/ahu/test_ahu_fc5.py,sha256=TpSQTBIF591Q3mVaBeJ6HyqPWhVHmD_gSZNEIFT6yyg,6538
|
74
|
+
open_fdd/tests/ahu/test_ahu_fc6.py,sha256=66dwv0EBU_ujZK-J9Ki5a3fnXlk17nOwmtKDiQOHdbM,10351
|
75
|
+
open_fdd/tests/ahu/test_ahu_fc7.py,sha256=sABbw2m7WlAXbsqfDD323vfEfg606ThI0QzQyB-OjFo,2469
|
76
|
+
open_fdd/tests/ahu/test_ahu_fc8.py,sha256=UZy6BP2PgV1FROUPqMORTx8YnT5ZvqVDhut_Ar81494,4663
|
77
|
+
open_fdd/tests/ahu/test_ahu_fc9.py,sha256=b-eIzhNzjZUjVNsP0JAHkOgZu-BtDuPeNnblVVm-jU8,4796
|
78
|
+
open_fdd-0.1.4.dist-info/LICENSE,sha256=eghao_GGx_0gB2Sll3x2vV29knONEzUQKrkaXpX1F7w,1087
|
79
|
+
open_fdd-0.1.4.dist-info/METADATA,sha256=mnTD5a5-ob9hYjWMbcfxHdB8RAIJ-GOWC33kWtc_JJw,6420
|
80
|
+
open_fdd-0.1.4.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
81
|
+
open_fdd-0.1.4.dist-info/top_level.txt,sha256=Q7sB6UB2d8Ch1v_xIsTiNegmgcCXPkwkrxK3ug6VEOs,9
|
82
|
+
open_fdd-0.1.4.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|