Beiträge von nusso

    Hallo,

    ja alles funktioniert nach obiger Anpassung :thumbup:

    ich hab keinen Dunst was die Werte bedeuten.:) Hab keine weitere Doku (außer das pdf von #14).

    Falls das eine größere Programmanpassung nach sich zieht, dann verzichten wir einfach auf die vollständige Implementation aller Werte aus den Registern des SD230. - Mir reichen ohnehin die kWh, da ich damit nur ein gepimptes Balkonkraftwerk überwachen möchte.

    Grüße & Danke!

    Hallo,

    danke soweit hab den Abschnitt mal wie folgt angepasst:

    Spannung_L1= 1

    Strom_L1= 1

    Wirkleistung_L1= 1

    Scheinleistung_L1= 1

    Blindleistung_L1= 1

    Leistungsfaktor_L1= 1

    Phasenwinkel_L1= 1

    Frequenz= 1

    Import_Wh_seit_reset= 1

    Export_Wh_seit_reset= 1

    Import_VArh_seit_reset= 1

    Export_VArh_seit_reset= 1

    Gesamtwirkleistung= 1

    Max_Gesamtwirkleistung= 1

    CurrentSystemPositivePowerDemand=false

    MaximumSystemPositivePowerDemand=false

    CurrentSystemReversePowerDemand=false

    Strom_L1_demand=1

    Max_Strom_L1_demand=1

    Total_kwh = 1

    Total_kvarh = 1

    Zwei offene Punkte:

    1. Wie bekomme ich die Werte CurrentSystemPositivePowerDemand in die Aufzeichnung. Sobald ich das auf tue setze gibts eine Fehlermeldung

    AttributeError: type object 'Smartmeter' has no attribute 'currentsystempositivepowerdemand'

    2. Es fehlen noch einige Register gemäss der Doku (siehe Anlage)

    Falls ich nerve - sag Bescheid ;)

    So, Code bitte von GitHub aktualisieren, aber die Änderung aus Beitrag #6 wieder ausführen. Will jetzt nicht an zu vielen Stellen gleichzeitig ändern.

    Guten Morgen!

    Code aktualisiert. (Aus Github und Änderung in Beitrag oben)

    Gibt eine neue Fehlermeldung bzgl des Feldes Spannung_L2, das zwar im Datenbankschema angelegt ist, jedoch nicht in der SDM230 Definition (Logisch, ist ja nur ein einphasiger Zähler) - Hier die Fehlermeldung:

    pi@raspberry:~/smartmeter $ python3.7 smartmeter.py

    14.02.2020 07:15:46 ERROR: Schwerwiegender Fehler aufgetreten

    Traceback (most recent call last):

    File "smartmeter.py", line 218, in <module>

    main()

    File "smartmeter.py", line 195, in main

    messwerte = smartmeter.read_input_values(messauftrag)

    File "/home/pi/smartmeter/electric_meter.py", line 172, in read_input_values

    self.log.debug("try: key='{}', reg='{}', digits='{}'".format(key, self.input_register[key]["port"],

    KeyError: 'Spannung_L2'

    Traceback (most recent call last):

    File "smartmeter.py", line 218, in <module>

    main()

    File "smartmeter.py", line 195, in main

    messwerte = smartmeter.read_input_values(messauftrag)

    File "/home/pi/smartmeter/electric_meter.py", line 172, in read_input_values

    self.log.debug("try: key='{}', reg='{}', digits='{}'".format(key, self.input_register[key]["port"],

    KeyError: 'Spannung_L2'

    pi@raspberry:~/smartmeter $

    Grüße....

    DB sollte passen, aber die Klasse für den SDM230 passt nicht, habs mir gerade angeschaut.

    Gerne aber würde ich mit deiner Hilfe das ganze soweit funktionsfähig machen sofern du die Lust/Zeit hast mich dabei zu unterstützen. Wie gesagt, hatte ich selbst das Model SDM230 nie, und konnte somit mein Modul damit nie testen.

    Hallo, gerne sag einfach Bescheid welche Info Du benötigst.

    Danke für deine Hilfe! - Jetzt funktioniert es soweit, dass smartmeter.py Werte in die slqlite Datenbank ablegt.

    Das Kommunikationsproblem mit dem SDM230 ist also behoben. :thumbup:

    Allerdings erhalte ich nach ein paar Durchläufen eine Fehlermeldung:

    13.02.2020 13:33:06 INFO: Durchlaufdauer: 0:00:07.444858

    13.02.2020 13:33:15 INFO: Messdauer: 0:00:05.737898

    13.02.2020 13:33:15 INFO: Durchlaufdauer: 0:00:05.793293

    13.02.2020 13:33:26 INFO: Messdauer: 0:00:05.803286

    13.02.2020 13:33:26 ERROR: Schwerwiegender Fehler aufgetreten

    Traceback (most recent call last):

    File "/home/pi/.local/lib/python3.7/site-packages/peewee.py", line 2593, in _generate_insert

    raise KeyError

    KeyError

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):

    File "smartmeter.py", line 209, in <module>

    main()

    File "smartmeter.py", line 200, in main

    Wenn ich die von die vorgeschlagene Änderung

    smartmeter = electric_meter.SDM530…. in

    smartmeter = electric_meter.SDM230 druchführe kommt sofort eine Fehlermeldung


    pi@raspberry:~/smartmeter $ python3.7 smartmeter.py

    13.02.2020 13:42:15 ERROR: Schwerwiegender Fehler aufgetreten

    Traceback (most recent call last):

    File "smartmeter.py", line 209, in <module>

    main()

    File "smartmeter.py", line 186, in main

    messwerte = smartmeter.read_input_values(messauftrag)

    File "/home/pi/smartmeter/electric_meter.py", line 178, in read_input_values

    self.log.debug("try: key='{}', reg='{}', digits='{}'".format(key, self.input_register[key]["port"],

    KeyError: 'Spannung_L1'

    Traceback (most recent call last):

    File "smartmeter.py", line 209, in <module>

    main()

    File "smartmeter.py", line 186, in main

    messwerte = smartmeter.read_input_values(messauftrag)

    File "/home/pi/smartmeter/electric_meter.py", line 178, in read_input_values

    self.log.debug("try: key='{}', reg='{}', digits='{}'".format(key, self.input_register[key]["port"],

    KeyError: 'Spannung_L1'

    Ich denke mal, dass das Datenbankschema ebenfalls angepasst werden muss

    Danke nochmals für deine Unterstützung!

    Welche Pythonversion verwendest du?

    Danke - Sorry - Anfängerfehler. Es war 3.5 installiert (jetzt 3.7.2)

    Bekomme jetzt Kommunikationsfehler.

    12.02.2020 17:06:36 ERROR: Kommunikationserror Nr. 1

    12.02.2020 17:06:37 ERROR: Kommunikationserror Nr. 2

    12.02.2020 17:06:37 ERROR: Kommunikationserror Nr. 3

    12.02.2020 17:06:38 ERROR: Kommunikationserror Nr. 4

    12.02.2020 17:06:38 ERROR: Kommunikationserror Nr. 5

    12.02.2020 17:06:39 ERROR: Kommunikationserror Nr. 6

    12.02.2020 17:06:39 ERROR: Schwerwiegender Fehler aufgetreten

    Traceback (most recent call last):

    File "/home/pi/smartmeter/electric_meter.py", line 393, in read_input_values

    numberOfRegisters=self.input_register[key]["digits"])

    File "/usr/local/lib/python3.7/site-packages/minimalmodbus.py", line 392, in read_float

    return self._genericCommand(functioncode, registeraddress, numberOfRegisters=numberOfRegisters, payloadformat='float')

    Verkabelung und Leitungseinstellungen habe ich gecheckt

    Muss ich irgendwo in der config noch eintragen, dass ich das SDM230 und nicht das 530 verwende?

    Ausgelagert aus Stromzähler mit Raspberry Pi und ModBus auslesen


    Hallo,

    danke zunächst einmal für das Projekt.

    Stecke nach Installation und Anpassung der Konfigurationsdatei leider bei einem Syntax Fehler fest:

    File "./smartmeter.py", line 94

    self.headers = {f"Authorization": "{user} {token}".format(user=CONFIG["db"]["postgrest"]["user"],

    ^

    SyntaxError: invalid syntax

    Wahrscheinlich ein Anfängerproblem. Hoffe, dass mir jemand weiterhelfen kann.

    Vielen Dank vorab schon für die Hinweise/Unterstützung.