SENEC Modul

Anfragen zum Erstellen von Modulen, Fragen zu Modulen
matzeeg3
Beiträge: 40
Registriert: Fr Mai 07, 2021 6:33 am

Re: SENEC Modul

Beitrag von matzeeg3 »

Ist die Weboberfläche des Senec bei dir Erreichbar?
TorstenFranz
Beiträge: 60
Registriert: Do Sep 03, 2020 12:24 pm

Re: SENEC Modul

Beitrag von TorstenFranz »

matzeeg3 hat geschrieben: Mi Nov 29, 2023 3:39 pm Ist die Weboberfläche des Senec bei dir Erreichbar?
Ja der Speicher ist über mein-senec genauso wie über die IP erreichbar - vom Browser aus.

Auffällig war, dass ich seit ca. 1 Woche die Shellys nicht mehr schalten konnte. Dazu habe ich aber im Forum gelesen, dass dies bei anderen auch so sei und das dies mit dem nächsten Update wieder gehen soll.
Weis nicht ob das zusammenhängen kann.

LG
Torsten
matzeeg3
Beiträge: 40
Registriert: Fr Mai 07, 2021 6:33 am

Re: SENEC Modul

Beitrag von matzeeg3 »

Also meine Anfragen laufe die ganze Zeit 1a. Ohne Probleme. Ist der Speicher vom Pi aus erreichbar?
newbe2020
Beiträge: 67
Registriert: Mi Jul 01, 2020 6:49 am

Re: SENEC Modul

Beitrag von newbe2020 »

Hallo Senec Gemeinde,

ich nutze OpenWB 1.9.301 und frage meinen Senec V3 mit dem altbekannten senec.py script von Seite 1 dieses Threads ab. Nun kommt es seit Monaten immer wieder mal zu Kommunikationsstörungen (NPU Fehler) des Senec. Während dieser Zeit, und das kann durchaus auch mal eine Stunde dauern, hängt sich OpenWB auf und keinerlei Regelung findet statt.
Nun meine Frage: Ließe sich dieses Verhalten evtl. irgendwie durch eine Weiterentwicklung im senec.py abfangen?

Viele Grüße
Newbe2020
cjungde
Beiträge: 121
Registriert: Mo Jan 27, 2020 9:48 pm

Re: SENEC Modul

Beitrag von cjungde »

Hallo Newbe2020,

ich habe meine OpenWB auch immer noch auf der 1.9 und nutze mein script.
Und ich habe auch die NPU Fehler, dabei scheint sich die SENEC Batterie für eine Zeit lang offline zu schalten.

Sie kommt dann selbst wieder online und alles läuft bei mir wie zuvor.
Weil die NPU Fehler aus dem Batterie Management System kommen, sehe ich jetzt keine Möglichkeit das im Script auf der OpenWB irgendwie abzufangen.

Da ich eine SENEC 2.1 habe, bekomme ich sie in diesem Jahr noch ausgetauscht und hoffe, dass ich dann wieder ein stabil laufendes System habe (ich bin übrigens Optimist :roll: )
PV 22,3 kWp
Sigenergy 17kw WR
SigenStore 2x 8kWh
openWB series2 standard+
Auto: Zoe R110
Restliche Hausautomation: Home Assistant
newbe2020
Beiträge: 67
Registriert: Mi Jul 01, 2020 6:49 am

Re: SENEC Modul

Beitrag von newbe2020 »

Hallo cjungde,

mein Speicher hat bis auf diese NPU Fehler keine Probleme, daher bekomme ich auch (leider) keine neuen LFP Akku module :-(
Ich dachte irgendwie an eine Art Timeout in dem senec.py. Vielleicht ist es möglich eine Art ping and den Senec zu schicken bevor die Abfrage der Werte startet. Sollte der ping Innerhalb einiger Sekunden nicht zurückkommen wird das Senec.py abgebrochen und im nächsten Durchlauf wieder versucht.
Keine Ahnung ob das eine Möglichkeit wäre.

Viele Grüße
Newbe2020
cjungde
Beiträge: 121
Registriert: Mo Jan 27, 2020 9:48 pm

Re: SENEC Modul

Beitrag von cjungde »

Hi Newbe2020,

(offtopic: Du bekommst zwar die V3 Hardware nicht ausgetauscht, aber neue LFP Module solltest Du trotzdem bekommen, wenn ich es richtig verstanden habe. https://senec.com/de/aktuelle-informationen# Schau mal unter 'Was steckt hinter dem LFP-Austausch?' )

Welchen Effekt hat der NPU Fehler bei Dir in der OpenWB?
In meinem Fall sehe ich eine Unterbrechung des Ladens der Batterie und die SOC Linie geht in dieser Zeit auf 0 zurück. Sobald die Batterie sich wieder meldet, geht die Linie wieder auf dem Wert weiter, auf dem er vor dem Fehler war.

Ich verstehe den NPU Fehler als Batteriecheck, der bei mir täglich zu laufen scheint. Ich könnte es auch nicht ändern.
PV 22,3 kWp
Sigenergy 17kw WR
SigenStore 2x 8kWh
openWB series2 standard+
Auto: Zoe R110
Restliche Hausautomation: Home Assistant
newbe2020
Beiträge: 67
Registriert: Mi Jul 01, 2020 6:49 am

Re: SENEC Modul

Beitrag von newbe2020 »

hi,

es bekommen wohl nur "betroffene Kunden" (betroffen vom eingeschränkten Betrieb) LFP Austausch Akkus.

Zum Thema: Während der NPU Fehler im Senec Log file auftaucht reagiert der Speicher auf keinerlei Anfragen, selbst die interne Weboberfläche reagiert nicht mehr.
Sobald ein NPU Fehler auftrifft hängen die Graphen in OpenWB, selbst die Uhrzeit aktualisiert sich nicht mehr. Sämtliche Ladepunkte verändern ihren Status nicht mehr bis der Senec sich wieder eingefangen hat :-(
Vermutlich hängt das senec.py script ebenso in diesem Zeitraum und legt OpenWB damit vorübergehend lahm.

Im Gegensatz zum Batteriecheck, während dessen ist alles normal zu erreichen nur der Akku lädt oder entlädt in dieser Zeit nicht.

hier mal ein Auszug von heute eines längeren NPU Fehlers
*******
2024-04-21 07:36:21 [I|BAT Interface] ID 0x00AB power loss mean(5s)/max(5s) :2.7002/4.3465, mean(2min)/max(2min): 2.6440/2.6847, mean(5min)/max(5min): 2.5935/2.6080
2024-04-21 07:39:24 [E|NPU] Communication error!
2024-04-21 07:39:26 [I|NPU] NPU: Resuming normal operation
2024-04-21 07:39:30 [I|NPU] Communication established
2024-04-21 07:40:01 [E|NPU] Communication error!
2024-04-21 07:40:07 [I|NPU] NPU: Resuming normal operation
2024-04-21 07:40:07 [E|NPU] Communication error!
2024-04-21 07:40:19 [I|NPU] NPU: Resuming normal operation
2024-04-21 07:40:32 [I|Energy Management] State: Laden -> NPU-Fehler
2024-04-21 07:40:37 [I|NPU] Communication established
2024-04-21 07:41:07 [I|Energy Management] State: NPU-Fehler -> Laden
2024-04-21 07:42:45 [E|NPU] Communication error!
2024-04-21 07:42:47 [I|NPU] NPU: Resuming normal operation
2024-04-21 07:42:47 [E|NPU] Communication error!
2024-04-21 07:42:48 [I|NPU] NPU: Resuming normal operation
2024-04-21 07:43:00 [I|NPU] Communication established
2024-04-21 07:53:08 [I|BAT Interface] Battery temp: 20.00 to 24.00 °C, case temp: 31.99 °C
2024-04-21 07:53:08 [I|PV Interface] Protocol: 0xa0, No external inverter. INV_LV:[1179.9W] Total production: 1179.9W current feed-in limit: 100.00 %
2024-04-21 07:56:22 [I|BAT Interface] ID 0x00AB power loss mean(5s)/max(5s) :0.7093/5.3164, mean(2min)/max(2min): 1.6384/2.7757, mean(5min)/max(5min): 0.9228/2.7069
2024-04-21 08:03:11 [E|NPU] Communication error!
2024-04-21 08:03:12 [I|NPU] NPU: Resuming normal operation
2024-04-21 08:03:39 [I|NPU] Communication established
2024-04-21 08:16:24 [I|BAT Interface] ID 0x00AB power loss mean(5s)/max(5s) :0.6425/3.4816, mean(2min)/max(2min): 0.4359/2.0344, mean(5min)/max(5min): 1.0214/1.3725
2024-04-21 08:23:08 [I|BAT Interface] Battery temp: 21.00 to 25.00 °C, case temp: 32.17 °C
2024-04-21 08:23:08 [I|PV Interface] Protocol: 0xa0, No external inverter. INV_LV:[1495.9W] Total production: 1495.9W current feed-in limit: 100.00 %
2024-04-21 08:30:22 [E|NPU] Communication error!
2024-04-21 08:30:36 [I|NPU] NPU: Resuming normal operation
2024-04-21 08:30:40 [I|NPU] Communication established
2024-04-21 08:35:36 [E|NPU] Communication error!
2024-04-21 08:35:45 [I|NPU] NPU: Resuming normal operation
2024-04-21 08:35:53 [E|NPU] Communication error!
2024-04-21 08:35:55 [I|NPU] NPU: Resuming normal operation
2024-04-21 08:36:07 [I|Energy Management] State: Laden -> NPU-Fehler
2024-04-21 08:36:24 [I|NPU] Communication established
2024-04-21 08:36:55 [I|Energy Management] State: NPU-Fehler -> Laden
2024-04-21 08:36:57 [I|BAT Interface] ID 0x00AB power loss mean(5s)/max(5s) :2.8194/3.4035, mean(2min)/max(2min): 2.7888/2.8978, mean(5min)/max(5min): 2.8269/2.8269
2024-04-21 08:37:45 [E|NPU] Communication error!
2024-04-21 08:38:15 [I|Energy Management] State: Laden -> NPU-Fehler
2024-04-21 08:43:26 [I|BMZ] Module #A (SN: 0) [Balancing][Cellvoltage]: [ ][3772] [ ][3767] [ ][3766] [ ][3767] [ ][3767] [ ][3774] [ ][3775] [ ][3782] [ ][3775] [ ][3773] [ ][3772] [ ][3773] [ ][3773] [ ][3777] SoC: 54% Current: 11.91A Module-Limits: 12.00A/-24.00A Temp: 23-26C Voltage: 52.813V System-Limits: 11.44A/-24.00A
2024-04-21 08:43:26 [I|BMZ] Module #B (SN: 0) [Balancing][Cellvoltage]: [ ][3768] [ ][3763] [ ][3764] [ ][3763] [ ][3762] [ ][3769] [ ][3773] [ ][3781] [ ][3768] [ ][3772] [ ][3770] [ ][3768] [ ][3771] [ ][3772] SoC: 47% Current: 11.96A Module-Limits: 12.00A/-24.00A Temp: 23-27C Voltage: 52.764V System-Limits: 11.44A/-24.00A
2024-04-21 08:43:26 [I|BMZ] Module #C (SN: 0) [Balancing][Cellvoltage]: [ ][3773] [ ][3768] [ ][3768] [ ][3768] [ ][3768] [ ][3775] [ ][3777] [ ][3783] [ ][3774] [ ][3776] [ ][3777] [ ][3774] [ ][3775] [ ][3778] SoC: 54% Current: 10.48A Module-Limits: 12.00A/-24.00A Temp: 23-26C Voltage: 52.834V System-Limits: 11.44A/-24.00A
2024-04-21 08:46:30 [I|NPU] Switched off
2024-04-21 08:47:06 [I|NPU] Correctly started
2024-04-21 08:47:07 [I|NPU] Communication established
**********

Daher die Idee des Timeouts.

Viele Grüße
matzeeg3
Beiträge: 40
Registriert: Fr Mai 07, 2021 6:33 am

Re: SENEC Modul

Beitrag von matzeeg3 »

Mal ganz blöd gefragt den Speicher aus geschaltet komplett stromlos bissel warten und wieder starten schon mal gemacht? Hatte das npu Problem auch mal aber der Vorgang hat mein Problem gelöst
newbe2020
Beiträge: 67
Registriert: Mi Jul 01, 2020 6:49 am

Re: SENEC Modul

Beitrag von newbe2020 »

Ich hatte den Speicher bisher nur mal per Knopf geregelt runtergefahren und wieder gestartet. Ganz stromlos hab ich ihn noch nicht gemacht. Komischerweise waren die NPU Fehler aber auch mal längere Zeit (Wochen) ganz verschwunden, kamen dann aber wieder :-(
Aber ich werde dein Tipp mal befolgen.

Wäre dennoch ganz nett wenn OpenWB nicht einfriert nur weil der Speicher mal wieder irgendein Problemchen hat. Überschuss erfasse ich direkt am Stromzähler daher könnte auch ohne Speicher weiter geregelt werden.

Nach einer Unterhaltung mit chatgpt wurde mich folgendes zur Erweiterung des Scripts vorgeschlagen. Wäre das ein gangbarer Weg? Sorry ich kann nicht scripten.
Immerhin gibt das geänderte Script die Werte zurück sofern der Speicher reagiert, den Fall indem der Speicher eben nicht reagiert muss ich prüfen wenn es mal wieder zu einem NPU Fehler kommt.

Code: Alles auswählen

#!/usr/bin/python

import struct
import json
import urllib2
import ssl
import time
import socket

ipaddress = "192.168.188.28"
debug = False


ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE

def check_connection(ip):
    try:
        # Verbindung zur IP-Adresse herstellen
        socket.create_connection((ip, 443), timeout=2)
        return True
    except socket.timeout:
        print("Timeout bei Verbindung zum Senec")
        return False

# Pruefen, ob die IP-Adresse erreichbar ist
if not check_connection(ipaddress):
    print("Die IP-Adresse {} ist nicht erreichbar.".format(ipaddress))
    exit()
..dann folgt der restliche Code aus dem Script

Code: Alles auswählen

def myDecode(stringValue):
# Parameter: 
# stringValue:	String Wert, im Format Typ_Wert 
# 
# Rueckgabe:
# result: 		Floatzahl
    splitValue = stringValue.split('_')

    if splitValue[0] == 'fl':
        #Hex >> Float
        result = struct.unpack('f',struct.pack('I',int('0x'+splitValue[1],0)))[0]
    elif splitValue[0] == 'u3': 
        pass #TBD
    elif splitValue[0] == 'u8':
        pass #TBD
    
    return result
...
..
.
Viele Grüße
Antworten