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
1 changed files with 8 additions and 7 deletions

View File

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