Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Vraag


  • br0ken
  • Registratie: november 2017
  • Laatst online: 28-05-2018
Hallo,

ik heb recentelijk een energy meter van sma aangeschaft.

Nu live data uitlezen lukt wel met behulp van volgende tool:

https://github.com/datenschuft/SMA-EM

Maar een fout treedt op als je onderstaand script laat lopen
quote:
....
import sys, time
from daemon3x import daemon3x
from configparser import SafeConfigParser
import smaem

#read configuration
parser = SafeConfigParser()
parser.read('/etc/smaemd/config')

smaemserials=parser.get('SMA-EM', 'serials')
serials=smaemserials.split(' ')
smavalues=parser.get('SMA-EM', 'values')
values=smavalues.split(' ')
pidfile=parser.get('DAEMON', 'pidfile')

class MyDaemon(daemon3x):
def run(self):
emparts = {}
while True:
emparts=smaem.readem()
for serial in serials:
#print(serial)
#print(emparts['serial'])
if serial==format(emparts['serial']):
#print("match")
for value in values:
file = open("/run/shm/em-"+format(serial)+"-"+format(value), "w")
file.write('%.4f' % emparts[value])
file.close()

if __name__ == "__main__":
daemon = MyDaemon(pidfile)
if len(sys.argv) == 2:
if 'start' == sys.argv[1]:
daemon.start()
elif 'stop' == sys.argv[1]:
daemon.stop()
elif 'restart' == sys.argv[1]:
daemon.restart()
else:
print ("Unknown command")
sys.exit(2)
sys.exit(0)
else:
print ("usage: %s start|stop|restart" % sys.argv[0])
print (pidfile)
sys.exit(2)
hieronder de config file in kwestie
quote:
[SMA-EM]

*serials of sma-ems the daemon should take notice
*seperated by space
serials=1900254500
*measurement values
values=pregard psurplus qsurplus ssurplus

[DAEMON]
pidfile=/run/smaemd.pid
en hier de fout in kwestie:
quote:
/home/SMA-EM $ sudo python3 sma-daemon.py
Traceback (most recent call last):
File "/usr/local/lib/python3.5/configparser.py", line 1136, in _unify_values
sectiondict = self._sections[section]
KeyError: 'SMA-EM'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "sma-daemon.py", line 30, in <module>
smaemserials=parser.get('SMA-EM', 'serials')
File "/usr/local/lib/python3.5/configparser.py", line 779, in get
d = self._unify_values(section, vars)
File "/usr/local/lib/python3.5/configparser.py", line 1139, in _unify_values
raise NoSectionError(section)
configparser.NoSectionError: No section: 'SMA-EM'
heb het python script uitgevoerd als v3 en gewone versie, geen van beiden werkt, nu ken ik niet zo heel veel van python, en loop ik dus op bovenstaande fout

Heeft er iemand enig idee hoe ik dit oplos ?

heb er zelf een issue van gemaakt bij de maker zelf, maar die helpt ook niet echt verder lijkt me ...

https://github.com/datenschuft/SMA-EM/issues/9


alvast bedankt, het kan misschien een hulp bieden voor andere eigenaars om iets dergelijk op te zetten, maar dan moet het natuurlijk wel werken

br0ken wijzigde deze reactie 29-11-2017 19:02 (36%)

Alle reacties


  • AUijtdehaag
  • Registratie: oktober 2006
  • Niet online
Ik vind dit wel interessant, maar ik weet het ook niet....(ook te weinig ervaring)
Maar welke Energiemeter versie heb je van SMA?

PV Output - Panasonic Hit Kuro/Solar Frontier - 5 kW Mitsubsidie


  • br0ken
  • Registratie: november 2017
  • Laatst online: 28-05-2018
De eerste. Met name de 10 ipv de 20 (welke enkel een andere webinterface zou hebben)

  • br0ken
  • Registratie: november 2017
  • Laatst online: 28-05-2018
heb het werkende gekregen, blijkbaar was mijn config file niet in UTF-8

hiervoor gezorgd via volgend commando:

iconv -f UTF-8 config -o /dev/null


Apple iPhone 11 Microsoft Xbox Series X LG OLED C9 Google Pixel 4 CES 2020 Samsung Galaxy S20 Sony PlayStation 5 Nintendo Switch Lite

'14 '15 '16 '17 2018

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2020 Hosting door True