SENEC Modul

Anfragen zum Erstellen von Modulen, Fragen zu Modulen
cjungde
Beiträge: 121
Registriert: Mo Jan 27, 2020 9:48 pm

Re: SENEC Modul

Beitrag von cjungde »

Hallo Heinz-Jörg,

Ich verstehe Deine Frage so:
Du hast eine komplett eingerichtete OpenWB in der Garage, die das Senec Modul nicht installiert hat, aber auch nicht verändert werden soll.
Zusätzlich hast Du eine weitere OpenWB Installation auf Deiner Synology, in der Du das Modul installiert hast.

Die Frage ist nun vermutlich: Ist es OK, das Modul in zwei Systemen gleichzeitig laufen zu lassen, oder hat es einen Effekt auf eines der Systeme?

Du kannst das Senec Modul gleichzeitig auf beiden OpenWB Systemen installieren und betreiben. Sie werden fast 100% die gleichen Zahlen von der Senec holen. Warum nicht 100%: weil sie nicht in der gleichen Millisekunde die Werte abfragen. Für den Betrieb Deiner OpenWB in der Garage hat das aber keinen Effekt.

Damit Du das Modul auf der original OpenWB in der Garage installieren kannst, brauchst Du den root Zugriff (Dazu musst Du einen Haftungsauschluss bei der Firma OpenWB unterschreiben.)

Um ein PV geführtes Laden zu erzeugen musst Du auf einem der beiden Systeme beides gleichzeitig haben: Die Daten der Senec und die Steuerung der Wallbox in der Garage. Du hast also die Wahl, ob Du die OpenWA in der Garage zum 'Nur Ladepunkt' degradierst und Deine Installation auf der Synology steuert alles. Oder ob Du Deine OpenWB in der Garage um das Senec Modul erweiterst.

Einen der beiden Wege musst Du gehen, wenn Du die PV Daten und die Steuerung zusammen nutzen möchtest.

Viele Grüße
Christoph

Hefer hat geschrieben: So Mär 19, 2023 1:12 pm Das Modul Senec läuft alles gut auf einem eigenem System auf einer Synology Diskstation.

Habe in der Garage eine openWB Wallbox series 2 standard+ auf der soweit alles eingerichtet ist auch mit einem weiteren Ladepunkt go-e gemini.
Kann ich hier in der Box nun einfach den Verweis auf die standalone der Diskstation für die EVU, PV und Battetiewerte nehmen oder verfälscht das bei dem PV geführten laden?
Sollte ich mir die Wallbox in der Garage den root Zugriff freischalten und dann das Modul hier installieren oder sind dann die gleichen Werte vorhanden auch beim pv laden.

P.S. Die Box in der Garage soll nicht in den Modus *nur ladepunkte* gestellt werden
PV 22,3 kWp
Sigenergy 17kw WR
SigenStore 2x 8kWh
openWB series2 standard+
Auto: Zoe R110
Restliche Hausautomation: Home Assistant
cjungde
Beiträge: 121
Registriert: Mo Jan 27, 2020 9:48 pm

Re: SENEC Modul

Beitrag von cjungde »

Hi Schmatze,

freut mich wenn ich helfen konnte.
Die V2 wird zwar sehr aktiv entwickelt, aber sie ist noch nicht für den allgemeinen Betrieb geeignet. Daher würde ich Dir empfehlen noch zu warten.
Ich habe ein angepasstes Modul für die V2 erstellt, das Du hier finden kannst.

Viele Grüße
Christoph
Schmatze hat geschrieben: Sa Apr 01, 2023 8:37 am cjungde, vielen Dank für die ausführliche Beschreibung! Ohne diesen Startpunkt wäre ich wohl verzweifelt.

Noch eine Frage in die Runde, meine openWB läuft auf 1.9.295. Ist ein Upgrade auf V2 sinnvoll, insbesondere im Hinbick auf das Zusammenspiel vom SENEC.Home V3 und openWB?
PV 22,3 kWp
Sigenergy 17kw WR
SigenStore 2x 8kWh
openWB series2 standard+
Auto: Zoe R110
Restliche Hausautomation: Home Assistant
Hefer
Beiträge: 94
Registriert: So Nov 27, 2022 8:53 am

Re: SENEC Modul

Beitrag von Hefer »

Wo kann ich denn den neuen https Pfad eingeben der seit dem Softwareupdate gefordert wird? Habe heute mittag die neue Firmware bekommen und seitdem werden bei mir die Daten nicht mehr angezeigt.

Freundlicher Gruß
Heinz-Jörg
openWB Series 2+ custom mit 11kw, Addon Platine als LP1 und Steuerungsbox
openwb Series 2+ custom mit 11kw, Addon Platine als LP2 (Client)
Senec V3 Speicher
PV Anlage mit Süd und Westausrichtung
cjungde
Beiträge: 121
Registriert: Mo Jan 27, 2020 9:48 pm

Re: SENEC Modul

Beitrag von cjungde »

Hallo zusammen,

kurzer Zwischenstand:
SENEC hat auf HTTPS umgestellt und die Statistik Werte abgestellt.
Das hat zur Folge, dass die Speicherbeladung und der Hausverbrauch nicht mehr einfach ausgelesen werden kann.

Ich arbeite jetzt zuerst an einer Aktualisierung für die OpenWB V2 und versuche das dann auf die V1 zu migrieren.

Gruß
Christoph
PV 22,3 kWp
Sigenergy 17kw WR
SigenStore 2x 8kWh
openWB series2 standard+
Auto: Zoe R110
Restliche Hausautomation: Home Assistant
Hefer
Beiträge: 94
Registriert: So Nov 27, 2022 8:53 am

Re: SENEC Modul

Beitrag von Hefer »

Da das senec Modul momentan ja nicht funktioniert und dadurch irgendwie meine openwb Box nix mehr macht kann ich einfach die Ordner wieder löschen und dann ist quasi alles erstmal wieder gut? Habe schon probiert nur die Module zu deaktivieren aber trotzdem reagiert meine box nicht mehr.

Gibt es evtl irgendwo ein Image der 1.9er Version die ich auf eine sd Karte mache für ein "jungfreuliches" System?

Grüße
Heinz-Jörg
openWB Series 2+ custom mit 11kw, Addon Platine als LP1 und Steuerungsbox
openwb Series 2+ custom mit 11kw, Addon Platine als LP2 (Client)
Senec V3 Speicher
PV Anlage mit Süd und Westausrichtung
cjungde
Beiträge: 121
Registriert: Mo Jan 27, 2020 9:48 pm

Re: SENEC Modul

Beitrag von cjungde »

Hallo Heinz-Jörg,

Ja, Du kannst die Ordner löschen und in der crontab die Aufrufe entfernen.
Dann neu starten und die Konfiguration in der OpenWB ändern.

Die Https Verbindung und die Zertifikate sind schnell zu lösen, aber die fehlenden Statistikwerte sind mehr als unpraktisch.
Ich habe eine offenbar funktionierende Simulation für die V2, die ich gerade teste. Sie arbeitet mit der SIM Counter Funktion, die genau für solche Themen erfunden wurde.

Ob ich das auf die V1.9 zurückportieren kann, muss ich schauen. Ich vermute, da kommt mein Anfänger Python Wissen an seine Grenzen.

Es ist wirklich ärgerlich, das SENEC das jetzt geändert hat.
Viele Grüße
Christoph
PV 22,3 kWp
Sigenergy 17kw WR
SigenStore 2x 8kWh
openWB series2 standard+
Auto: Zoe R110
Restliche Hausautomation: Home Assistant
LadY
Beiträge: 7
Registriert: Sa Sep 02, 2023 2:44 pm

Re: SENEC Modul

Beitrag von LadY »

Hallo zusammen,
ich bin bislang eine stille Mitleserin und habe über diesen Weg auch unseren V3 Senec eingebunden. Ich nutze darüber das Speicher- und das PV-Modul (EVU geht bei uns über das openWB-Modul). Wir haben das https-Update noch nicht, aber ich hatte für den Fall überlegt, auf die Statistic-Werte ggfs auch verzichten zu können, wenn man in den entsprechenden Feldern der Modulkonfiguration „none“ (kleingeschrieben) eingibt. Bei mir wäre das bei Import Wh / Export Wh vom Speicher und Wechselrichter Wh bei PV. Für den Gesamt-Speicher-Import habe ich das vorab schon probiert, das klappt und führt auch zu plausiblen Werten, openWB rechnet dann wohl selbst, denke ich…
Im Code würde ich die Statistik-Aufrufe auskommentieren, die SSL-Bibliothek im Import reinnehmen, http in https ändern und an den urllib2.urlopen-Stellen ,context=ssl._create_unverified_context() ergänzen.
Könnte das funktionieren?
Viele Grüße und vielen Dank für die tollen Ideen/Unterstützungen hier im Forum
Yvonne
cjungde
Beiträge: 121
Registriert: Mo Jan 27, 2020 9:48 pm

Re: SENEC Modul

Beitrag von cjungde »

Hallo Yvonne,

willkommen im Forum und vielen Dank für Deine Anregungen.

Ich habe den code für die 1.9 analog zu Deinen Vorschlägen angepasst. Dann läuft die OpenWB V1 erstmal wieder. Aber eine Lösung für den Hausverbrauch geht dann erst über die sim.counter in den neuen modulen. Im Prinzip sind die Module der V2 auch in der V1 nutzbar, das muss man nur erstmal testen, weil der ganze Aufruf anders abläuft.

Code: Alles auswählen

#!/usr/bin/python

import struct
import json
import urllib2
import ssl
import time


ipaddress = "192.168.XXX.YYY"
debug = False


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

#ipaddress = str(sys.argv[1])


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

def writeVal(filePath,stringValue,multiplier,decimalpoints):

#Parameter
#filePath: 		Pfad und Dateiname in der ein Wert geschrieben wird
#stringValue: 	Wert der nach dem knonvertieren in die Datei geschrieben wird
#multiplier: 	Wert mit dem die Zahl vor der Rundung multipliziert wird
#decimalpoints:	Anzahl Kommastellen 
#
#Rueckgabe: nichts

    val= myDecode(stringValue)

	# Format anpassen
    if multiplier != 0:
        val = val * multiplier

    #auf 2 Ziffern runden
    if decimalpoints == 0:
        val = int(val)
    elif decimalpoints != 0:
        val = round(val,decimalpoints)

    if debug:
        print(filePath + ' ' + str(val))
    else:
        print(filePath + ' ' + str(val))
        f = open(filePath, 'w')
        f.write(str(val))
        f.close()

#EVU Daten
reqdata='{"PM1OBJ1":{"FREQ":"","U_AC":"","I_AC":"","P_AC":"","P_TOTAL":""}}'
response = urllib2.urlopen('https://'+ ipaddress +'/lala.cgi' ,data=reqdata, context=ctx)
jsondata = json.load(response)
#keine Werte gefunden
# echo $evupf1 > /var/www/html/openWB/ramdisk/evupf1
# echo $evupf2 > /var/www/html/openWB/ramdisk/evupf2
# echo $evupf3 > /var/www/html/openWB/ramdisk/evupf3

#SENEC: Gesamtleistung (W) Werte -3000  >> 3000
if not (jsondata['PM1OBJ1'] ['P_TOTAL'] is None):
    writeVal('/var/www/html/openWB/ramdisk/wattbezug_senec', jsondata['PM1OBJ1'] ['P_TOTAL'],0,0)

#SENEC: Frequenz(Hz) Werte 49.00 >> 50.00
if not (jsondata['PM1OBJ1'] ['FREQ'] is None):
    writeVal('/var/www/html/openWB/ramdisk/evuhz',jsondata['PM1OBJ1'] ['FREQ'],0,0)

#SENEC: Spannung (V) Werte 219.12 >> 223.43
if not (jsondata['PM1OBJ1'] ['U_AC'] [0] is None):
    writeVal('/var/www/html/openWB/ramdisk/evuv1', jsondata['PM1OBJ1'] ['U_AC'] [0],0,0)
if not (jsondata['PM1OBJ1'] ['U_AC'] [1] is None):
    writeVal('/var/www/html/openWB/ramdisk/evuv2', jsondata['PM1OBJ1'] ['U_AC'] [1],0,0)
if not (jsondata['PM1OBJ1'] ['U_AC'] [2] is None):
    writeVal('/var/www/html/openWB/ramdisk/evuv3', jsondata['PM1OBJ1'] ['U_AC'] [2],0,0)

#SENEC: Leistung (W) Werte -2345 >> 3000
if not (jsondata['PM1OBJ1'] ['P_AC'] [0] is None):
    writeVal('/var/www/html/openWB/ramdisk/bezugw1', jsondata['PM1OBJ1'] ['P_AC'] [0],0,0)
if not (jsondata['PM1OBJ1'] ['P_AC'] [1] is None):
    writeVal('/var/www/html/openWB/ramdisk/bezugw2', jsondata['PM1OBJ1'] ['P_AC'] [1],0,0)
if not (jsondata['PM1OBJ1'] ['P_AC'] [2] is None):
    writeVal('/var/www/html/openWB/ramdisk/bezugw3', jsondata['PM1OBJ1'] ['P_AC'] [2],0,0)

#SENEC: Strom (A) Werte 0 >> 1 
if not (jsondata['PM1OBJ1'] ['I_AC'] [0] is None):
    writeVal('/var/www/html/openWB/ramdisk/bezuga1_senec', jsondata['PM1OBJ1'] ['I_AC'] [0],0,0)
if not (jsondata['PM1OBJ1'] ['I_AC'] [1] is None):    
    writeVal('/var/www/html/openWB/ramdisk/bezuga2_senec', jsondata['PM1OBJ1'] ['I_AC'] [1],0,0)
if not (jsondata['PM1OBJ1'] ['I_AC'] [2] is None):    
    writeVal('/var/www/html/openWB/ramdisk/bezuga3_senec', jsondata['PM1OBJ1'] ['I_AC'] [2],0,0)

#Batteriedaten:
reqdata='{"ENERGY":{"GUI_BAT_DATA_FUEL_CHARGE":"","GUI_BAT_DATA_POWER":"","GUI_BAT_DATA_VOLTAGE":"","GUI_INVERTER_POWER":""}}'
response = urllib2.urlopen('https://'+ ipaddress +'/lala.cgi' ,data=reqdata, context=ctx)
jsondata = json.load(response)

#SENEC: Batterieleistung (W) Werte -345 (Entladen) >> 1200 (laden)
if not (jsondata['ENERGY'] ['GUI_BAT_DATA_POWER'] is None):
    writeVal('/var/www/html/openWB/ramdisk/speicherleistung_senec', jsondata['ENERGY'] ['GUI_BAT_DATA_POWER'],0,0)

#SENEC: Fuellmenge in Prozent Werte 10 >> 55 >> 100
if not (jsondata['ENERGY'] ['GUI_BAT_DATA_FUEL_CHARGE'] is None):
    writeVal('/var/www/html/openWB/ramdisk/speichersoc_senec', jsondata['ENERGY'] ['GUI_BAT_DATA_FUEL_CHARGE'],0,0)

#SENEC: Leistung Wechselrichter in (W) Werte 
if not (jsondata['ENERGY'] ['GUI_INVERTER_POWER'] is None):
    writeVal('/var/www/html/openWB/ramdisk/pvwatt_senec', jsondata['ENERGY'] ['GUI_INVERTER_POWER'],0,0)

PV 22,3 kWp
Sigenergy 17kw WR
SigenStore 2x 8kWh
openWB series2 standard+
Auto: Zoe R110
Restliche Hausautomation: Home Assistant
LadY
Beiträge: 7
Registriert: Sa Sep 02, 2023 2:44 pm

Re: SENEC Modul

Beitrag von LadY »

Hallo Christoph,
Vielen herzlichen Dank, dass du direkt den Code angepasst hast. Dann warte ich jetzt „entspannt“, bis wir mit dem Update an der Reihe sind…
Ich bin nicht sicher, ob der Hausverbrauch wirklich fehlen wird, auch wenn man kein eingebautes EVU-Kit hat:
In der http-Variante des EVU-Moduls gibt es auch die Möglichkeit, Wh Bezug und Wh Einspeisung auf none zu setzen, damit umgeht man LIVE_GRID_IMPORT und LIVE_GRID_EXPORT… und LIVE_HOUSE_CONS wurde eigentlich nur abgerufen, aber gar nicht in eine _senec Variable weggeschrieben…ich meine, mich zu erinnern, dass der Hausverbrauch als „Residualgröße“ sowieso immer berechnet wird…
Die Idee, die Module der V2 auf der V1 zum Laufen zu bringen, klingt spannend, ich hatte gar nicht auf dem Radar, dass das überhaupt gehen würde…
Viele Grüße
Yvonne
Hefer
Beiträge: 94
Registriert: So Nov 27, 2022 8:53 am

Re: SENEC Modul

Beitrag von Hefer »

Hallo Christoph

Das heißt wenn ich den Code einsetzte dann geht es erstmal wieder mit Senec bis das mir der Haus verbrauch nicht angezeigt wird wieder?
Dann könnte ich ja auch wieder pv laden machen und dann evtl die Anpassung von dir abwarten oder auf HomeAssist oder iobroker in Ruhe wechseln.

So ohne pv laden ist es "blöd" und dafür hatte ich mir die openwb geholt.

Grüße
Heinz-Jörg

P.S.: wie machte es denn das Programm Solectrus? Die haben doch auch eine Anpassung an die neue Firmware und können auch alle Daten anzeigen. Kenne mich leider nicht mit Programmierung so gut aus.
openWB Series 2+ custom mit 11kw, Addon Platine als LP1 und Steuerungsbox
openwb Series 2+ custom mit 11kw, Addon Platine als LP2 (Client)
Senec V3 Speicher
PV Anlage mit Süd und Westausrichtung
Antworten