TeslaSolarCharger - PV-Überschussladen mit beliebiger Wallbox (Teil 1)

Genau so ist es in der App aktiver. Das hatte ich schon gemacht, als ich Solaranzeige.de installiert hatte. Gerade wieder ein Aussetzer, soll heißen es zeigt alles rot an. Wollte gerade Überschuss laden starten, was dabei natürlich nicht funktioniert…

Ich finde einfach das Problem nicht. Wenn ich nicht darauf vertrauen kann, dann muss ich immer Mal rein schauen, sonst zieht mir das Auto den Hausakku leer.

Gestern noch den dongle und den Modbus auf den aktuellen Stand gebracht.
Modbus 330
Dongle auf V2 107.

Dachte es bringt dann Besserung… Leider nein.

Was sagt zum Fehlerzeitpunkt das Log vom Modbus Plugin?

Aktuell kommt eine Fehlermeldung, wenn ich das aktuelle log ziehen will:

docker logs teslasolarcharger_modbusplugin > teslasolarcharger_modbusplugin.log
error from daemon in stream: Error grabbing logs: invalid character ‚l‘ after object key:value pair

Jedoch ist der Übergang von „funktioniert“ zu „wirft Fehler aus“ sehr gut im bestehenden Log zu finden:

09:34:44.249 VRB Plugins.Modbus.Services.ModbusClient] SemaphoreSlim released…
[09:34:57.732 VRB Plugins.Modbus.Services.ModbusService] ReadValue<System.Int32>(1, 37113, 2, 192.168.2.33, 502, 1, 10, HoldingRegister)
[09:34:57.733 VRB Plugins.Modbus.Services.ModbusService] ReadValue(1, 37113, 2, 192.168.2.33, 502, 1, 10, HoldingRegister)
[09:34:57.733 VRB Plugins.Modbus.Services.ModbusService] GetModbusClient(192.168.2.33, 502)
[09:34:57.734 VRB Plugins.Modbus.Services.ModbusService] GetKeyString(192.168.2.33, 502)
[09:34:57.735 DBG Plugins.Modbus.Services.ModbusService] Use exising modbusClient
[09:34:57.735 VRB Plugins.Modbus.Services.ModbusClient] GetByteArray(1, 37113, 2, 192.168.2.33, 502, 1, 10, HoldingRegister)
[09:34:57.735 VRB Plugins.Modbus.Services.ModbusClient] GetRegisterValue(1, 37113, 2, 192.168.2.33, 502, 1, 10, HoldingRegister)
[09:34:57.736 VRB Plugins.Modbus.Services.ModbusClient] Reading Holding Register…
[09:35:07.738 ERR Plugins.Modbus.Services.ModbusClient] Could not get register value.
System.IO.IOException: Unable to read data from the transport connection: Connection timed out.
—> System.Net.Sockets.SocketException (110): Connection timed out
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 count)
— End of inner exception stack trace —
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at FluentModbus.ModbusTcpClient.TransceiveFrame(Byte unitIdentifier, ModbusFunctionCode functionCode, Action1 extendFrame) in /home/runner/work/FluentModbus/FluentModbus/src/FluentModbus/Client/ModbusTcpClient.cs:line 257 at FluentModbus.ModbusClient.ReadHoldingRegisters(Byte unitIdentifier, UInt16 startingAddress, UInt16 quantity) in /home/runner/work/FluentModbus/FluentModbus/src/FluentModbus/Client/ModbusClient.cs:line 158 at Plugins.Modbus.Services.ModbusClient.GetRegisterValue(Byte unitIdentifier, UInt16 startingAddress, UInt16 quantity, String ipAddressString, Int32 port, Int32 connectDelay, Int32 timeout, ModbusRegisterType modbusRegisterType) in /src/Plugins.Modbus/Services/ModbusClient.cs:line 97 [09:35:07.738 DBG Plugins.Modbus.Services.ModbusClient] Disconnecting Modbus Client... [09:35:07.738 DBG Plugins.Modbus.Services.ModbusClient] Modbus Client disconnected. [09:35:07.739 VRB Plugins.Modbus.Services.ModbusClient] Releasing semaphoreSlim... [09:35:07.739 VRB Plugins.Modbus.Services.ModbusClient] SemaphoreSlim released... [09:35:07.739 ERR Plugins.Modbus.Services.ModbusService] Could not get byte array. Dispose modbus client System.IO.IOException: Unable to read data from the transport connection: Connection timed out. ---> System.Net.Sockets.SocketException (110): Connection timed out at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 count) --- End of inner exception stack trace --- at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 count) at FluentModbus.ModbusTcpClient.TransceiveFrame(Byte unitIdentifier, ModbusFunctionCode functionCode, Action1 extendFrame) in /home/runner/work/FluentModbus/FluentModbus/src/FluentModbus/Client/ModbusTcpClient.cs:line 257
at FluentModbus.ModbusClient.ReadHoldingRegisters(Byte unitIdentifier, UInt16 startingAddress, UInt16 quantity) in /home/runner/work/FluentModbus/FluentModbus/src/FluentModbus/Client/ModbusClient.cs:line 158
at Plugins.Modbus.Services.ModbusClient.GetRegisterValue(Byte unitIdentifier, UInt16 startingAddress, UInt16 quantity, String ipAddressString, Int32 port, Int32 connectDelay, Int32 timeout, ModbusRegisterType modbusRegisterType) in /src/Plugins.Modbus/Services/ModbusClient.cs:line 97
at Plugins.Modbus.Services.ModbusClient.GetByteArray(Byte unitIdentifier, UInt16 startingAddress, UInt16 quantity, String ipAddressString, Int32 port, Int32 connectDelay, Int32 timeout, ModbusRegisterType modbusRegisterType, Boolean registerSwap) in /src/Plugins.Modbus/Services/ModbusClient.cs:line 35
at Plugins.Modbus.Services.ModbusService.GetByteArray(Byte unitIdentifier, UInt16 startingAddress, UInt16 quantity, String ipAddressString, Int32 port, Int32 connectDelay, Int32 timeout, ModbusRegisterType modbusRegisterType, Boolean registerSwap) in /src/Plugins.Modbus/Services/ModbusService.cs:line 95
[09:35:07.740 VRB Plugins.Modbus.Services.ModbusService] GetKeyString(192.168.2.33, 502)
[09:35:07.743 ERR Microsoft.AspNetCore.Server.Kestrel] Connection id „0HMSL3P5RLQ63“, Request id „0HMSL3P5RLQ63:00000001“: An unhandled exception was thrown by the application.
System.IO.IOException: Unable to read data from the transport connection: Connection timed out.

wie deine Dongle ans Netzwerk angeschlossen? LAN oder WLAN? Könnte Home Network Problem sein?

Der Dogle ist per WLAN angebunden, Kabel bis zum Router kann ich leider nicht ziehen. Würde sogar das noch testen… 10m WLAN Kabel würde glaube ich für eine lose Verlegung reichen… :wink:
Bist du per LAN angebunden?

bei mir ist per LAN angeschlossen, probiere Mal LAN wenn es geht))

und woran liegt, dass das ich keine Logs mehr ziehen kann? Das normale Log vom Teslasolarcharger geht auch nicht, gleich Fehlermeldung.

docker logs teslasolarcharger > teslasolarcharger.log
error from daemon in stream: Error grabbing logs: invalid character ‚l‘ after object key:value pair

da muss du Mane123 fragen.

1 „Gefällt mir“

Danke für den Hinweis!
Ich bin vom Raspberry auf Windows, weil Docker meinen Raspberry überfordert hatte…

Werde es wie von dir beschrieben probieren und wenn es nicht klappt nen zweiten Raspberry anschaffen.

Danke @Mane123 , mit dem Tipp bin ich jetzt einen Schritt weiter!
Docker liefert keine Fehlermeldungen mehr und die exe ist aktiv, scheint aber keine richtigen Daten zu erhalten - siehe Screenshot.

Hast du noch einen Tipp oder sollte ich besser auf einen Raspberry Pi wechseln? O_o"

@crtr
Jetzt hast du vermutlich noch ein Problem in deinem Netzwerk, da würde ein Raspi aber auch nicht helfen. Füge im Sunny Portal die IP Adresse deines PCs an der Stelle hinzu:

Dann ganz unten:

Vermutlich steht bei dir dar gar keine IP Adresse drin. Und falls du eine 70% Abregelung hast, musst du auch die IP Adresse deines Wechselrichters hinzufügen. Im Log vom SMA Plugin sollte dann einmal Pro Sekunde ein Überschuss und Bezugswert zu sehen sein.

1 „Gefällt mir“

Ist eher ein Docker, als TSC Problem und kann ich nichts dazu sagen. Hier habe ich mit Google einen Thread gefunden, da sind ein paar Lösungen drin, z.B. logs löschen unter /var/lib/docker/containers/**/*json.log

Oder mit --tail=10 nur die letzten x Zeilen des Logs abrufen.

Vielen Dank, das hat geholfen. :+1:

Hallo!

Ich habe ein Problem, das ich die überschüssige Leistung der PV-Anlage nicht bekomme (Grid Power is not available)

Ich habe einen SHM 2.0 und hab auch das Plugin installiert und in der Base Configuration eingetragen (http://192.168.178.95:7192/api/CurrentPower/GetPower).

Aber ich habe das gesamte System ja nie zum SHM 2.0 verbunden. ich hab da keine Login-Daten oder ähnliches angegeben. Kann mir also gar nicht vorstellen, wie er sich da verbinden „könnte“.

Wie stelle ich die Verbindung zum SHM 2.0 her???

Die Installation sieht so aus und funktioniert auch (Autos da, Limits setzen möglich, Grafana funktioniert, Loggiong klaptt, …)bis auf die GridPower.

192.168.178.95 ist mein Rechner, auf dem Docker läuft.

version: '3.3'

services:
  teslamate:
    image: teslamate/teslamate:latest
    restart: always
    environment:
      - DATABASE_USER=teslamate
      - DATABASE_PASS=entfernt
      - DATABASE_NAME=teslamate
      - DATABASE_HOST=database
      - MQTT_HOST=mosquitto
      - ENCRYPTION_KEY=entfernt
      - TZ=Europe/Berlin ##You can change your Timezone here
    ports:
      - 4000:4000
    volumes:
      - ./import:/opt/app/import
    cap_drop:
      - all

  database:
    image: postgres:13
    restart: always
    environment:
      - POSTGRES_USER=teslamate
      - POSTGRES_PASSWORD=entfernt
      - POSTGRES_DB=teslamate
    volumes:
      - teslamate-db:/var/lib/postgresql/data

  grafana:
    image: teslamate/grafana:latest
    restart: always
    environment:
      - DATABASE_USER=teslamate
      - DATABASE_PASS=entfernt
      - DATABASE_NAME=teslamate
      - DATABASE_HOST=database
    ports:
      - 3100:3000
    volumes:
      - teslamate-grafana-data:/var/lib/grafana

  mosquitto:
    image: eclipse-mosquitto:2
    restart: always
    command: mosquitto -c /mosquitto-no-auth.conf
    #ports:
    #  - 1883:1883
    volumes:
      - mosquitto-conf:/mosquitto/config
      - mosquitto-data:/mosquitto/data

  teslamateapi:
    image: tobiasehlert/teslamateapi:latest
    logging:
        driver: "json-file"
        options:
            max-file: "5"
            max-size: "10m"
    restart: always
    depends_on:
      - database
    environment:
      - DATABASE_USER=teslamate
      - DATABASE_PASS=entfernt
      - DATABASE_NAME=teslamate
      - DATABASE_HOST=database
      - MQTT_HOST=mosquitto
      - TZ=Europe/Berlin ##You can change your Timezone here
      - ENABLE_COMMANDS=true
      - COMMANDS_ALL=true
      - API_TOKEN_DISABLE=true
      - ENCRYPTION_KEY=entfernt
    #ports:
    #  - 8080:8080
      
  teslasolarcharger:
    image: pkuehnel/teslasolarcharger:latest
    container_name: teslasolarcharger
    logging:
        driver: "json-file"
        options:
            max-file: "10"
            max-size: "100m"
    restart: always
    depends_on:
      - teslamateapi
    environment:
#      - Serilog__MinimumLevel__Default=Verbose #uncomment this line and recreate container with docker-compose up -d for more detailed logs
      - TZ=Europe/Berlin ##You can change your Timezone here
    ports:
      - 7190:80
    volumes:
      - teslasolarcharger-configs:/app/configs
  
  smaplugin:
    image: pkuehnel/teslasolarchargersmaplugin:latest
    container_name: teslasolarcharger_smaplugin
    logging:
        driver: "json-file"
        options:
            max-file: "5"
            max-size: "10m"
    restart: always
    network_mode: host
    environment:
      - ASPNETCORE_URLS=http://192.168.178.95:7192

volumes:
  teslamate-db:
  teslamate-grafana-data:
  mosquitto-conf:
  mosquitto-data:
  teslasolarcharger-configs:

der Homemanager sendet Multicast , so sieht es bei mir aus , Achtung , es gibt Switches die keine Multicast durchlassen , mußte ich selbst feststellen

smaplugin:
image: pkuehnel/teslasolarchargersmaplugin:latest
container_name: teslasolarcharger_smaplugin
logging:
driver: „json-file“
options:
max-file: „5“
max-size: „10m“
restart: always
network_mode: host
environment:
- ASPNETCORE_URLS=http://+:7192

2023-08-06 18:21:12 [16:21:12.499 VRB Plugins.SmaEnergymeter.Services.EnergyMeterService] StartLogging()
2023-08-06 18:21:12 [16:21:12.511 DBG Plugins.SmaEnergymeter.Services.EnergyMeterService] Use energymeterport 9522
2023-08-06 18:21:12 [16:21:12.514 DBG Plugins.SmaEnergymeter.Services.EnergyMeterService] Use IP Address 239.12.255.254
2023-08-06 18:21:12 [16:21:12.515 DBG Plugins.SmaEnergymeter.Services.EnergyMeterService] Parsed Ip Adress: 239.12.255.254
2023-08-06 18:21:12 [16:21:12.515 DBG Plugins.SmaEnergymeter.Services.EnergyMeterService] Joining Multicast group
2023-08-06 18:21:12 [16:21:12.531 INF Microsoft.Hosting.Lifetime] Now listening on: http://[::]:7192
2023-08-06 18:21:12 [16:21:12.531 INF Microsoft.Hosting.Lifetime] Application started. Press Ctrl+C to shut down.
2023-08-06 18:21:12 [16:21:12.531 INF Microsoft.Hosting.Lifetime] Hosting environment: Production
2023-08-06 18:21:12 [16:21:12.531 INF Microsoft.Hosting.Lifetime] Content root path: /app
2023-08-06 18:21:12 [16:21:12.549 VRB Plugins.SmaEnergymeter.Services.EnergyMeterService] Waiting for new values

Funktioniert irgendwie nicht.

Kann es an der IP Address 239.12.255.254 liegen? Der SHM hat tatsächlich 192.168.178.49 in meinem Netzwerk. Aber ich kann das nicht einstellen.

Das ist die Fehlermeldung im Tesla Solar Charger:

Grid Power is not available
Possible solutions:
If you do not use solar values set grid source to none.
Are all settings related to grid power (url, extraction patterns, headers,...) correct?
Are there any firewall related issues preventing reading the grid power value?

Das ist die Multicast Adresse

Hier steht auch nochmal das was ich schon erwähnt hatte Betreff switches
https://manuals.sma.de/HM-20/de-DE/7288798347.html

ruf mal die URL die Du unter base configuration eingegeben hast auf , da muß dann der Wert des Homemanagers kommen , bei mir gerade -326W

image

P.S. ich hatte zu Beginn einen einfachen Switch der nur IGMPv2 konnte :frowning: TP-link Geraffel

Die Website ist nicht erreichbar
192.168.178.95 hat die Verbindung abgelehnt.

Das kommt da…

Sieht so aus, als würde das pluguin gar nicht laufen.

mit docker ps , kannst Du schauen welche container laufen