Skip to content

Commit a46c601

Browse files
committed
Fix crash while overriding coils and discrete inputs from the UI
1 parent 272bcbe commit a46c601

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

modbus_simulator/ui/datamodel.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ def on_data_update(self, index, data):
423423
if self.blockname in ['input_registers', 'holding_registers']:
424424
self.list_view.adapter.data[index]['value'] = float(data)
425425
else:
426-
self.list_view.adapter.data.update({index: float(data)})
426+
self.list_view.adapter.data[index]['value'] = int(data)
427427
self.list_view._trigger_reset_populate()
428428
data = {'event': 'sync_data',
429429
'data': {index: self.list_view.adapter.data[index]}}

modbus_simulator/ui/gui.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -588,9 +588,12 @@ def sync_data_callback(self, blockname, data):
588588
v['formatter']
589589
)
590590
else:
591+
# v = dict(value=int(v))
592+
if not isinstance(v, dict):
593+
v = dict(value=v)
591594
self.modbus_device.set_values(int(self.active_slave),
592595
current_tab,
593-
k, int(v['value']))
596+
k, v.get('value'))
594597
except KeyError:
595598
pass
596599
except struct.error:

0 commit comments

Comments
 (0)