Add execption handler if request not possible

This commit is contained in:
Carsten Schmiemann 2023-05-26 12:14:29 +02:00
parent ae3509c4b4
commit f9fabfac79

View file

@ -40,7 +40,7 @@ class NodeRedMetergrid-meter:
self._dbusservice.add_path('/Latency', None) self._dbusservice.add_path('/Latency', None)
self._dbusservice.add_path('/FirmwareVersion', 1.0) self._dbusservice.add_path('/FirmwareVersion', 1.0)
self._dbusservice.add_path('/HardwareVersion', 0) self._dbusservice.add_path('/HardwareVersion', 0)
self._dbusservice.add_path('/Connected', 1) self._dbusservice.add_path('/Connected', 0)
self._dbusservice.add_path('/Role', 'grid') self._dbusservice.add_path('/Role', 'grid')
self._dbusservice.add_path('/Position', 0) self._dbusservice.add_path('/Position', 0)
self._dbusservice.add_path('/Serial', 12345678) self._dbusservice.add_path('/Serial', 12345678)
@ -70,19 +70,20 @@ class NodeRedMetergrid-meter:
def _getNodeRedData(self): def _getNodeRedData(self):
URL = "http://localhost:1880/meters" URL = "http://localhost:1880/meters"
meter_r = requests.get(url = URL) try:
meter_r = requests.get(url = URL, timeout=5)
# check for response except requests.exceptions.RequestException as e:
if not meter_r: self._dbusservice['/Connected'] = 0
raise ConnectionError("No response from NodeRed - %s" % (URL)) raise ConnectionError("No response from NodeRed - %s" % (URL))
meter_data = meter_r.json() meter_data = meter_r.json()
# check for Json # check for Json
if not meter_data: if not meter_data:
self._dbusservice['/Connected'] = 0
raise ValueError("Converting response to JSON failed") raise ValueError("Converting response to JSON failed")
self._dbusservice['/Connected'] = 1
return meter_data return meter_data