Seite 2 von 4

Re: Smarthome /Smarthome 2.0 keine Verbrauchsanzeige mit SDM630/Elgris

Verfasst: Sa Jun 19, 2021 9:23 am
von Ihaglc
Hallo Det!

So war das von mir auch nicht gedacht.
Habe okaegi so verstanden, zunächst es bei mir auszutesten ,bevor es in der SW übernommen wird.
Da mir wohl die Berechtigungen fehlen, sdm630.py im Verzeicnis zu sehen und anzupassen, war mein alternativer Vorschlag, das mit einem angepassten Backup auszutesten.
So muß ich also mit dem Testen warten, bis okaegi, wie von Dir vorgeschlagen, die zusätzlichen Einstellungen für das SDM630Modul erweitert

Re: Smarthome /Smarthome 2.0 keine Verbrauchsanzeige mit SDM630/Elgris

Verfasst: Sa Jun 19, 2021 10:01 am
von derNeueDet
Hast du einen PC oder einen Mac?

Wenn PC, hast du 7zip?

VG
Det

Re: Smarthome /Smarthome 2.0 keine Verbrauchsanzeige mit SDM630/Elgris

Verfasst: Sa Jun 19, 2021 10:11 am
von Ihaglc
Yep,
PC und 7zip

Re: Smarthome /Smarthome 2.0 keine Verbrauchsanzeige mit SDM630/Elgris

Verfasst: Sa Jun 19, 2021 10:35 am
von derNeueDet
Dann mach mal ein Backup und kopiere die Backup Datei auch noch mal an eine andere Stelle.

Die .gz Datei öffnest Du in 7zip und gehtst auch in die .tar Datei rein.

Dann navigierst Du durch den Pfad an die Stelle

Code: Alles auswählen

\var\www\html\openWB\modules\smarthome\sdm630\
dort findest du die Datei

Code: Alles auswählen

sdm630.py
und editierst die Zeile 16

Code: Alles auswählen

client = ModbusTcpClient(seradd, port=8899)
zu

Code: Alles auswählen

client = ModbusTcpClient(seradd, port=502)
Speichern, 7zip brigt dann ein Fenster, dass die Datei modifiziert wurde und fragt, ob du die Datei im Archiv ändern willst. Da klickst Du OK.
Wenn Du 7zip dann schließt, kommt noch mal eine Abfrage, da die .tar Datei verändert wurde und ob du diese im Archiv ändern willst. Auch hier klickst Du OK.

Die Datei wird dann neu geschrieben. Damit ist Deine Datei angepasst.

Backup wieder herstellen wählen und die geänderte Datei angeben.

Alles ohne Gewähr, aber bei mir hat es so funktioniert.


davor

Code: Alles auswählen

pi@raspi4:/var/www/html/openWB/modules/smarthome/sdm630 $ head -20 sdm630.py
#!/usr/bin/python3
import sys
import os
import time
import getopt
import socket
import struct
import binascii
import json
devicenumber = str(sys.argv[1])
seradd = str(sys.argv[2])
sdmid = int(sys.argv[3])

from pymodbus.client.sync import ModbusTcpClient

client = ModbusTcpClient(seradd, port=8899)

#KWH Total Import
resp = client.read_input_registers(0x0156,2, unit=sdmid)
vwh = struct.unpack('>f',struct.pack('>HH',*resp.registers))

danach

Code: Alles auswählen

pi@raspi4:/var/www/html/openWB/modules/smarthome/sdm630 $ head -20 sdm630.py
#!/usr/bin/python3
import sys
import os
import time
import getopt
import socket
import struct
import binascii
import json
devicenumber = str(sys.argv[1])
seradd = str(sys.argv[2])
sdmid = int(sys.argv[3])

from pymodbus.client.sync import ModbusTcpClient

client = ModbusTcpClient(seradd, port=502)

#KWH Total Import
resp = client.read_input_registers(0x0156,2, unit=sdmid)
vwh = struct.unpack('>f',struct.pack('>HH',*resp.registers))
pi@raspi4:/var/www/html/openWB/modules/smarthome/sdm630 $

Re: Smarthome /Smarthome 2.0 keine Verbrauchsanzeige mit SDM630/Elgris

Verfasst: Sa Jun 19, 2021 11:23 am
von Ihaglc
Vielen Dank Det,
so sollte es auch gehen
melde mich wieder, wenn es neue Erkenntnisse gibt

Re: Smarthome /Smarthome 2.0 keine Verbrauchsanzeige mit SDM630/Elgris

Verfasst: Sa Jun 19, 2021 2:45 pm
von Ihaglc
Habe jetzt das SDM630 Modul auf Port 502 angepasst.

Der Port 8899 wird jetzt nicht mehr angemeckert, stattdessen hat er jetzt mit den attribut registers Probleme:

2021-06-19 16:33:52: Total Watt nichtabschaltbarer smarthomedevices: 0
2021-06-19 16:33:52: Total Watt abschaltbarer smarthomedevices: 0
2021-06-19 16:33:52: (1) Christel rel: 0 oncnt/time: 0/0 Status: 10 akt: 0 Z Hw: 0
AttributeError: 'ExceptionResponse' object has no attribute 'registers'
vwh = struct.unpack('>f',struct.pack('>HH',*resp.registers))
File "/var/www/html/openWB/modules/smarthome/sdm630/sdm630.py", line 20, in <module>
Traceback (most recent call last):
2021-06-19 16:33:51: (1) Leistungsmessung durch sdm630
2021-06-19 16:33:51: Speicher Entladung(-)/Ladung(+): 0 SpeicherSoC: 100
2021-06-19 16:33:51: Uberschuss: 3365 Uberschuss mit Offset: 3365
2021-06-19 16:33:51: EVU Bezug(-)/Einspeisung(+): 3365 max Speicherladung: 0
2021-06-19 16:33:46: Total Watt nichtabschaltbarer smarthomedevices: 0
2021-06-19 16:33:46: Total Watt abschaltbarer smarthomedevices: 0
2021-06-19 16:33:46: (1) Christel rel: 0 oncnt/time: 0/0 Status: 10 akt: 0 Z Hw: 0
AttributeError: 'ExceptionResponse' object has no attribute 'registers'
vwh = struct.unpack('>f',struct.pack('>HH',*resp.registers))
File "/var/www/html/openWB/modules/smarthome/sdm630/sdm630.py", line 20, in <module>
Traceback (most recent call last):
2021-06-19 16:33:46: (1) Leistungsmessung durch sdm630

werde ich dann wohl noch mal den Support fragen müssen?!

Re: Smarthome /Smarthome 2.0 keine Verbrauchsanzeige mit SDM630/Elgris

Verfasst: Sa Jun 19, 2021 2:53 pm
von derNeueDet
Dann ist der elgris wohl doch nicht so kompatibel wie gedacht.

Re: Smarthome /Smarthome 2.0 keine Verbrauchsanzeige mit SDM630/Elgris

Verfasst: So Jun 20, 2021 1:35 pm
von Ihaglc
Ich habe mit einem Modbus TCP Client mal die Speicherstellen im Vergleich zu dem SDM630 abgefragt. Zumindest werden diese Speicherstellen mit Werten belegt.
Kann es vielleicht sein, dass in der SDM630 Konfiguration noch eine Unterverbindung zu dem RTU/TCP Modul besteht, die für den Elgris nicht mehr benötigt wird und deshalb zum Fehler führt?

Schwierige Materie, für mich sehr komplex...

Re: Smarthome /Smarthome 2.0 keine Verbrauchsanzeige mit SDM630/Elgris

Verfasst: So Jun 20, 2021 1:56 pm
von okaegi
Also zeile 20 sieht im sdm630 so aus
resp = client.read_input_registers(0x0156,2, unit=sdmid)
vwh = struct.unpack('>f',struct.pack('>HH',*resp.registers))
vwh2 = float("%.3f" % vwh[0]) * int(1000)
Und das ist Feld 172 hier unten:
Grzss Oliver

Re: Smarthome /Smarthome 2.0 keine Verbrauchsanzeige mit SDM630/Elgris

Verfasst: So Jun 20, 2021 2:27 pm
von Ihaglc
Seid Ihr schnell mit den Antworten, super.

Also laut der SDM630 Speicherbelegung soll die Gesamtenergie in 30073 abgelegt sein und dort erhalte ich auch einen Wert.

Liege ich da falsch?