diff --git a/README.md b/README.md index 5868590..ab94fb0 100644 --- a/README.md +++ b/README.md @@ -76,6 +76,7 @@ Within the project there is a file `/data/dbus-shelly-1pm-pvinverter/config.ini` | DEFAULT | CustomName | Name shown in Remote Console (e.g. name of pv inverter) | | DEFAULT | Phase | Valid values L1, L2 or L3: represents the phase where pv inverter is feeding in | | DEFAULT | Position | Valid values 0, 1 or 2: represents where the inverter is connected (0=AC input 1; 1=AC output; 2=AC input 2) | +| DEFAULT | RefreshRate | Valid values are above 250: Refresh rate for timer in ms | | ONPREMISE | Host | IP or hostname of on-premise Shelly 3EM web-interface | | ONPREMISE | Username | Username for htaccess login - leave blank if no username/password required | | ONPREMISE | Password | Password for htaccess login - leave blank if no username/password required | diff --git a/config.ini b/config.ini index a3f958c..21a9446 100644 --- a/config.ini +++ b/config.ini @@ -5,6 +5,7 @@ Deviceinstance=41 CustomName=SUN-2000_GTIL Phase=L3 Position=1 +RefreshRate=2000 [ONPREMISE] Host=192.168.178.146 diff --git a/dbus-shelly-1pm-pvinverter.py b/dbus-shelly-1pm-pvinverter.py index 5e2b181..c5bfe91 100755 --- a/dbus-shelly-1pm-pvinverter.py +++ b/dbus-shelly-1pm-pvinverter.py @@ -61,7 +61,11 @@ def __init__(self, servicename, paths, productname='Shelly 1PM', connection='She self._lastUpdate = 0 # add _update function 'timer' - gobject.timeout_add(250, self._update) # pause 250ms before the next request + refreshRate = int(config['DEFAULT']['RefreshRate']) + MIN_REFRESH_RATE = 250 + if not refreshRate or refreshRate < MIN_REFRESH_RATE: + refreshRate = MIN_REFRESH_RATE + gobject.timeout_add(refreshRate, self._update) # pause at least 250ms before the next request # add _signOfLife 'timer' to get feedback in log every 5minutes gobject.timeout_add(self._getSignOfLifeInterval()*60*1000, self._signOfLife)