mr-manuel / venus-os_dbus-mqtt-pv

This Venus OS driver gets the data from MQTT and displays it as pv inverter.
MIT License
61 stars 13 forks source link

PV Inverter wird nicht im VRM Portal angezeigt #16

Closed fl0wb0b closed 1 year ago

fl0wb0b commented 1 year ago

Hallo ich habe Position=0 in der config ausgewählt, jedoch wird er nicht angezeigt. FW= 3.11 vrm rmconsole

stelle ich die Position auf 1, wird im Portal falsch gerechnet. pos1vrm

fl0wb0b commented 1 year ago

ich habe den Debug angemacht und schaue in die logs:

2023-10-26 13:31:59.625522500 DEBUG:root:|- L1: 543.0 W - 230.4 V - 2.6 A 2023-10-26 13:31:59.626687500 DEBUG:root:|- L2: 544.0 W - 230.6 V - 2.6 A 2023-10-26 13:31:59.627680500 DEBUG:root:|- L3: 541.0 W - 230.0 V - 2.6 A 2023-10-26 13:31:59.806383500 DEBUG:root:_get_value_handler called for / 2023-10-26 13:31:59.810540500 DEBUG:root:{'Mgmt/ProcessName': dbus.String('/data/etc/dbus-mqtt-pv/dbus-mqtt-pv.py', variant_level=1), 'Mgmt/ProcessVersion': dbus.String('Unkown version, and running on Python 3.8.14', variant_level=1), 'Mgmt/Connection': dbus.String('MQTT PV service', variant_level=1), 'DeviceInstance': dbus.Int32(51, variant_level=1), 'ProductId': dbus.Int32(65535, variant_level=1), 'ProductName': dbus.String('MQTT PV', variant_level=1), 'CustomName': dbus.String('SMA STP X 12', variant_level=1), 'FirmwareVersion': dbus.String('0.1.3 (20230522)', variant_level=1), 'Connected': dbus.Int32(1, variant_level=1), 'Latency': dbus.Array([], signature=dbus.Signature('i'), variant_level=1), 'ErrorCode': dbus.Int32(0, variant_level=1), 'Position': dbus.Int32(0, variant_level=1), 'StatusCode': dbus.Int32(0, variant_level=1), 'Ac/Power': dbus.Double(1627.0, variant_level=1), 'Ac/Current': dbus.Double(7.72, variant_level=1), 'Ac/Voltage': dbus.Double(230.0, variant_level=1), 'Ac/Energy/Forward': dbus.Double(27.77, variant_level=1), 'Ac/L1/Power': dbus.Double(543.0, variant_level=1), 'Ac/L1/Current': dbus.Double(2.56, variant_level=1), 'Ac/L1/Voltage': dbus.Double(230.44, variant_level=1), 'Ac/L1/Frequency': dbus.Array([], signature=dbus.Signature('i'), variant_level=1), 'Ac/L1/Energy/Forward': dbus.Int32(0, variant_level=1), 'Ac/MaxPower': dbus.Int32(12000, variant_level=1), 'Ac/Position': dbus.Int32(0, variant_level=1), 'Ac/StatusCode': dbus.Int32(0, variant_level=1), 'UpdateIndex': dbus.Int32(223, variant_level=1), 'Ac/L2/Power': dbus.Double(544.0, variant_level=1), 'Ac/L2/Current': dbus.Double(2.59, variant_level=1), 'Ac/L2/Voltage': dbus.Double(230.64, variant_level=1), 'Ac/L2/Frequency': dbus.Array([], signature=dbus.Signature('i'), variant_level=1), 'Ac/L2/Energy/Forward': dbus.Int32(0, variant_level=1), 'Ac/L3/Power': dbus.Double(541.0, variant_level=1), 'Ac/L3/Current': dbus.Double(2.58, variant_level=1), 'Ac/L3/Voltage': dbus.Double(230.04, variant_level=1), 'Ac/L3/Frequency': dbus.Array([], signature=dbus.Signature('i'), variant_level=1), 'Ac/L3/Energy/Forward': dbus.Int32(0, variant_level=1)} 2023-10-26 13:32:00.619336500 DEBUG:root:PV: 1625.0 W - 230.0 V - 7.7 A 2023-10-26 13:32:00.627354500 DEBUG:root:|- L1: 542.0 W - 230.6 V - 2.6 A 2023-10-26 13:32:00.629118500 DEBUG:root:|- L2: 543.0 W - 230.7 V - 2.6 A 2023-10-26 13:32:00.642521500 DEBUG:root:|- L3: 541.0 W - 230.3 V - 2.6 A 2023-10-26 13:32:01.616628500 DEBUG:root:PV: 1628.0 W - 230.0 V - 7.7 A 2023-10-26 13:32:01.627785500 DEBUG:root:|- L1: 543.0 W - 230.6 V - 2.6 A 2023-10-26 13:32:01.629097500 DEBUG:root:|- L2: 543.0 W - 230.6 V - 2.6 A 2023-10-26 13:32:01.630072500 DEBUG:root:|- L3: 541.0 W - 230.3 V - 2.6 A 2023-10-26 13:32:02.626272500 DEBUG:root:PV: 1631.0 W - 230.0 V - 7.7 A 2023-10-26 13:32:02.627336500 DEBUG:root:|- L1: 544.0 W - 230.6 V - 2.6 A 2023-10-26 13:32:02.628342500 DEBUG:root:|- L2: 544.0 W - 230.5 V - 2.6 A 2023-10-26 13:32:02.629383500 DEBUG:root:|- L3: 542.0 W - 230.2 V - 2.6 A 2023-10-26 13:32:03.627972500 DEBUG:root:PV: 1632.0 W - 230.0 V - 7.7 A 2023-10-26 13:32:03.629147500 DEBUG:root:|- L1: 545.0 W - 230.5 V - 2.6 A 2023-10-26 13:32:03.632419500 DEBUG:root:|- L2: 545.0 W - 230.4 V - 2.6 A

Kann mir jemand helfen? :-S

mr-manuel commented 1 year ago

How is your system build?

fl0wb0b commented 1 year ago

Raspberry Pi Venus OS 3.11 EM540 as gridmeter no Multiplus or Quattro SMA Modbus -> NodeRed -> MQTT (local)

Which version of Venus OS are you using?

mr-manuel commented 1 year ago

Can you please describe more in detail how your system looks like?

  1. Which devices are you using (make, model, voltage, power)?
  2. How is your system cabled?
  3. Are you using one or three phase system? Where is the PV Inverter connected to (should be covered from 2.)?

The PV Inverter (I assume 230 V, since you wrote in german) won't work if you have no other 230 V component in the system.

Could it be that you only have a 230 V third party PV inverter and want to monitor it with Victron?

fl0wb0b commented 1 year ago

I have installed the EM540 near my power connection. There is only one SMA Tripower X 12, which has three phases L1-L3. This is of course located behind the gridmeter. At first I wanted to connect the inverter to the Raspberry Pi via Modbus, but no inverter is detected. Thereupon I built a flow in Node Red. The data is output at the end as follows: {"pv":{"power":526,"voltage":230,"current":3.502,"energy_forward":30.68,"L1":{"power":177,"voltage":230.11,"current":1.162},"L2":{"power":174,"voltage":229.26,"current":1.165},"L3":{"power":175,"voltage":230.95,"current":1.176}}} image

config:

; CONFIG FILE ; GitHub reporitory: https://github.com/mr-manuel/venus-os_dbus-mqtt-pv ; remove semicolon ; to enable desired setting

[DEFAULT] ; Set logging level ; ERROR = shows errors only ; WARNING = shows ERROR and warnings ; INFO = shows WARNING and running functions ; DEBUG = shows INFO and data/values ; default: WARNING logging = DEBUG

; Device name ; default: MQTT PV device_name = SMA-STP-X-12

; Device VRM instance ; default: 51 device_instance = 51

; Specify after how many seconds the driver should exit (disconnect), if no new MQTT message was received ; default: 60 ; value to disable timeout: 0 timeout = 60

; used when no voltage is received voltage = 230

[PV] ; Max rated power (in Watts) of the inverter max = 12000 ; position (connected input/output) of the PV inverter ; 0 = AC input 1 (select this if you don't have a MultiPlus or Quattro) ; 1 = AC output ; 2 = AC input 2 position = 0

[MQTT] ; IP addess or FQDN from MQTT server broker_address = localhost

; Port of the MQTT server ; default plaintext: 1883 ; default TLS port: 8883 broker_port = 1883

; Enables TLS ; 0 = Disabled ; 1 = Enabled ;tls_enabled = 1

; Absolute path to the Certificate Authority certificate file that is to be treated as trusted by this client ;tls_path_to_ca = /data/keys/mosquitto.crt

; Disables verification of the server hostname in the server certificate ; 0 = Disabled ; 1 = Enabled ;tls_insecure = 1

; Username used for connection ;username = myuser

; Password used for connection ;password = mypassword

; Topic where the pv data as JSON string is published ; minimum required JSON payload: {"pv": { "power": 0.0 } } topic = sma

Service are running: root@raspberrypi2:/data/etc/dbus-mqtt-pv# svstat /service/dbus-mqtt-pv /service/dbus-mqtt-pv: up (pid 10849) 45150 seconds

fl0wb0b commented 1 year ago

image image

The inverter is only not displayed in the dashboard (overview), everything else seems to work

fl0wb0b commented 1 year ago

I could not find the problem but you wrote a great multiplus emlulator that I installed. Now the PV inverter is also displayed on ACIN. For me the problem is solved. thanks! image

mr-manuel commented 1 year ago

The system will not display the PV Inverter without a MutliPlus or Quattro. Exactly therefore I write the MutliPlus Emulator ;)