Skip to content

Commit bd14ce5

Browse files
committed
wip
1 parent 2cbd44a commit bd14ce5

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

luxtronik/__init__.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ def __del__(self):
7474
"Disconnected from Luxtronik heatpump %s:%s", self._host, self._port
7575
)
7676

77-
def _lock_and_connect(self, func):
77+
def _lock_and_connect(func):
7878
"""
7979
Decorator around various read/write functions to connect first.
8080
@@ -84,7 +84,7 @@ def _lock_and_connect(self, func):
8484
Luxtronik controller, which seems unstable otherwise.
8585
"""
8686

87-
def inner(*args, **kwargs):
87+
def inner(self, *args, **kwargs):
8888
with self._lock:
8989
is_none = self._socket is None
9090
if is_none:
@@ -94,33 +94,35 @@ def inner(*args, **kwargs):
9494
LOGGER.info(
9595
"Connected to Luxtronik heat pump %s:%s", self._host, self._port
9696
)
97-
return func(*args, **kwargs)
97+
98+
return func(self, *args, **kwargs)
9899

99100
return inner
100101

102+
@_lock_and_connect
101103
def read(self):
102104
"""
103105
Read data from heat pump.
104106
All available data will be read from the heat pump.
105107
"""
106-
decorated_read = self._lock_and_connect(self._read)
107-
return decorated_read()
108+
return self._read()
108109

110+
@_lock_and_connect
109111
def read_parameters(self):
110112
"""Read parameters from heat pump."""
111-
decorated_read = self._lock_and_connect(self._read_parameters)
112-
return decorated_read()
113+
return self._read_parameters()
113114

115+
@_lock_and_connect
114116
def read_calculations(self):
115117
"""Read calculations from heat pump."""
116-
decorated_read = self._lock_and_connect(self._read_calculations)
117-
return decorated_read()
118+
return self._read_calculations()
118119

120+
@_lock_and_connect
119121
def read_visibilities(self):
120122
"""Read visibilities from heat pump."""
121-
decorated_read = self._lock_and_connect(self._read_visibilities)
122-
return decorated_read()
123+
return self._read_visibilities()
123124

125+
@_lock_and_connect
124126
def write(self, parameters):
125127
"""
126128
Write parameter to heat pump.
@@ -130,8 +132,7 @@ def write(self, parameters):
130132
to the heatpump before reading all available data
131133
from the heat pump.
132134
"""
133-
decorated_write = self._lock_and_connect(self._write)
134-
return decorated_write(parameters)
135+
return self._write(parameters)
135136

136137
def _read(self):
137138
parameters = self._read_parameters()

0 commit comments

Comments
 (0)