Skip to content

Commit f34eb12

Browse files
committed
solve stop button issue
1 parent 24d7c77 commit f34eb12

File tree

3 files changed

+14
-4
lines changed

3 files changed

+14
-4
lines changed

evcc/ev_gui.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -699,7 +699,6 @@ def stop_ev(self) -> None:
699699
self.stop_button.setEnabled(False)
700700
self.start_button.setEnabled(True)
701701
self.controller.stop()
702-
time.sleep(2) # time to finish the sequence before stopping the GUI
703702
self.start_button.clicked.connect(self.reset_check_boxes)
704703

705704

evcc/ev_session.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,3 +128,4 @@ class EVSessionParameters(SessionParameters):
128128
charging: bool = False
129129
stop_session: bool = False
130130
processing: bool = False
131+
request_type: str = 'SAP'

evcc/tcp_client.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,14 +74,16 @@ def connection_made(self, transport: transports.BaseTransport) -> None:
7474
def data_received(self, data: bytes) -> None:
7575
addr = self.transport.get_extra_info('peername')
7676
logger.info("Received response from %s.", addr)
77-
if self.session.state == "WaitForSupportedAppProtocolRes":
77+
if self.session.session_parameters.request_type.lower() == "sap":
7878
packet = SupportedAppMessage(data)
79-
elif "Dc" in self.session.state:
79+
elif "dc" in self.session.session_parameters.request_type.lower():
8080
packet = EXIDCMessage(data)
8181
else:
8282
packet = EXIMessage(data)
8383
self.process_incoming_message(packet)
8484

85+
86+
8587
def eof_received(self) -> Optional[bool]:
8688
logger.info('Received EOF.')
8789
if self.transport.can_write_eof():
@@ -103,7 +105,14 @@ def process_incoming_message(self, v2gtp_message: V2GTPMessage) -> None:
103105
:return:
104106
"""
105107
if self.message_handler.is_valid(v2gtp_message):
106-
payload = v2gtp_message.payload.getfieldval("payloadContent")
108+
try:
109+
payload = v2gtp_message.payload.getfieldval("payloadContent")
110+
except AttributeError as ex:
111+
template = "An exception of type {0} occurred. Arguments:\n{1!r}"
112+
message = template.format(type(ex).__name__, ex.args)
113+
logger.error(message + '\n v2gtp_message has no field payloadContent, incorrect payload')
114+
raise
115+
107116
message_type = v2gtp_message.get_payload_type()
108117
logger.info("Payload type: " + str(message_type))
109118
logger.debug("Received EXI msg to be decoded: " + hexdump.dump(payload, len(payload), ' '))
@@ -167,6 +176,7 @@ def process_reaction(self, reaction) -> None:
167176
self.session.reset_sequence_timer()
168177
self.session.message_timer.start()
169178
self.send(xml_string, message, request)
179+
self.session.session_parameters.request_type = reaction.msg_type
170180
self.session.save_session_data(reaction.extra_data)
171181
self.session.next_state()
172182

0 commit comments

Comments
 (0)