grid meter py Clean up a bit
This commit is contained in:
parent
41d57160be
commit
fdc54769d6
|
@ -19,7 +19,7 @@ sys.path.insert(1, os.path.join(os.path.dirname(__file__), '/opt/victronenergy/d
|
||||||
from vedbus import VeDbusService
|
from vedbus import VeDbusService
|
||||||
|
|
||||||
|
|
||||||
class NodeRedMetergrid-meter:
|
class NodeRedGridMeter:
|
||||||
def __init__(self, servicename, deviceinstance, paths, productname='grid-meter', connection='Node RED HTTP JSON service'):
|
def __init__(self, servicename, deviceinstance, paths, productname='grid-meter', connection='Node RED HTTP JSON service'):
|
||||||
self._dbusservice = VeDbusService("{}.http_{:02d}".format(servicename, deviceinstance))
|
self._dbusservice = VeDbusService("{}.http_{:02d}".format(servicename, deviceinstance))
|
||||||
self._paths = paths
|
self._paths = paths
|
||||||
|
@ -99,6 +99,7 @@ class NodeRedMetergrid-meter:
|
||||||
self._errorState()
|
self._errorState()
|
||||||
raise ValueError("Converting response to JSON failed")
|
raise ValueError("Converting response to JSON failed")
|
||||||
|
|
||||||
|
# if there is not error parsing data, set connected to true
|
||||||
self._dbusservice['/Connected'] = 1
|
self._dbusservice['/Connected'] = 1
|
||||||
return meter_data
|
return meter_data
|
||||||
|
|
||||||
|
@ -110,7 +111,7 @@ class NodeRedMetergrid-meter:
|
||||||
|
|
||||||
def _update(self):
|
def _update(self):
|
||||||
try:
|
try:
|
||||||
#get data from NodeRed 3em
|
#get parsed data from NodeRed fuction
|
||||||
meter_data = self._getNodeRedData()
|
meter_data = self._getNodeRedData()
|
||||||
|
|
||||||
#send data to DBus
|
#send data to DBus
|
||||||
|
@ -147,7 +148,8 @@ class NodeRedMetergrid-meter:
|
||||||
self._dbusservice['/UpdateIndex'] = index
|
self._dbusservice['/UpdateIndex'] = index
|
||||||
|
|
||||||
#update lastupdate vars
|
#update lastupdate vars
|
||||||
self._lastUpdate = time.time()
|
self._lastUpdate = time.time()
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self._errorState()
|
self._errorState()
|
||||||
logging.critical('Error at %s', '_update', exc_info=e)
|
logging.critical('Error at %s', '_update', exc_info=e)
|
||||||
|
@ -158,8 +160,6 @@ class NodeRedMetergrid-meter:
|
||||||
def _handlechangedvalue(self, path, value):
|
def _handlechangedvalue(self, path, value):
|
||||||
logging.debug("someone else updated %s to %s" % (path, value))
|
logging.debug("someone else updated %s to %s" % (path, value))
|
||||||
return True # accept the change
|
return True # accept the change
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
#configure logging
|
#configure logging
|
||||||
|
@ -185,7 +185,7 @@ def main():
|
||||||
_v = lambda p, v: (str(round(v, 1)) + ' V')
|
_v = lambda p, v: (str(round(v, 1)) + ' V')
|
||||||
|
|
||||||
#start our main-service
|
#start our main-service
|
||||||
pvac_output = NodeRedMetergrid-meter(
|
pvac_output = NodeRedGridMeter(
|
||||||
servicename='com.victronenergy.grid',
|
servicename='com.victronenergy.grid',
|
||||||
deviceinstance=40,
|
deviceinstance=40,
|
||||||
paths={
|
paths={
|
||||||
|
|
Loading…
Reference in a new issue