FHEM Forum

FHEM - Anwendungen => Solaranlagen => Thema gestartet von: cjung am 12 Januar 2020, 13:33:37

Titel: lokale Anbindung SENEC Batterie an FHEM
Beitrag von: cjung am 12 Januar 2020, 13:33:37
Ich habe mich jetzt durch die Doku von HTTPMod gearbeitet und meinen Batteriespeicher lokal ausgelesen.
Der wichtigste Wert ist für mich PV1_POWER_RATIO, der in der normalen SENEC Oberfläche 'PV-Begrenzung' genannt ist. Da meine Einspeisung auf max 70 % limitiert ist, möchte ich beim Erreichen des Limits weitere Verbraucher einschalten um neben der Batterie auch noch z.B. die Wasch- oder Spülmaschine einzuschalten.

Mit der folgenden Konfiguration bekomme ich jetzt den Wert der PV-Begrenzung und die aktuelle Produktion ins FHEM:
define SENEC HTTPMOD http://192.168.178.123/lala.cgi 30
attr SENEC enableControlSet 1
attr SENEC reading01JSON PV1_POWER_RATIO
attr SENEC reading01Name PV-Begrenzung
attr SENEC reading01OExpr {hex( (split ('_',$val,0 ))[1] )}
attr SENEC reading02JSON ENERGY_GUI_INVERTER_POWER
attr SENEC reading02Name PV-Erzeugung
attr SENEC reading02OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading03JSON ENERGY_GUI_BAT_DATA_FUEL_CHARGE
attr SENEC reading03Name AKKU-Beladung
attr SENEC reading03OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading04JSON ENERGY_GUI_BAT_DATA_POWER
attr SENEC reading04Name AKKU-Entnahme
attr SENEC reading04OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading05JSON ENERGY_GUI_HOUSE_POW
attr SENEC reading05Name Haus-Stromverbrauch
attr SENEC reading05OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading06JSON PM1OBJ1_P_TOTAL
attr SENEC reading06Name Netz-Einspeisung
attr SENEC reading06OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC requestData {"PV1":{"POWER_RATIO":""},"ENERGY":{"GUI_HOUSE_POW":"","GUI_INVERTER_POWER":"","GUI_BAT_DATA_POWER":"","GUI_BAT_DATA_FUEL_CHARGE":"","STAT_STATE":""},"PM1OBJ1":{"P_TOTAL":""}}

Anmerkung: Wenn keine PV-Begrenzung aktiv ist, ist der Wert 100, wenn sie aktiv ist, geht der Wert in Schritten auf max 70 runter.
In meinem Fall gibt es einen ABB Zweirichtungszähler vor dem - leider nicht auslesbaren - Zähler des Versorgers (ECHELON Zähler), der per ModBus an der Batterie angeschlossen ist, um die tatsächliche Einspeisung zur ermitteln. Zusätzlich ist ein Fronius Wechselrichter per IP angeschlossen, den ich auch per HTTPMOD auslesen kann.

Besonderen Dank an die Diskussion zur HEX Umrechnung im Thread Thread (https://forum.fhem.de/index.php?topic=54022.0) sonst hätte ich nie verstanden, dass die beiden Werte unterschiedlich umzurechnen sind. Weitere Anregungen habe ich mir aus OpenHAB (https://github.com/openhab/openhab-addons/pull/6076/files/beb76810d86b3773ee0fb4d0a1d01d79a7e3ad72) geholt

Es gibt noch eine größere Menge anderer Werte, aber leider scheint es keinen kumulierten Zähler zur Tageseinspeisung oder Produktion zu geben.
Senec bietet auf Mein-Senec ein Portal mit den kumulierten Daten an. Evtl. versuche ich die Daten dort auszulesen.

Wie haben andere das gelöst ?


Änderung27.01.: Ich habe weitere Felder aufgenommen und die Werte auf zwei Stellen hinter dem Komma erweitert.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Nielsiwilsi am 17 Januar 2020, 13:27:35
Super, Danke für deine Mühen. Den Speicher auslesen steht bei mir auf der ToDo Liste, allerdings hatte ich noch nicht die Zeit, das anzugehen.
Ich werde deinen Code heute Abend mal bei mir testen.
Habe ein ganz ähnliches Setup wie du, aber einen Wechselrichter von SolarEdge, den ich soweit ich weiß nicht auslesen kann. Es gibt aber ein Modul, dass die Web-API abfragt.

VG
Niels
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: ritter_runkel am 22 Januar 2020, 08:12:02
Guten Morgen,
ich habe auch einen Senec-Speicher und bin leicht gefrustet, das Senec trotz mehrfacher Nachfragen nicht willens scheint einen Zugang zu DEREN Daten aus MEINEM System bereit zu stellen.

Ich habe mit Freude Deinen Ansatz gelesen und versucht ihn für meine Zwecke anzupassen.
ACHTUNG - keine Ahnung von Programmierung - eher mutiges Reengineering ;-)

Ich habe versucht Deine Variablen ("ENERGY_GUI_INVERTER_POWER", "PV1_POWER_RATIO") einfach durch die für mich interessanten Werte
Batterieleistung(W) --> ENERGYGUI_BAT_DATA_POWER. (auf der gleichen Webpage)
Akkuentnahme --> GuiDataOverViewPowerBatteryDischarge (auf der Statusseite)
Akkubeladung --> GuiDataOverViewPowerBatteryCharge (auf der Statusseite)
zu ersetzen.

Ich bekomme es mit dieser Methode allerdings nicht mal hin, dass die Readings im Device entsprechend angelegt werden.

Habt Ihr einen Ansatz wie ich an diese Daten komme?
Grüße aus Leipzig!
Erik
Das Device sieht dann so aus:
defmod SENEC HTTPMOD http://192.168.100.68/lala.cgi 30
attr SENEC userattr reading01JSON reading01Name reading01OExpr reading02JSON reading02Name reading02OExpr reading03JSON reading03Name reading03OExpr requestData
attr SENEC enableControlSet 1
attr SENEC reading01JSON GuiDataOverViewPowerBatteryDischarge
attr SENEC reading01Name Akkuentnahme
attr SENEC reading01OExpr {sprintf("%.0f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading02JSON ENERGYGUI_BAT_DATA_POWER
attr SENEC reading02Name Batterieleistung
attr SENEC reading02OExpr {sprintf("%.0f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading03JSON GuiDataOverViewPowerBatteryCharge
attr SENEC reading03Name Akkubeladung
attr SENEC reading03OExpr {sprintf("%.0f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC requestData {"Akkuentnahme":{"GuiDataOverViewPowerBatteryDischarge":""},"Batterieleistung":{"ENERGYGUI_BAT_DATA_POWER":""},"Akkubeladung":{"GuiDataOverViewPowerBatteryCharge":""}}

bzw:
Internals:
   BUSY       0
   CFGFN     
   CHANGED   
   DEF        http://192.168.100.68/lala.cgi 30
   FUUID      5e276be5-f33f-47a1-1ca1-06dfbfa4a53d9ebe
   Interval   30
   JSONEnabled 1
   LASTSEND   1579676919.78724
   MainURL    http://192.168.100.68/lala.cgi
   ModuleVersion 3.5.21 - 27.12.2019
   NAME       SENEC
   NOTIFYDEV  global
   NR         18660
   NTFY_ORDER 50-SENEC
   STATE      ???
   TRIGGERTIME 1579676949.78585
   TRIGGERTIME_FMT 2020-01-22 08:09:09
   TYPE       HTTPMOD
   addr       http://192.168.100.68:80
   auth       0
   code       200
   compress   1
   conn       
   data       {"Akkuentnahme":{"GuiDataOverViewPowerBatteryDischarge":""},"Batterieleistung":{"ENERGYGUI_BAT_DATA_POWER":""},"Akkubeladung":{"GuiDataOverViewPowerBatteryCharge":""}}
   displayurl http://192.168.100.68/lala.cgi
   header     
   host       192.168.100.68
   httpheader HTTP/1.0 200 OK
Content-Type: application/json; charset=utf-8
   httpversion 1.0
   hu_blocking 0
   hu_filecount 59
   hu_port    80
   hu_portSfx
   ignoreredirects 0
   loglevel   4
   path       /lala.cgi
   protocol   http
   redirects  0
   timeout    2
   url        http://192.168.100.68/lala.cgi
   value      0
   QUEUE:
   READINGS:
     2020-01-22 08:08:36   PV-Begrenzung   100
   REQUEST:
     data       {"Akkuentnahme":{"GuiDataOverViewPowerBatteryDischarge":""},"Batterieleistung":{"ENERGYGUI_BAT_DATA_POWER":""},"Akkubeladung":{"GuiDataOverViewPowerBatteryCharge":""}}
     header     
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://192.168.100.68/lala.cgi
     value      0
   defptr:
     readingBase:
       PV-Begrenzung reading
     readingNum:
       PV-Begrenzung 01
     readingOutdated:
     requestReadings:
       update:
         PV-Begrenzung reading 01
   sslargs:
Attributes:
   enableControlSet 1
   reading01JSON GuiDataOverViewPowerBatteryDischarge
   reading01Name Akkuentnahme
   reading01OExpr {sprintf("%.0f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
   reading02JSON ENERGYGUI_BAT_DATA_POWER
   reading02Name Batterieleistung
   reading02OExpr {sprintf("%.0f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
   reading03JSON GuiDataOverViewPowerBatteryCharge
   reading03Name Akkubeladung
   reading03OExpr {sprintf("%.0f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
   requestData {"Akkuentnahme":{"GuiDataOverViewPowerBatteryDischarge":""},"Batterieleistung":{"ENERGYGUI_BAT_DATA_POWER":""},"Akkubeladung":{"GuiDataOverViewPowerBatteryCharge":""}}
   userattr   reading01JSON reading01Name reading01OExpr reading02JSON reading02Name reading02OExpr reading03JSON reading03Name reading03OExpr requestData


Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: cjung am 22 Januar 2020, 23:23:26
Hallo ritter_runkel

Im Code der Seite ist Batterieleistung(W)  und Akkuentnahme der gleiche abgefragte Wert. Die Batterieleistung wird dabei als float umgerechnet und in W angezeigt, die Akkuentnahme wird auf positive Ganzzahl abgeschnitten und in kW angezeigt. Bei mir ist gerade Nacht und der Akku ist fast leer: BatterieLeistung ist -1.44 und Akkuentnahme ist 0

Ob ich die Floatzahl aber richtig umrechne, kann ich noch nicht sagen. Aber es kommen valide Werte raus.

Als erstes musst Du die richtigen Werte abfragen:
attr SENEC requestData {"PV1":{"POWER_RATIO":""},"ENERGY":{"GUI_INVERTER_POWER":"","GUI_BAT_DATA_POWER":"","GUI_BAT_DATA_FUEL_CHARGE":""}}
Dann die Werte extrahieren und umrechnen:
attr SENEC reading03JSON ENERGY_GUI_BAT_DATA_FUEL_CHARGE
attr SENEC reading03Name AKKU-Beladung
attr SENEC reading03OExpr {sprintf("%.0f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading04JSON ENERGY_GUI_BAT_DATA_POWER
attr SENEC reading04Name AKKU-Entnahme
attr SENEC reading04OExpr {sprintf("%.0f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: ritter_runkel am 23 Januar 2020, 22:23:51
Erstmal lieben Dank für die Unterstützung!
es ist wieder dunkel - und da ist 0 in jeder Codierung 0 ;)

Ich schaue mir das morgen live mal an.

Den Code verstanden - im Sinne "ich kann ihn erweitern/verändern" - habe ich noch nicht. Dazu müsste ich die Website besser verstehen.
Aber das schaffe ich für meine Zwecke noch.

Grüße aus Leipzig
//Erik
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: cjung am 27 Januar 2020, 23:34:35
Ich habe den Code im ersten Beitrag erweitert.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Manylion am 14 März 2020, 20:08:02
Danke! Das klappt auch bei mir einwandfrei, auf Anhieb.
Sehr schön.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: cjung am 24 März 2020, 21:34:26
Ich habe noch etwas weiter getestet und hier noch die Statistikwerte gefunden:
Bitte beim Verwenden noch die IP Adresse anpassen.

defmod SENEC HTTPMOD http://192.168.XXX.XXX/lala.cgi 3600
attr SENEC enableControlSet 1
attr SENEC event-on-change-reading .*
attr SENEC reading01JSON PV1_POWER_RATIO
attr SENEC reading01Name PV-Begrenzung
attr SENEC reading01OExpr {hex( (split ('_',$val,0 ))[1] )}
attr SENEC reading02JSON STATISTIC_STAT_GRID_EXPORT
attr SENEC reading02Name Stat_Netzeinspeisung
attr SENEC reading02OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading03JSON STATISTIC_STAT_GRID_IMPORT
attr SENEC reading03Name Stat_Netzbezug
attr SENEC reading03OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading04JSON STATISTIC_STAT_HOUSE_CONSUMPTION
attr SENEC reading04Name Stat_Hausverbrauch
attr SENEC reading04OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading05JSON STATISTIC_STAT_PV_GENERATION
attr SENEC reading05Name Stat_PV_Erzeugung
attr SENEC reading05OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC requestData {"PV1":{"POWER_RATIO":""},"STATISTIC": {"STAT_GRID_EXPORT":"","STAT_GRID_IMPORT":"","STAT_HOUSE_CONSUMPTION":"","STAT_PV_GENERATION":""}}
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Vize am 28 März 2020, 17:51:39
Mahlzeit,

was genau bringen einem diese "Statistikwerte" bzw. was sollen die darstellen?
Ich habe mir die Werte mal angeschaut und finde keinen Bezug zu irgendwas.

VG
Andreas
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: cjung am 28 März 2020, 18:11:53
Hallo Andreas,

erstmal vielen Dank für Deine ganze Vorarbeit. Du hast die Übung offensichtlich ca. 1 Jahr vor mir gemacht und ich konnte in vielen Foren von Deinen Posts lernen. Danke dafür !!

Ich nutze die Statistikwerte um von meinen Zähler (EVU) Werte ins FHEM zu bekommen und damit ein Reporting für diese Werte im Jahresverlauf zu ermöglichen. Da ich schon den Erdgaszähler in FHEM habe, passt mir das gut.
Für die Steuerung in der www.openwb.de habe ich dort ein eigenes Pythonmodul geschrieben, das direkt EVU und Speicher ausließt. Daher brauche ich die dafür relevanten Werte nicht in FHEM.
Leider scheint SENEC allergisch auf Integrationen zu reagieren, daher wird es wohl nie in den openwb Standard kommen.

In meinem Setup zuhause ist der EinFluRi Zähler über Modbus am SENEC Speicher angeschlossen. Da ich in den Modbus mangels Wissen nicht hineinkomme, lese ich die Werte nun aus der Senec aus. Das ist für mich einfacher.

Als Antwort auf Deine Frage: Die Statistikwerte ermöglichen mir eine Summenbetrachtung am Zähler vor dem Netzbetreiber, der blöderweise ein Echelon ist und sich auch nicht direkt auslesen lässt.

Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Vize am 28 März 2020, 18:55:32
Hallo Christoph,

erstmal vielen Dank für das Lob!

So ganz versteh ich aber immer noch nicht, was die Statistikwerte aussagen. Ich habe heute mal den Wert STATISTIC_STAT_PV_GENERATION hergenommen.
Soll das dann die gesamte PV-Produktion seit Installation sein? Passt bei mir aber nicht zum Wert des Wechselrichters...  ???

Und um deine Frage aus deiner e-mail zu beantworten...ja, schick mir mal das Python Modul. Vielleicht kann ich es ja für meine openWB gebrauchen...

Dank und Gruß
Andreas
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: cjung am 28 März 2020, 20:10:32
Hallo Andreas,

Bei mir kommt der Wert, den ich aus meinem Wechselrichter bekomme und den mir die Senec meldet, sehr gut hin. Ich habe beides am gleichen Tag vor 2 Jahren montiert bekommen.

Gruß
christoph

Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Vize am 29 März 2020, 10:27:40
Moin,

ok, bei mir wurde mal ein Speichertausch wegen Defekt des ersten durchgeführt.
Dann kommen daher wohl die abweichende Werte bei meiner Konfiguration.
Woher soll der neue Speicher auch "wissen", was alles durch den alten lief...  ;)

Ich müsste dann wahrscheinlich den EnFluri anzapfen, um passende Werte zu erhalten...falls dort was hinterlegt ist...

VG
Andreas
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: the_m-pire am 01 April 2020, 00:23:36
Vielen Dank für diesen erhellenden Thread. Dank der guten Ausführungen habe ich meinen SENEC.Home V3 hybrid duo sofort in fhem einbinden können.

Ich habe im Netz noch ein wenig herumgeschnüffelt, weil ich mir dachte, daß es doch sicherlich noch mehr Datenfelder geben würde und bei den Kollegen von IOBroker wurde ich fündig:
https://github.com/nobl/ioBroker.senec/blob/master/docs/de/README.md

Diese IOBroker Modul ist für Senec 2.1 geschrieben. Eingangs wird die Vermutung geäußert, daß die Felder wohl auch bei anderen Modellen mit …/lala.cgi vorhanden sein sollten. Das kann ich für zwei getestete Felder (z. B. Betriebsstunden) aber nicht bestätigen. Funktionieren tut aber z. B. der Datensatz ENERGY_GUI_BAT_DATA_CURRENT.

Inwiefern die Verrechnung / Transformation {sprintf("%.0f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)} korrekt ist, habe ich aktuell noch nicht getestet. Andere Werte sollen ja auch Boolean sein…

Wenn ich mal wieder ein wenig Zeit dafür habe, tüftele ich weiter und werde berichten…
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: cjung am 01 April 2020, 22:14:36
Die möglichen Felder bekommst Du, wenn Du nur die jeweiligen Rootknoten abfragst. Ich habe dazu gerne Postman genutzt.

Bisher kenne ich die folgenden Rootknoten:
{"STATISTIC":{}}
{"PM1OBJ1":{}}
{"BAT1OBJ1":{}}
{"ENERGY":{}}
{"PV1":{}}

Kennt jemand weitere ?

Für die Berechnung kannst Du Dir die Senec.js Datei im Browser ansehen. Für mich waren die fl_ Werte die interessantesten.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: the_m-pire am 01 April 2020, 22:33:26
Habe gerade die Rootknoten aus der IObroker Doku ausprobiert und finde bei mir mit Postman noch folgende:
{"BMS":{}}
{"SYS_UPDATE":{}}
{"WIZARD":{}}
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: bkappler am 15 April 2020, 20:53:48
Hallo,

habe einen SENEC.Home V3 hybrid und mit Chrome mal die Requests zu der  lokalen SENEC Status und Information Seite mit-geschnitten.
Dabei habe ich  { "DEBUG" : {} } gefunden. Über diesen Rootknoten bekommt man unter "SECTIONS" eine Liste aller Rootknoten.

Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: cjung am 15 April 2020, 21:28:31
{ "DEBUG" : {} }

Sehr spannend !! Danke fürs Teilen.
Unter Display sieht es fast so aus, als ob man eine Pixelgrafik erzeugen könnte.
In einem anderen Forum habe ich gelernt, das man mit http://192.168.XXX.XXX/log/2020/04/15.log (http://192.168.XXX.XXX/log/2020/04/15.log) auf die Log Files kommt, das hat mir zwar noch nichts gebracht, aber evtl. hilft es ja jemandem.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: xerion am 17 April 2020, 18:47:09
Sehr spannend !! Danke fürs Teilen.
Unter Display sieht es fast so aus, als ob man eine Pixelgrafik erzeugen könnte.
In einem anderen Forum habe ich gelernt, das man mit http://192.168.XXX.XXX/log/2020/04/15.log (http://192.168.XXX.XXX/log/2020/04/15.log) auf die Log Files kommt, das hat mir zwar noch nichts gebracht, aber evtl. hilft es ja jemandem.
Das  mit dem logfile hat mir sehr geholfen. Danke dafür.
Ich habe auch schon seit längerem eine Abfrage wo ich dilen aktuellen Hausverbrauch und den Füllstand sehen kann. Als nächstes würde ich gerne versuchen das Peak shaving über die mein-senec Seite zu steuern habe auch schon einen extra thread dafür aufgemacht aber ich komme irgendwie nicht weiter. Über das Lesen von bekomme ich genügend Infos aber nicht wie man Befehle sendet. Hat dort schon jemand Erfahrung von euch?

Gesendet von meinem JSN-L21 mit Tapatalk

Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: cjung am 17 April 2020, 22:01:07
Ich habe auch schon seit längerem eine Abfrage wo ich dilen aktuellen Hausverbrauch und den Füllstand sehen kann.

Schau mal in den ersten Post in diesem Thread. Die Werte sind dort enthalten:
attr SENEC reading05JSON ENERGY_GUI_HOUSE_POW
attr SENEC reading05Name Haus-Stromverbrauch
attr SENEC reading05OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}

und
attr SENEC reading03JSON ENERGY_GUI_BAT_DATA_FUEL_CHARGE
attr SENEC reading03Name AKKU-Beladung
attr SENEC reading03OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}

Zitat
Als nächstes würde ich gerne versuchen das Peak shaving über die mein-senec Seite zu steuern habe auch schon einen extra thread dafür aufgemacht aber ich komme irgendwie nicht weiter. Über das Lesen von bekomme ich genügend Infos aber nicht wie man Befehle sendet. Hat dort schon jemand Erfahrung von euch?

Hab ich leider noch nie getestet, muss ich aber mal machen.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: bkappler am 18 April 2020, 13:39:45
Ich versuche gerade über das FHEM STATISTIC Modul die KW pro Stunde / Tag / Monat / Jahr zu bekommen basierend auf den STATISTIC_... Readings { STATISTIC : "" } zu berechnen. Klappt auch soweit, nur verstehe ich den unterschied der SENEC readings:

STATISTIC_LIVE... und STATISTIC_STAT... nicht, bei mir sind diese Werte quasi immer identisch. Hat jemand eine SENEC, bei denen die Werte unterschiedlich sind und kann es erklären?

z.B.:STATISTIC_STAT_GRID_EXPORT und STATISTIC_LIVE_GRID_EXPORT geben beide die eingespeisten KW seit Inbetriebnahme wieder.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: cjung am 18 April 2020, 22:01:10
Ich habe es gerade mal getestet:

{"STATISTIC":{"LIVE_GRID_EXPORT":"","STAT_GRID_EXPORT":""}
gibt bei mir zweimal den gleichen Wert.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: jws am 08 Mai 2020, 17:11:19
Hallo Cjung,

Habe deinen ersten Code kopiert und angepasst.
Es tut sich garnichts
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: jws am 09 Mai 2020, 14:31:26
Habe den Code eingegeben:
Keine direkte Fehlermeldung
Status ???
Keine Readings

Wie kann ich z.B. Die Einspeisung abfragen

Danke

P.S. Habt Geduld mit mir, ich benutze nur vorgefertigte, modifizierte Anwendungen



Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: cjung am 09 Mai 2020, 18:11:20
Hallo jws,

Du hast sicherlich die IP Adresse an Deine eigene angepasst ?
define SENEC HTTPMOD http://192.168.XXX.XXX/lala.cgi 30
Wenn das nicht das Problem war, mach bitte mach mal ein "list SENEC" und poste das Ergebnis hier.

Gruß
christoph
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: jws am 10 Mai 2020, 12:12:46
Hallo Christoph,

als Anlage die list SENEC Ausgabe
Gruß

Jürgen
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: xerion am 10 Mai 2020, 14:25:19
Hallo Jürgen,

mal eine bescheidene Frage. Aber über die IP Adresse 192.168.188.29 kommst du sonst aber auf die Weboberfläche deines Speichers drauf?

PS: Wenn du längere Codeschnipsel oder Ergebnisse von list im Thread speichern möchtest dann am besten das über die "#" der Antworten Funktion.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: jws am 10 Mai 2020, 14:49:48
Hallo,

Ja ich kann direkt auf die Adresse zugreifen und Danke für den Tipp
muss noch viel lernen   ;)
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: xerion am 10 Mai 2020, 14:57:51
Hallo,

Ja ich kann direkt auf die Adresse zugreifen und Danke für den Tipp
muss noch viel lernen   ;)

Was steht dem im Logfile wenn du im SENEC Device set reread ausführst?
Vielleicht am besten mal für den Moment auf verbose 5 stellen, also im SENEC Device.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: cjung am 10 Mai 2020, 20:12:24
Hallo Jürgen,

da sind ein paar Werte in die falsche Zeile geraten.
Ich habe unten mal eine Definition für einen RAW Import mit Deiner IP Adresse versehen.

Wie das funktioniert ist hier https://wiki.fhem.de/wiki/Import_von_Code_Snippets beschrieben.
(- in einem beliebigen Device unten auf 'Raw definition'
- alles löschen und den Code unten einkopieren.
- dann unter dem Fenster auf den erscheinenden Button 'Execute commands' klicken.
)

Dein altes SENEC Device kannst Du dann löschen und gegebenenfalls das neue hier umbenennen.

Lass hören ob es funktioniert.
Gruß
Christoph

defmod SENEC HTTPMOD http://192.168.25.48/lala.cgi 3600
attr SENEC userattr reading01JSON reading01Name reading01OExpr reading02JSON reading02Name reading02OExpr reading03JSON reading03Name reading03OExpr reading04JSON reading04Name reading04OExpr reading05JSON reading05Name reading05OExpr requestData
attr SENEC enableControlSet 1
attr SENEC event-on-change-reading .*
attr SENEC reading02JSON STATISTIC_LIVE_GRID_EXPORT
attr SENEC reading02Name Val_Netzeinspeisung
attr SENEC reading02OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading03JSON STATISTIC_LIVE_GRID_IMPORT
attr SENEC reading03Name Val_Netzbezug
attr SENEC reading03OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading04JSON STATISTIC_LIVE_HOUSE_CONS
attr SENEC reading04Name Val_Hausverbrauch
attr SENEC reading04OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading05JSON STATISTIC_LIVE_PV_GEN
attr SENEC reading05Name Val_PV_Erzeugung
attr SENEC reading05OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC requestData {"STATISTIC": {"LIVE_GRID_EXPORT":"","LIVE_GRID_IMPORT":"","LIVE_HOUSE_CONS":"","LIVE_PV_GEN":""}}

(Update am 26.07.2020 weil SENEC den Namen einzelner Schlüssel angepasst hat.)
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: jws am 10 Mai 2020, 20:31:35
Danke

Werd in den Nächsten Tagen mein CFG bearbeiten.

Gruß
Jürgen
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: jws am 11 Mai 2020, 16:52:56
Hallo Christoph,

Habe den korrigierten Code verwendet:  es klappt!        Danke

Werde jetzt versuchen weitere Werte auszulesen und alles in einem Wordfile zu dokumentieren.

Danke an alle

Gruß
Jürgen
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: jws am 12 Mai 2020, 11:20:55
Hallo,

Kann mir jemand die zugehörigen Werte für die Tages- bzw. Momentanwerte schicken?

Siehe Anlage

Danke
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Vize am 13 Mai 2020, 07:53:18
Moin Jürgen,

an die Tageswerte kommst du über diese Methode nicht ran.
Die Momentanwerte findest du, wenn du dir diesen thread hier nochmal genauer ansiehst...  ;)

Zitat von: jws
Habt Geduld mit mir, ich benutze nur vorgefertigte, modifizierte Anwendungen

Ein bischen Eigeninitiative wäre aber nicht schlecht, durch einfaches copy and paste lernst du nichts über/in FHEM.
N bissl Gehirnschmalz sollte man schon investieren.

Viel Erfolg und viele Grüße
Andreas
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: jws am 13 Mai 2020, 11:01:25
Hi Vize,

Das liebe ich an Foren

Statt zu helfen gibt es immer wieder Klugscheißer!

Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Vize am 13 Mai 2020, 12:39:58
Hallo Jürgen,

vielen Dank für deinen Kommentar.

Sei froh, dass einige - unter anderem auch ich - sich etliche Stunden hingesetzt haben, damit die Abfrage des Senec-Speicher in FHEM überhaupt möglich gemacht wird.

Dann daher zu kommen und nur vorgekaute Lösungen zu fordern, könnte ich als dreist bezeichnen.
Wenn du nicht selber experimentieren und lernen willst, warum nutzt du dann FHEM und nicht ein vorgefertigtes System?

Aber egal, Schwamm drüber, dann helfe ich eben nicht weiter und freue mich, dass wenigstens das Wort "klug" in Klugscheißer vorkommt.  8)

In dieem Sinne
Andreas
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: jws am 13 Mai 2020, 15:10:39
Hallo Andreas,

Warum kann man nicht das Wissen in eine sauber beschriebene Lösungsbeschreibung zusammenfassen?
Das würde Neulingen und wenig geübte Nutzer näher an das System bringen.

Der Ton macht die Musik.

P.S. Deine Kompetenz hab ich nicht angezweifelt.

Gruß
Jürgen
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: xerion am 13 Mai 2020, 15:46:48
Hallo Andreas,

Warum kann man nicht das Wissen in eine sauber beschriebene Lösungsbeschreibung zusammenfassen?
Das würde Neulingen und wenig geübte Nutzer näher an das System bringen.

Der Ton macht die Musik.

P.S. Deine Kompetenz hab ich nicht angezweifelt.

Gruß
Jürgen

Hallo Jürgen,

ich stimme Andreas da zu und er meinte das mit Sicherheit nicht böse. Deine Anmerkung als Klugscheißer fand ich ich schon deutlich schlimmer.
FHEM ist nichts fertiges und jeder muss sich dort einarbeiten. Wenn du Leute mit Geduld suchst dann stelle deine Frage in dem Anfängerbereich und nicht in bestimmte Threads mit der Hoffnung das jemand für dich die Arbeit macht.

Hinzukommt, dass er dir die Lösung auch schon gesagt hatte. der Code aus Beitrag 1 liefert dir die gewünschte Werte. Du musst nur dran denken das Bezeichnungen von mein-senec.de nicht mit denen vom Webserver übereinstimmen.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: jws am 13 Mai 2020, 16:28:13
Hallo miteinander,

Vorschlag zur Güte:

Ihr helft mir alle Daten auszulesen, mit einigen Daten zu rechnen und dann eine Schaltsteckdose zu schalten.
Dafür dokumentiere ich alle Schritte in Word, einer von euch korrigiert und veröffentlicht die komplette Anwendung.

Aufgabe: SENEC auslesen; Werte überprüfen; Errechnen ob man einen Heizstab zuschalten kann und zuschalten!

Gruß
Jürgen
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: xerion am 13 Mai 2020, 17:16:00
Hallo miteinander,

Vorschlag zur Güte:

Ihr helft mir alle Daten auszulesen, mit einigen Daten zu rechnen und dann eine Schaltsteckdose zu schalten.
Dafür dokumentiere ich alle Schritte in Word, einer von euch korrigiert und veröffentlicht die komplette Anwendung.

Aufgabe: SENEC auslesen; Werte überprüfen; Errechnen ob man einen Heizstab zuschalten kann und zuschalten!

Gruß

Jürgen


Also wenn du das Beispiel aus Beitrag 1 schon übernommen hast, dann solltest du doch schon folgende Informationen bekommen:

-Akku-Füllstand:
-Mein Hausverbrauch:
-Akku-Entnahme:
-Netzstrom-Einspeisung:
-Selbst erzeugter Strom:
-PV-Leistung:

Anhand dieser Informationen könntest du dann mit einem DOIF dein Schaltung für den Heizstab bauen. Nach welchen Kriterien soll denn der Heizstab geschaltet bzw. ausgeschaltet werden?






Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: jws am 13 Mai 2020, 17:32:20
Hallo Xerion

Danke für den Tip mit dem Beitrag 1. hat geholfen. Eine solche Antwort hilft weiter. Hatte ich übersehen.

Melde mich wieder

Gruß
Jürgen
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Vize am 13 Mai 2020, 19:58:13
Der Ton macht die Musik.

Hallo Jürgen,

da würde ich eher behaupten, dass du dich im Ton vergriffen hast!

Ich habe dir nur den entsprechenden Tipp gegeben, was nicht auszulesen geht...und drei Seiten eines threads durchzulesen ist wohl nicht zuviel verlangt, oder?
Mein Hinweis mit der Einarbeitung war ebenfalls völlig wertfrei.

Und von dir kommt dann eine Antwort mit einem Schimpfwort.
Dank mal drüber nach.
Ich habe daher keine Lust mehr, dir hier zu helfen.

Aber die restlichen, notwendigen Hinweise hast du ja nun von xerion erhalten.

Und dann bitte später nicht meckern, wenn was nicht funktioniert, weil sich was ändert und du nur vorgefertigte Sachen übernommen hast...

VG
Andreas
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: xerion am 18 Mai 2020, 11:56:55
Moin zusammen,

damit ich unsere Miele Waschmaschine per API steuern kann habe ich mir gedacht die Funktion der Steckdosen vom SENEC Speicher zu nutzen. Somit entscheidet der Speicher anhand der getroffenen Einstellungen ob genügend Strom zur Verfügung steht. Ich lese nun einfach den Status der Steckdosen aus und füttere damit meine DOIF´s. Falls jemand Interesse hat kann ich den optimierten "RequestData" auch gerne zur Verfügung stellen.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Vize am 18 Mai 2020, 21:02:18
Ahoi,

aus einem anderen Forum habe ich gerade erfahren, dass man sich über IP.DES.SENEC.SPEICHERS/display.htmldas Display des Speichers anzeigen lassen kann.
In der Netzwerkanalyse im Browser steht dann {"DISPLAY":{"IMAGE":"","LEDS":""}} und im Antworttext ne ewig lange Zahlenkolonne.
Die einzelnen Werte fangen alle mit u3_ an.

Vielleicht kann man das noch irgendwie verwursten?

VG
Andreas
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: xerion am 18 Mai 2020, 21:23:12
Ahoi,

aus einem anderen Forum habe ich gerade erfahren, dass man sich über IP.DES.SENEC.SPEICHERS/display.htmldas Display des Speichers anzeigen lassen kann.
In der Netzwerkanalyse im Browser steht dann {"DISPLAY":{"IMAGE":"","LEDS":""}} und im Antworttext ne ewig lange Zahlenkolonne.
Die einzelnen Werte fangen alle mit u3_ an.

Vielleicht kann man das noch irgendwie verwursten?

VG
Andreas

Das mit dem Display ist ja geil. Habe ich schon im FUIP eingebaut, sieht schick aus :-)

Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Vize am 19 Mai 2020, 10:06:18
Sehr schön.

Überlege auch, mir das in der Standardoberfläche von FHEM einzubauen.
Am besten über weblink, oder?

Weißt du, ob man da auch mit Sprungmarken, Anker oder so arbeiten kann? Mich interessiert eigentlich nur der untere Teil meines screenshots.

VG
Andreas
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: cjung am 19 Mai 2020, 19:21:59
Hallo vize,

das ist ja wieder eine coole funktion. Danke fürs teilen.

Zum u3_00000001
Wenn Ihr Euch den code der normalen Webseite anseht, findet ihr eine 'senec.js' das die Umrechnung macht.
Im Code steht
- ein Split auf '_'
- eine parseInt ('00000001',16)

d.h. die Zahl wird einfach von hex nach decimal umgerechnet.
Daraus müsste man sich dann erst noch das Bild zusammenbauen.

Viele Grüße
Christoph

Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: xerion am 19 Mai 2020, 21:54:58
Sehr schön.

Überlege auch, mir das in der Standardoberfläche von FHEM einzubauen.
Am besten über weblink, oder?

Weißt du, ob man da auch mit Sprungmarken, Anker oder so arbeiten kann? Mich interessiert eigentlich nur der untere Teil meines screenshots.

VG
Andreas

ja genau habe das über Weblink eingebaut. Wie man das weiter reduziert kann ich leider nicht sagen. Aber nochmal vielen Dank das du deine Informationen aus den anderen Foren hier teilst, hat mir schon ein paar geholfen den Installateur zu beweisen, wenn der Speicher mal wieder Probleme hat.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Yulock am 07 Juni 2020, 17:56:20
Hallo,
ich habe zwar FGEM schon eine weile aber immer nur Standard sachen verwendet.
Nun habe ich seit kurzen eine SENC Anlage und würde die ins FHEM gern einbinden.
Mit dem Codes hier hat es auch gut geklappt und Werte kommen an.
Nur bin ich eben noch nicht so gut im FHEM und brauche Hilfe,
Ich hätte gern die Werte auch in Kurven angezeigt .  Also als Diagramm. So dass ich das über den Tage Woche Monat und Jahr sehen kann.
Kann mir da geholfen werden ?
Danke schonmal
Gruß Uwe
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Doemy am 07 Juli 2020, 20:29:52
Hallo zusammen,

ich habe mit den geposteten Codes bisher erefolgreich alle Werte aus meinem SENEC auslesen können.
Seit heute Morgen funktionieren aber einige Werte nicht mehr.
Die aktuellen Werte werden ausgegeben, die Statistikwerte jedoch nicht mehr.  Es wird nur überall 0 angezeigt. :-\

Im Logfile kommt folgende Fehlermeldung:

SENEC: FormatReadig OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)} created warning: Illegal hexadecimal digit 'N' ignored at (eval 130) line 1.

Hat jemand eine Ahnung, woran das liegen kann?
Ich habe einen SENEC V3.
Meine Mutter hat den gleichen Speicher, es kommt auch die gleiche Meldung.

Ich war bisher bei unserem regionalen Stromanbieter, wechsle aber in ein paar Tagen in einen SENEC-Cloud Tarif.
Hat jemand Erfahrung, ob es eventuell damit zusammen hängen kann?

Danke und Gruß
Thomas
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: bkappler am 07 Juli 2020, 22:41:27
Hallo Thomas,

bisher gab es bei den Statistikwerten jeweils einen "STAT" Wert und einen "LIVE" Wert. Seit einem der letzten updates wurden einige der "STAT" Werte entfernt. Die entsprechenden "LIVE" Werte gibt es aber noch und diese waren (zumindest bei mir immer gleich. Beispiel: STATISTIC_STAT_GRID_EXPORT und STATISTIC_LIVE_GRID_EXPORT

Mit { "STATISTIC" : {} } erhält man eine Liste aller Statistikwerte.

Hoffe das hilft Dir weiter.

VG
   Bernhard
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Doemy am 08 Juli 2020, 07:18:19
Hallo Bernhard,

vielen Dank für deine Antwort.
Teilweise funktioniert es jetzt wieder.  :D

Wo genau muss ich deinen geposteten Code einfügen?
Ich bin noch relativ neu und am Anfang mit FHEM.


EDIT 09.07.2020 - 20:20
Habe es gefunden und per Postman ausgelesen.

Gruß
Thomas
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Vize am 10 Juli 2020, 13:11:51
Moinsen,

wäre vielleicht jemand mal so nett und gibt mir einen Schubs, wie man das mit Postman macht?
Habe mir ein paar Tutorials im Netz angeschaut, aber werde überhaupt nicht schlau daraus... :-(

Besten Dank schonmal!

***EDIT*** Vergesst die Frage...hab's gerade herausgefunden...***EDIT***

VG
Andreas
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Wolle02 am 10 Juli 2020, 13:30:50
Und ? Gibst du der Nachwelt einen Schubs? Oder muss der nächste auch erst wieder fragen?
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Vize am 10 Juli 2020, 13:54:54
Klar...

Im Postman einen neuen Request anlegen. Dann im grau unterlegten Dropdown-Menü "POST" auswählen. Daneben die Adresse eintragen für lala.cgi.
Darunter "Body" auswählen.
Darunter "raw" auswählen.
Im Feld darunter den entsprechenden Knoten eingeben.
Auf "Send" klicken und schauen, was zurück kommt im unteren Teil.

VG
Andreas
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Doemy am 11 Juli 2020, 12:34:03
Hallo,

kann mir jemand sagen, wie ich den "u-Wert" in decimal umrechnen kann?

Zitat
Zum u3_00000001
Wenn Ihr Euch den code der normalen Webseite anseht, findet ihr eine 'senec.js' das die Umrechnung macht.
Im Code steht
- ein Split auf '_'
- eine parseInt ('00000001',16)

d.h. die Zahl wird einfach von hex nach decimal umgerechnet.
Daraus müsste man sich dann erst noch das Bild zusammenbauen.

Habe schon viel gelesen und ausprobiert, aber hat leider alles bisher nicht funktioniert.
Ich bekomme die Werte in FHEM übertragen, aber entweder wird mir 0 angezeigt, oder der HEX-Wert, den der Speicher ausgibt.

***EDIT***
Habe es gefunden, wurde ja hier sogar schon gepostet  ::)
Zitat
{hex( (split ('_',$val,0 ))[1] )}
Gruß
Thomas
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: cstaehn am 08 November 2020, 15:04:37
Moin zusammen,

damit ich unsere Miele Waschmaschine per API steuern kann habe ich mir gedacht die Funktion der Steckdosen vom SENEC Speicher zu nutzen. Somit entscheidet der Speicher anhand der getroffenen Einstellungen ob genügend Strom zur Verfügung steht. Ich lese nun einfach den Status der Steckdosen aus und füttere damit meine DOIF´s. Falls jemand Interesse hat kann ich den optimierten "RequestData" auch gerne zur Verfügung stellen.

Hallo xerion,

wie hast du den Status der Steckdosen am Senec Speicher ausgelesen?
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: xerion am 08 November 2020, 20:24:58
Hallo xerion,

wie hast du den Status der Steckdosen am Senec Speicher ausgelesen?

Anbei meine komplette Definition:
defmod SENEC HTTPMOD http://192.168.178.56/lala.cgi 30
attr SENEC userattr reading01JSON reading01Name reading01OExpr reading02JSON reading02Name reading02OExpr reading03JSON reading03Name reading03OExpr reading04JSON reading04Name reading04OExpr reading05JSON reading05Name reading05OExpr reading06JSON reading06Name reading06OExpr reading07JSON reading07Name reading07OExpr reading08JSON reading08Name reading08OExpr requestData
attr SENEC DbLogInclude Steckdose-1,Steckdose-2
attr SENEC alignTime 01:05
attr SENEC disable 0
attr SENEC enableControlSet 1
attr SENEC event-on-change-reading .*
attr SENEC group PV
attr SENEC handleRedirects 1
attr SENEC icon measure_battery_100
attr SENEC reading01JSON PV1_POWER_RATIO
attr SENEC reading01Name PV-Begrenzung
attr SENEC reading01OExpr {hex( (split ('_',$val,0 ))[1] )}
attr SENEC reading02JSON ENERGY_GUI_INVERTER_POWER
attr SENEC reading02Name PV-Erzeugung
attr SENEC reading02OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading03JSON ENERGY_GUI_BAT_DATA_FUEL_CHARGE
attr SENEC reading03Name AKKU-Beladung
attr SENEC reading03OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading04JSON ENERGY_GUI_BAT_DATA_POWER
attr SENEC reading04Name AKKU-Entnahme
attr SENEC reading04OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading05JSON ENERGY_GUI_HOUSE_POW
attr SENEC reading05Name Haus-Stromverbrauch
attr SENEC reading05OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading06JSON PM1OBJ1_P_TOTAL
attr SENEC reading06Name Netz-Einspeisung
attr SENEC reading06OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading07JSON SOCKETS_POWER_ON
attr SENEC reading07Name Steckdose
attr SENEC reading07OExpr {hex( (split ('_',$val,0 ))[1] )}
attr SENEC requestData {"PV1":{"POWER_RATIO":""},"SOCKETS":{"POWER_ON":""},"ENERGY":{"GUI_HOUSE_POW":"","GUI_INVERTER_POWER":"","GUI_BAT_DATA_POWER":"","GUI_BAT_DATA_FUEL_CHARGE":"","STAT_STATE":"","POWER_ON":""},"PM1OBJ1":{"P_TOTAL":""}}
attr SENEC room PV-Anlage
attr SENEC stateFormat Akku-Füllstand: AKKU-Beladung %</br>Mein Hausverbrauch: Haus-Stromverbrauch Watt</br>Akku-Entnahme: AKKU-Entnahme Watt</br>Netzstrom-Einspeisung: Netz-Einspeisung Watt</br>Selbst erzeugter Strom: PV-Erzeugung Watt</br>PV-Leistung: PV-Begrenzung %</br>Steckdose 1: Steckdose-1</br>Steckdose 2: Steckdose-2
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: herbert19 am 30 Dezember 2020, 16:11:25
Habe versucht meinen SENEC-Speicher in FHEM einzubinden, bekomme jedoch keine Daten (Anfängerfehler?)
Definition mit: define SENEC HTTPMOD http://192.168.26.110/lala.cgi 30
list SENEC
liefert:
Internals:
   BUSY       0
   CFGFN     
   DEF        http://192.168.26.110/lala.cgi 30
   FUUID      5fec97b2-f33f-85bf-1f45-c2116b6e062966fa
   Interval   30
   MainURL    http://192.168.26.110/lala.cgi
   ModuleVersion 4.0.16 - 5.12.2020
   NAME       SENEC
   NOTIFYDEV  global
   NR         694
   NTFY_ORDER 50-SENEC
   STATE      ???
   TYPE       HTTPMOD
   value     
   HttpUtils:
     NAME       
     addr       http://192.168.26.110:80
     auth       0
     code       404
     compress   1
     conn       
     data       
     displayurl http://192.168.26.110/lala.cgi
     header     
     host       192.168.26.110
     httpheader HTTP/1.0 404 Not Found
     httpversion 1.0
     hu_blocking 0
     hu_filecount 1
     hu_port    80
     hu_portSfx
     ignoreredirects 1
     loglevel   4
     path       /lala.cgi
     protocol   http
     redirects  0
     timeout    2
     url        http://192.168.26.110/lala.cgi
     sslargs:
   QUEUE:
   READINGS:
   REQUEST:
     context    reading
     data       
     header     
     ignoreredirects 0

Hat jemand einen Tipp?
     num        0
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: xerion am 30 Dezember 2020, 20:23:43
Habe versucht meinen SENEC-Speicher in FHEM einzubinden, bekomme jedoch keine Daten (Anfängerfehler?)
Definition mit: define SENEC HTTPMOD http://192.168.26.110/lala.cgi 30
list SENEC
liefert:
Internals:
   BUSY       0
   CFGFN     
   DEF        http://192.168.26.110/lala.cgi 30
   FUUID      5fec97b2-f33f-85bf-1f45-c2116b6e062966fa
   Interval   30
   MainURL    http://192.168.26.110/lala.cgi
   ModuleVersion 4.0.16 - 5.12.2020
   NAME       SENEC
   NOTIFYDEV  global
   NR         694
   NTFY_ORDER 50-SENEC
   STATE      ???
   TYPE       HTTPMOD
   value     
   HttpUtils:
     NAME       
     addr       http://192.168.26.110:80
     auth       0
     code       404
     compress   1
     conn       
     data       
     displayurl http://192.168.26.110/lala.cgi
     header     
     host       192.168.26.110
     httpheader HTTP/1.0 404 Not Found
     httpversion 1.0
     hu_blocking 0
     hu_filecount 1
     hu_port    80
     hu_portSfx
     ignoreredirects 1
     loglevel   4
     path       /lala.cgi
     protocol   http
     redirects  0
     timeout    2
     url        http://192.168.26.110/lala.cgi
     sslargs:
   QUEUE:
   READINGS:
   REQUEST:
     context    reading
     data       
     header     
     ignoreredirects 0

Hat jemand einen Tipp?
     num        0

Du hast ja bis auf die IP Adresse nichts eingetragen. Was soll dann als Antwort kommen? Siehe dir mal bitte den ersten Post an dort steht ein vollständiges defmod als Beispiel.
Bei der IP scheint aber auch noch ein Problem zu sein: httpheader HTTP/1.0 404 Not Found
Kannst du denn bei der IP die lokale SENEC Seite öffnen?
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: xerion am 17 Februar 2021, 14:11:26
Moin hat schon jemand von auch eine Möglichkeit gefunden den Speicher bzw. das Laden/Entladen zu steuern?
Um das EV PV Optimiert laden zu können wäre es am besten wenn man den Speicher auch übersteuern könnte, damit der Speicher nicht in das EV geladen wird.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: ch.eick am 23 Februar 2021, 13:10:04
So, wir kommen im Kostal Thread mit der Batterie Ansteuerung weiter, da ist sicher auch hier etwas von zugebrauchen.

z.B MinSOC, MaxSOC, 70% Regel mit Ladefenster (https://forum.fhem.de/index.php/topic,114849.msg1134958.html#msg1134958)
Anfragen bitte im anderen Thread stellen.

VG
   Christian
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: xerion am 23 Februar 2021, 13:31:56
So, wir kommen im Kostal Thread mit der Batterie Ansteuerung weiter, da ist sicher auch hier etwas von zugebrauchen.

z.B MinSOC, MaxSOC, 70% Regel mit Ladefenster (https://forum.fhem.de/index.php/topic,114849.msg1134958.html#msg1134958)
Anfragen bitte im anderen Thread stellen.

VG
   Christian

Hallo Christian,

ich habe jetzt nicht ganz aus dem Thread entnehmen können, wie das mit dem SENEC Speicher nun funktionieren soll?
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 10 April 2021, 14:31:52
Ich habe jetzt auch mal ein wenig rumgeforscht und mittels Entwicklerconsole im Browser und Postman rumgespielt
Wenn die Infos schon bekannt sind, tut mir's leid, ich würde das gerne trotzdem mal zusammenstellen und sammeln.

im Photovoltaikforum gibt es interessante Hinweise im SENEC thread:
https://www.photovoltaikforum.com/thread/140602-senec-home-v3-hybrid-duo/ (https://www.photovoltaikforum.com/thread/140602-senec-home-v3-hybrid-duo/)

Es gibt eine debug Seite, die alle Variablen anzeigt:
http://192.168.XXX.YYY/Vars.html

Außerdem scheint bei:
http://192.168.XXX.YYY/display.html
einiges mehr an infos zu fließen als man angezeigt bekommt.

es gibt dort in lala.cgi die Anfrage:
{"DISPLAY":{"IMAGE":"","LEDS":""}}

Interessant ist die Variable "IMAGE" (siehe auch http://192.168.XXX.YYY/Vars.html)
Diese gibt einen riesen Array mit 264 Werten zurück.
Leider konnte ich mich noch nicht weiter auf die Suche machen, weil ich nicht genau weiß, wie ich das n-te Element eines Arrays in JSON isolieren kann (hat einer von euch einen Tipp?) Ich könnte wetten, dass wir dort auch Infos wie Energiemengen herbekommen.

Wenn vielleicht einer von Euch mehr Ahnung zum HTTPMOD/Postman/JSON hat kommen wir vielleicht weiter...

Grüße,
Patrix
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: cjung am 10 April 2021, 14:37:14
Hallo Patrix,

Ich kann noch die Chartfunktion beitragen:

http://192.168.XXX.YYY/chart.html?ENERGY.GUI_BAT_DATA_POWER.0&ENERGY.GUI_GRID_POW.0&ENERGY.GUI_HOUSE_POW.0&ENERGY.GUI_INVERTER_POWER.0

Hast Du Dir die Statistik Variablen schonmal angesehen ? "{"STATISTIC":{"LIVE_BAT_CHARGE":"","LIVE_BAT_DISCHARGE":"","LIVE_GRID_EXPORT":"","LIVE_GRID_IMPORT":"","LIVE_HOUSE_CONS":"","LIVE_PV_GEN":""}}"
Das Display scheint nur die Bit Daten der Pixel zu übertragen. Die eigentlichen Wert bekommt man auch direkt. Man muss die nur aus hex in Dezimal umrechnen. Ein Beispiel für FHEM findest Du im ersten Posten dieses Threads.

Gruß
Christoph
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 10 April 2021, 16:47:43
Hey Christoph,

Ich nutze das Beispiel von Seite 1 selbst.

(habe eben auch nochmal beim Durchgehen des Threads gesehen, dass schon mal jemand auf den DISPLAY Knoten gestoßen ist   ;D )

Danke nochmal für den Hinweis auf den STATISTIC Knoten.
die Statistikwerte scheinen aber die Insgesamtwerte anzuzeigen. Ich habe noch die Hoffnung, dass irgendwo auch die Tageswerte stehen...

Grüße,
Patrix


Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: cjung am 10 April 2021, 22:13:27
Die Tageswerte hab ich jetzt noch nicht gesucht, aber Du könntest die Summenwerte nehmen und dann ein Diagram mit delta-d machen. Dann zeigt es jeweils die Tagenswerte an.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 11 April 2021, 15:38:53
Das ist eine super Idee!

Ich schau mal, ob ich mit delta-d arbeite (muss mich da mal einlesen) oder ob ich mir einen dummy schaffe, der anhand der Gesamtwerte für jeden Kalendertag einen Wert ermittelt und in ein Log legt.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Doemy am 12 April 2021, 09:35:27
Hallo zusammen,

hat jemand bereits eine Möglichkeit gefunden, um dem Speicher Befehle zu senden?

Vorallem wäre es interessant, die Einstellungen für das PEAK SHAVING zu ändern.
Die automatische Einstellung funktioniert bei mir überhaupt nicht, die letzten Tage waren sehr sonnig, Begrenzung hat angesprochen, PEAK Shaving hat aber nicht gegriffen. Habe es dann seit vorgestern auf manuell gestellt, funktioniert super.
Allerdings möchte ich an einem Regentag natürlich andere Einstellungen als ein einem Sonnentag.
Aber jeden Tag die Einstellungen manuell anpassen...  :o

Evtl. wäre es auch möglich, nur das laden des Batterie zu sperren und somit nicht das vorgegebenen PEAK SHAVING zu nutzen, sondern über eine solche Regelung "selbst zu basteln".

Gruß Thomas
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: xerion am 12 April 2021, 13:04:40
Ich könnte noch die Links beisteuern, dort kann man sich jeweils den aktuellen und vorherigen Logs live anschauen.

http://192.168.yyy.xxx/log.html (Live vom Tag)

Die Historie der Logs kann man sich jeweils pro Tag unter http://192.168.yyy.xxx/log/YYYY/MM/DD.log (Historie pro Tag
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 12 April 2021, 21:57:12
Nachdem ich momentan ein seltsames Verhalten bei meinem Speicher oder viel mehr dem Wechselrichter habe (ich bekomme alle paar Tage eine art Phantomleistung vom Dach angezeigt, ca 200W zu viel... auch Nachts) habe ich den Support angeschrieben und bei der Gelegenheit gleich nochmal angefragt, ob sie nicht eine MQTT-Schnittstelle bereitstellen können.
Wie zu erwarten ist das derzeit nicht geplant aber "der Vorschlag wurde an die Fachabteilung weitergereicht". Ich weiß, ich weiß... das ist das moderne "don't call us, we'll call you" aber man kann ja noch etwas träumen.  ;D
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 22 April 2021, 20:26:13
Kennt sich von Euch einer besser mit HTTPMOD aus?
ich möchte gerne die Leistungen der MPP Strings auslesen.
{"PV1":{"MPP_POWER": ""}}Der JSON code sieht so aus:
{
    "PV1": {
        "MPP_POWER": [
            "fl_42AA0107",
            "fl_00000000",
            "fl_40CC0001"
        ]
    }
}

Das Ergebnis ist also ein array und ich habe es noch nicht geschafft einzelne elemente des Arrays zu isolieren.
hat einer eine Idee?

Danke,
Patrix

EDIT:
... und Frage selbt beantwortet  ;D
attr SENEC readingXXJSON PV1_MPP_POWER_Y
XX --> nummer des readings
Y --> Stelle des Arrays, fängt bei 0 an
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Juergen27 am 21 Juli 2021, 16:33:27
Hallo Leute, nachdem unser Speicher nun stabil läuft und auch sauber Daten liefert, wollte ich mal meine Definition mit der Community teilen. Vielleicht kann der eine oder andere ein Reading gebrauchen:
defmod SENEC HTTPMOD http://192.168.178.XX/lala.cgi 30
attr SENEC enableControlSet 1
attr SENEC reading01JSON PV1_POWER_RATIO
attr SENEC reading01Name PV-Begrenzung
attr SENEC reading01OExpr {hex( (split ('_',$val,0 ))[1] )}
attr SENEC reading02JSON ENERGY_GUI_INVERTER_POWER
attr SENEC reading02Name PV-Erzeugung
attr SENEC reading02OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading03JSON ENERGY_GUI_BAT_DATA_FUEL_CHARGE
attr SENEC reading03Name AKKU-Beladung
attr SENEC reading03OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading04JSON ENERGY_GUI_BAT_DATA_POWER
attr SENEC reading04Name AKKU-Entnahme
attr SENEC reading04OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading05JSON ENERGY_GUI_HOUSE_POW
attr SENEC reading05Name Haus-Stromverbrauch
attr SENEC reading05OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading06JSON PM1OBJ1_P_TOTAL
attr SENEC reading06Name Netz-Einspeisung
attr SENEC reading06OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading07JSON STATISTIC_CURRENT_STATE
attr SENEC reading07Name PV-Status
attr SENEC reading07OExpr {hex( (split ('_',$val,0 ))[1] )}
attr SENEC reading08JSON BMS_VOLTAGE
attr SENEC reading08Name BatterieSpannung
attr SENEC reading08OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading09JSON BMS_CURRENT
attr SENEC reading09Name BatterieStrom
attr SENEC reading09OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading10JSON BMS_CYCLES
attr SENEC reading10Name BatterieZyklen
attr SENEC reading10OExpr {hex( (split ('_',$val,0 ))[1] )}
attr SENEC reading11JSON PV1_MPP_VOL
attr SENEC reading11Name ModulSpannung
attr SENEC reading11OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading12JSON PV1_MPP_CUR
attr SENEC reading12Name ModulStrom
attr SENEC reading12OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading13JSON PV1_MPP_POWER
attr SENEC reading13Name ModulLeistung
attr SENEC reading13OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading14JSON TEMPMEASURE_BATTERY_TEMP
attr SENEC reading14Name Temperatur_Batterie
attr SENEC reading14OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading15JSON TEMPMEASURE_CASE_TEMP
attr SENEC reading15Name Temperatur_Gehaeuse
attr SENEC reading15OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading16JSON TEMPMEASURE_MCU_TEMP
attr SENEC reading16Name Temperatur_Hardware
attr SENEC reading16OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC requestData {"PV1":{"POWER_RATIO":"","MPP_VOL":"","MPP_CUR":"","MPP_POWER":""},"ENERGY":{"GUI_HOUSE_POW":"","GUI_INVERTER_POWER":"","GUI_BAT_DATA_POWER":"","GUI_BAT_DATA_FUEL_CHARGE":"","STAT_STATE":""},"PM1OBJ1":{"P_TOTAL":""},"STATISTIC":{"CURRENT_STATE":""},"BMS":{"VOLTAGE":"","CURRENT":"","CYCLES":""},"TEMPMEASURE":{"BATTERY_TEMP":"","CASE_TEMP":"","MCU_TEMP":""}}
attr SENEC room zz_Basisdevices
attr SENEC showBody 1
attr SENEC userReadings ur_Akku_Laden:AKKU-Entnahme.*\
{if(ReadingsVal("SENEC","AKKU-Entnahme",0) > 0) {return ReadingsVal("SENEC","AKKU-Entnahme",0)} else {return 0}},\
ur_Akku_Entladen:AKKU-Entnahme.*\
{if(ReadingsVal("SENEC","AKKU-Entnahme",0) < 0) {return ReadingsVal("SENEC","AKKU-Entnahme",0) * -1} else {return 0}},\
ur_Netz_Einspeisung:Netz-Einspeisung.*\
{if(ReadingsVal("SENEC","Netz-Einspeisung",0) < 0) {return ReadingsVal("SENEC","Netz-Einspeisung",0) * -1} else {return 0}},\
ur_Netz_Bezug:Netz-Einspeisung.*\
{if(ReadingsVal("SENEC","Netz-Einspeisung",0) > 0) {return ReadingsVal("SENEC","Netz-Einspeisung",0)} else {return 0}},\
ur_EnergieNetzStd:ur_Netz_Einspeisung.*\
integral {ReadingsVal("SENEC","ur_Netz_Einspeisung",0)/3600},\
ur_TimeStampStatus:Netz-Einspeisung.*\
{SplitStr2Time_Short(ReadingsTimestamp("SENEC","ur_Netz_Einspeisung","2000-01-01 00:00:00"))},\
ur_SENECStatusText:Netz-Einspeisung.*\
{SENECStatusText(ReadingsVal("SENEC","PV-Status","13"))},\
ur_Modulleistung:Haus-Stromverbrauch.*\
{ReadingsVal("SENEC","ModulLeistung-1",0) + ReadingsVal("SENEC","ModulLeistung-2",0) + ReadingsVal("SENEC","ModulLeistung-3",0)},\
ur_Direktverbrauch:Haus-Stromverbrauch.*\
{ReadingsVal("SENEC","ur_Modulleistung",0) - ReadingsVal("SENEC","ur_Netz_Einspeisung",0) - ReadingsVal("SENEC","ur_Akku_Laden",0)},\
ur_EigenverbrauchBasis:Haus-Stromverbrauch.*\
{ReadingsVal("SENEC","ur_Direktverbrauch",0) + ReadingsVal("SENEC","ur_Netz_Einspeisung",0) + ReadingsVal("SENEC","ur_Akku_Laden",0)},\
ur_AutarkiegradBasis:Haus-Stromverbrauch.*\
{ReadingsVal("SENEC","ur_Direktverbrauch",0) + ReadingsVal("SENEC","ur_Netz_Bezug",0) + ReadingsVal("SENEC","ur_Akku_Entladen",0)},\
ur_AutarkieDirektverbrauch:Haus-Stromverbrauch.*\
{if(ReadingsVal("SENEC","ur_AutarkiegradBasis",0) > 0.1) {return sprintf("%.1f",ReadingsVal("SENEC","ur_Direktverbrauch",0)/ReadingsVal("SENEC","ur_AutarkiegradBasis",0)*100)} else {return 0}},\
ur_AutarkieAkkuEntnahme:Haus-Stromverbrauch.*\
{if(ReadingsVal("SENEC","ur_AutarkiegradBasis",0) > 0.1) {return sprintf("%.1f",ReadingsVal("SENEC","ur_Akku_Entladen",0)/ReadingsVal("SENEC","ur_AutarkiegradBasis",0)*100)} else {return 0}},\
ur_AutarkieNetzbezug:Haus-Stromverbrauch.*\
{if(ReadingsVal("SENEC","ur_AutarkiegradBasis",0) > 0.1) {return sprintf("%.1f",ReadingsVal("SENEC","ur_Netz_Bezug",0)/ReadingsVal("SENEC","ur_AutarkiegradBasis",0)*100)} else {return 0}},\
ur_AutarkieGrad:Haus-Stromverbrauch.*\
{ReadingsVal("SENEC","ur_AutarkieAkkuEntnahme",0) + ReadingsVal("SENEC","ur_AutarkieDirektverbrauch",0)},\
ur_EigenverbrauchDirektverbrauch:Haus-Stromverbrauch.*\
{if(ReadingsVal("SENEC","ur_EigenverbrauchBasis",0) > 0.1) {return sprintf("%.1f",ReadingsVal("SENEC","ur_Direktverbrauch",0)/ReadingsVal("SENEC","ur_EigenverbrauchBasis",0)*100)} else {return 0}},\
ur_EigenverbrauchAkkuLaden:Haus-Stromverbrauch.*\
{if(ReadingsVal("SENEC","ur_EigenverbrauchBasis",0) > 0.1) {return sprintf("%.1f",ReadingsVal("SENEC","ur_Akku_Laden",0)/ReadingsVal("SENEC","ur_EigenverbrauchBasis",0)*100)} else {return 0}},\
ur_EigenverbrauchNetzeinspeisung:Haus-Stromverbrauch.*\
{if(ReadingsVal("SENEC","ur_EigenverbrauchBasis",0) > 0.1) {return sprintf("%.1f",ReadingsVal("SENEC","ur_Netz_Einspeisung",0)/ReadingsVal("SENEC","ur_EigenverbrauchBasis",0)*100)} else {return 0}},\
ur_EigenverbrauchAnteil:Haus-Stromverbrauch.*\
{ReadingsVal("SENEC","ur_EigenverbrauchAkkuLaden",0) + ReadingsVal("SENEC","ur_EigenverbrauchDirektverbrauch",0)}
Zur Info: wir haben zwei Stränge (2x12 Module) auf der Garage und 4 Batterien im Speicher (SENEC.Home V3 hybrid). Bei einer anderen Ausstattung fallen ein paar Readings weg.
LG
Jürgen
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: msome am 06 August 2021, 20:44:04
Guten Abend @Juergen27,
wärst du bitte so freundlich und würdest die beiden Routinen die in deiner Definition verwendet werden, noch bereitstellen?

Undefined subroutine &main::SENECStatusText
Undefined subroutine &main::SplitStr2Time_Short


HINWEIS 09. Aug 2021> ACHTUNG, der folgende Text über Readings und Pfade ist von der SW Version abhängig. Folgendes bezieht sich auf eine veraltete 0802 SW Version !

Btw - ich habe deine Definition mit einem Senec Home V3 Hybrid duo in Verwendung und bemerkt, dass es die PV1_MPP_VOL, CUR & POWER gar nicht (oder nicht mehr?) im lala gibt.

"PV1":{"POWER_RATIO":"u3_0000000B","MPP_VOL":"VARIABLE_NOT_FOUND","MPP_CUR":"VARIABLE_NOT_FOUND","MPP_POWER":"VARIABLE_NOT_FOUND"}

Bei mir stehen im PV1 nur Power, aber in einer anderen Struktur zur Verfügung:

  "PV1": {
    "POWER_RATIO": "u3_00000046",
    "MPP_INT": [
      "fl_00000000",
      "fl_00000000",
      "fl_43AC447B",
      "fl_00000000"
    ]
  }

Um das Problem zu lösen, habe ich den Request und die Auswertung dementsprechend angepasst.

attr SENEC requestData {"PV1":{"POWER_RATIO":"","MPP_INT":""},"ENERGY":{"GUI_HOUSE_POW":"","GUI_INVERTER_POWER":"","GUI_BAT_DATA_POWER":"","GUI_BAT_DATA_FUEL_CHARGE":"","STAT_STATE":""},"PM1OBJ1":{"P_TOTAL":""},"STATISTIC":{"CURRENT_STATE":""},"BMS":{"VOLTAGE":"","CURRENT":"","CYCLES":""},"TEMPMEASURE":{"BATTERY_TEMP":"","CASE_TEMP":"","MCU_TEMP":""}}

attr SENEC reading11JSON PV1_MPP_INT0
attr SENEC reading11Name Erzeugung MPP1
attr SENEC reading11OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading12JSON PV1_MPP_INT1
attr SENEC reading12Name Erzeugung MPP2
attr SENEC reading12OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}
attr SENEC reading13JSON PV1_MPP_INT2
attr SENEC reading13Name Erzeugung MPP3
attr SENEC reading13OExpr {sprintf("%.2f", unpack "f", pack "L", hex ((split('_',$val,0))[1]),0)}

Danke.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Juergen27 am 08 August 2021, 10:57:31
Hallo msome,

anbei die beiden Funktionen.

SENECStatusText übersetzt die Nummer in den Statustext. Es gibt noch mehr, aber ich habe mir nur die gängigsten rausgesucht und verwendet. Die Liste lässt sich im Code einfach erweitern.
# ************
# SENECStatusText
# übersetzt Statusnummer in lesbaren Text
# {SENECStatusText($)}
# *************

sub SENECStatusText($)

{

my ($StatusNr) = @_;
my $StatusText = "nicht definiert";

my %Status = (
    18 => 'Netz + Entladen',
    17 => 'PV + Entladen',
    16 => 'Entladen',
    15 => 'Akku leer',
    14 => 'Laden',
    54 => 'Ladeschlussphase',
    13 => 'Akku voll',
    21 => 'Ladeschlussphase'
);
if (exists $Status{$StatusNr})
{
$StatusText = $Status{$StatusNr};
} else
{
$StatusText = "Nicht definiert: ". $StatusNr;
}
return $StatusText;
}
# end sub SENECStatusText()

SplitStr2Time_Short() zieht nur die Uhrzeit aus dem Timestamp.
# SplitStr2Time_Short($)
# Zerlegt einen TimeStamp (String) in die Einzelteile und formatiert die Uhrzeit
# 2018-12-12 21:36:13
# {SplitStr2Time_Short("2018-12-01 21:36:13")}

sub SplitStr2Time_Short($)
{
my ($String) = @_;

# my $Datumstring = "01.01.2001";

my @teil = split(" ",$String);
my @zeit = split(":",@teil[1]);
my $zeitstring = sprintf("%02d:%02d", $zeit[0], $zeit[1]);

return($zeitstring);
}
# end sub SplitStr2Time_Short()

Bei mir kommen die Werte für MPP getrennt für jeden der beiden Solarpanelstränge. Hast Du schon mal die Variablen die Dein Senec liefert ausgelesen (IP-Adresse vom Senec Speicher xxx.xxx.xxx.xxx/vars.html)? In meiner Variable MPP_AVAIL habe ich 2 stehen, ohne Deine Anlage zu kennen, tippe ich drauf, dasss es nur ein Strang ist und die Werte deshalb nur in einer Variablen auftauchen.

Gruss Jürgen

Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: msome am 09 August 2021, 12:17:05
Hallo @Juergen27,

vielen Dank für die beiden Funktionen.
Das mit den Readings habe ich rausbekommen. Mein Speicher war noch auf einer alten (0802) SW Version unterwegs, daher kannte er die Volt/Amp/Power readings noch nicht.
Nachdem heute ein Update auf 0811 aufgetaucht ist, kann ich den Speicher mit deinen Readings auslesen.

Ich habe oben in meinem vorherigen Post die "alte" SW-Version ergänzt um Verwirrungen zu vermeiden.

Danke, Matthias

Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: oggy512 am 05 Oktober 2021, 13:28:45
Hallo,

gibt es irgendwo eine Liste/Erklärung, was die jeweiligen Werte denn genau bedeuten?
Einige sind ja hier aus dem Thread heraus zu nehmen, aber es gibt ja unzählige mehr.

Bsp:

PM1OBJ1_P_TOTAL = Netz-Einspeisung, ich hab noch einen PM2OBJ2_P_TOTAL, was macht der denn?
Eine Liste der Statuszustände hab ich gefunden, damit lässt sich z.B. die Funktion von Jürgen27 erweitern, falls jmd. Interesse hat:

# ************
# SENECStatusText
# übersetzt Statusnummer in lesbaren Text
# {SENECStatusText($)}
# *************

sub SENECStatusText($)

{

my ($StatusNr) = @_;
my $StatusText = "nicht definiert";

my %Status = (
0 => 'INITIALZUSTAND',
1 => 'KEINE KOMMUNIKATION LADEGERAET',
2 => 'FEHLER LEISTUNGSMESSGERAET',
3 => 'RUNDSTEUEREMPFAENGER',
4 => 'ERSTLADUNG',
5 => 'WARTUNGSLADUNG',
6 => 'WARTUNGSLADUNG FERTIG',
7 => 'WARTUNG NOTWENDIG',
8 => 'MAN. SICHERHEITSLADUNG',
9 => 'SICHERHEITSLADUNG FERTIG',
10 => 'VOLLLADUNG',
11 => 'AUSGLEICHSLADUNG: LADEN',
12 => 'SULFATLADUNG: LADEN',
13 => 'AKKU VOLL',
14 => 'LADEN',
15 => 'AKKU LEER',
16 => 'ENTLADEN',
17 => 'PV + ENTLADEN',
18 => 'NETZ + ENTLADEN',
19 => 'PASSIV',
20 => 'AUSGESCHALTET',
21 => 'EIGENVERBRAUCH',
22 => 'NEUSTART',
23 => 'MAN. AUSGLEICHSLADUNG: LADEN',
24 => 'MAN. SULFATLADUNG: LADEN',
25 => 'SICHERHEITSLADUNG',
26 => 'AKKU-SCHUTZBETRIEB',
27 => 'EG FEHLER',
28 => 'EG LADEN',
29 => 'EG ENTLADEN',
30 => 'EG PASSIV',
31 => 'EG LADEN VERBOTEN',
32 => 'EG ENTLADEN VERBOTEN',
33 => 'NOTLADUNG',
34 => 'SOFTWAREAKTUALISIERUNG',
35 => 'FEHLER: NA-SCHUTZ',
36 => 'FEHLER: NA-SCHUTZ NETZ',
37 => 'FEHLER: NA-SCHUTZ HARDWARE',
38 => 'KEINE SERVERVERBINDUNG',
39 => 'BMS FEHLER',
40 => 'WARTUNG: FILTER',
41 => 'SCHLAFMODUS',
42 => 'WARTE AUF ÜBERSCHUSS',
43 => 'KAPAZITÄTSTEST: LADEN',
44 => 'KAPAZITÄTSTEST: ENTLADEN',
45 => 'MAN. SULFATLADUNG: WARTEN',
46 => 'MAN. SULFATLADUNG: FERTIG',
47 => 'MAN. SULFATLADUNG: FEHLER',
48 => 'AUSGLEICHSLADUNG: WARTEN',
49 => 'NOTLADUNG: FEHLER',
50 => 'MAN: AUSGLEICHSLADUNG: WARTEN',
51 => 'MAN: AUSGLEICHSLADUNG: FEHLER',
52 => 'MAN: AUSGLEICHSLADUNG: FERTIG',
53 => 'AUTO: SULFATLADUNG: WARTEN',
54 => 'LADESCHLUSSPHASE',
55 => 'BATTERIETRENNSCHALTER AUS',
56 => 'PEAK-SHAVING: WARTEN',
57 => 'FEHLER LADEGERAET',
58 => 'NPU-FEHLER',
59 => 'BMS OFFLINE',
60 => 'WARTUNGSLADUNG FEHLER',
61 => 'MAN. SICHERHEITSLADUNG FEHLER',
62 => 'SICHERHEITSLADUNG FEHLER',
63 => 'KEINE MASTERVERBINDUNG',
64 => 'LITHIUM SICHERHEITSMODUS AKTIV',
65 => 'LITHIUM SICHERHEITSMODUS BEENDET',
66 => 'FEHLER BATTERIESPANNUNG',
67 => 'BMS DC AUSGESCHALTET',
68 => 'NETZINITIALISIERUNG',
69 => 'NETZSTABILISIERUNG',
70 => 'FERNABSCHALTUNG',
71 => 'OFFPEAK-LADEN',
72 => 'FEHLER HALBBRÜCKE',
73 => 'BMS: FEHLER BETRIEBSTEMPERATUR',
74 => 'FACOTRY SETTINGS NICHT GEFUNDEN',
75 => 'NETZERSATZBETRIEB',
76 => 'NETZERSATZBETRIEB AKKU LEER',
77 => 'NETZERSATZBETRIEB FEHLER',
78 => 'INITIALISIERUNG',
79 => 'INSTALLATIONSMODUS',
80 => 'NETZAUSFALL',
81 => 'BMS UPDATE ERFORDERLICH',
82 => 'BMS KONFIGURATION ERFORDERLICH'
83 => 'ISOLATIONSPRÜFUNG',
84 => 'SELBSTTEST',
85 => 'EXTERNE KONTROLLE',
86 => 'FEHLER: TEMPERATURSENSOR',
87 => 'NETZBETREIBER: LADEN VERBOTEN',
88 => 'GRID OPERATOR: ENTLADEN VERBOTEN',
89 => 'UNGENUTZTE KAPAZITÄT',
90 => 'SELBSTTEST FEHLER',
91 => 'ERDUNG FEHLERHAFT'
);
if (exists $Status{$StatusNr})
{
$StatusText = $Status{$StatusNr};
} else
{
$StatusText = "Nicht definiert: ". $StatusNr;
}
return $StatusText;
}
# end sub SENECStatusText()

Und eine solche Aufschlüsselung der einzelnen Parameter wäre super :-)
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: carlos am 05 Oktober 2021, 13:47:43
Das ist der Netzbezug.

Gruß

Carlos
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: oggy512 am 05 Oktober 2021, 15:30:21
Das ist der Netzbezug.

Gruß

Carlos


Vielen Dank für die Info dazu, aber gibt es denn eine Liste mit weiteren Parametern?


Aktuell interessieren mich persönlich folgende Werte:

- Aktuelle Erzeugung PV in kW (oder W)
- Davon Eigenverbrauch in kW (oder W)
- Davon in den Speicher laden in kW (oder W)
- Davon Netzeinspeisung in kW (oder W)

- Aktueller Hausverbrauch in kW (oder W)

- Aktuelle Speicher Entladung in kW (oder W)
- Aktueller Batteriestand in %

- Aktueller Netzbezug in kW (oder W)


- All o.g. Werte nicht als Live, sondern als (bisheriger) Tageswert, sprich:
- Gesamt PV Erzeugung in kWh
- Gesamt Eigenverbrauch in kWh
- Gesamt in den Speicher geladen in kWh
- Gesamt ins Netz gespeist in kWh
- Gesamt Hausverbrauch in kWh
- Gesamt aus dem Speicher gezogen in kWh
- Gesamt aus dem Netz gezogen in kWh



Einige der Werte sind auf den Seiten zuvor zu finden, aber nicht alle, daher meine Frage nach eine (gesamten) Liste, sodass sich quasi jeder seine Werte/Abfragen  zusammen bauen kann ;-)


Vielen Dank!
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: msome am 05 Oktober 2021, 17:49:53
Hi, ich habe meine Werte aus der Senec GUI selbst rausgesucht.  --> IP-Adresse des Speichers im Chrome eingeben.
Mit Strg+Shift+J den Developer-Modus des Browsers starten.

Dann den grün markierten Pfeil aktivieren und einfach über die GUI Felder drüberfahren.
Nicht direkt auf die Zahl sondern ein bisserl daneben/drüber/drunter, dann wird der Datenfeld-Name als Paragraph angezeigt.
In meinem Beispiel hier: PV-Erzeugung = p#ENERGYGUI_INVERTER_POWER --> ENERGY.GUI_INVERTER_POWER
Das ist imho die zuverlässigste Quelle für das Mapping, da immer trotz Firmware-updates aktuell.
Etwas mühsam, aber zumindest muss ich dann nicht zweifeln ob ich die Felder richtig geraten habe.

Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: oggy512 am 06 Oktober 2021, 13:42:32
Hi, ich habe meine Werte aus der Senec GUI selbst rausgesucht.  --> IP-Adresse des Speichers im Chrome eingeben.
Mit Strg+Shift+J den Developer-Modus des Browsers starten.

Dann den grün markierten Pfeil aktivieren und einfach über die GUI Felder drüberfahren.
Nicht direkt auf die Zahl sondern ein bisserl daneben/drüber/drunter, dann wird der Datenfeld-Name als Paragraph angezeigt.
In meinem Beispiel hier: PV-Erzeugung = p#ENERGYGUI_INVERTER_POWER --> ENERGY.GUI_INVERTER_POWER
Das ist imho die zuverlässigste Quelle für das Mapping, da immer trotz Firmware-updates aktuell.
Etwas mühsam, aber zumindest muss ich dann nicht zweifeln ob ich die Felder richtig geraten habe.

Für die Live Werte ist das ne gute Idee, werde ich mir mal so zusammen suchen, aber die Tageswerte in kWh krieg ich so nicht raus, da diese im Dashboard des Speichers ja nicht angezeigt werden.

Die stehen zwar im Onlineportal, aber da ist die Frage ob und wie man da ran kommt, bzw glaube ich diese Werte kommen ja auch vom Speicher, also müsste der die ja auch vorhalten.
Zumindest gibt es ja einen Statistics Knoten im Speicher, wo das sicher raus zu lesen wäre...
Wo wir wieder bei einer Liste aller Werte und ihrer Bedeutung wären  ;D
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: msome am 06 Oktober 2021, 14:19:23
Wo wir wieder bei einer Liste aller Werte und ihrer Bedeutung wären  ;D

Hi, die Liste aller Werte erstellen ist kein Problem; ich hab eine Liste der 1305 Werte meines V3 hybrid Duo, ohne Debug und Display immer noch 1002 - aber leider keine erschöpfende Quelle für Beschreibungen. Ich hab gerade mal für 10% der Werte eine Beschreibung bestätigen können.

Vielleicht hat ja noch jemand eine Idee? Ich wäre dabei wenn ich helfen kann.. :-)
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Juergen27 am 06 Oktober 2021, 16:47:35
Hallo zusammen,

die Liste bzw. eine Übersicht über die gespeicherten Variablen (über IP-Addresse_SENEC/vars.html) sind nicht das eigentliche Problem. Nur sind viele Werte entweder Null oder werden nicht versorgt (z.B. bei mir Wallbox). Ich glaube, ich habe die meisten relevanten Werte über die Vars oder über Postmaster rausgefunden. (siehe Post https://forum.fhem.de/index.php/topic,107265.msg1167431.html#msg1167431).

Die Werte für eine Stunden- / Tagesstatistik haben die Entwickler von SENEC irgendwann rausgenommen, d.h. man muss sich irgendwie über die laufenden Werte behelfen und diese Werte ausrechnen.

Gruss

Jürgen
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: msome am 06 Oktober 2021, 23:24:55
Hi,
habe jetzt erstmal das Durchforsten der GUI soweit durch.

Zu 136 Werten konnte ich eine Beschreibung & Codierung aus der GUI + ein paar von Jürgens im vorigen Post verlinkter Definition hinzufügen.

Zu den Tagesstatistiken konnte ich keine Werte in den Feldern finden die auch nur annähernd den Werten aus dem mein senec Portal entsprechen.
Dank der Info von Jürgen27 weiß ich jetzt dass diese Suche sinnlos war.

@oggy512, ich hab dir meine aktuelle Liste mal per PN geschickt.
Keine Ahnung ob dir dort was weiterhilft.
Wie Jürgen27 schon geschrieben hat, viele interessante Live-Daten hat er schon in seiner Definition aufgeführt.

Gruß, Matthias

Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: oggy512 am 07 Oktober 2021, 09:41:14
Vielen Dank euch beiden @Juergen27 und @msome !
In der Tat sind die meisten interessanten Werte bereits in Jürgens Post enthalten, mir ging es im Speziellen noch um die Tagesstatistik. Wenn diese Werte aber wirklich nicht (mehr?) im Speicher vorhanden sind, dann muss ich mir selbst etwas bauen, was quasi ab 00:00 Uhr die jeweiligen live Werte addiert oder sowas...
Oder mal sehen, ob man die Daten aus dem Portal einfach rausziehen kann.

Evtl seh ich mir auch mal das Auslesen vom Zähler (in meinem Fall ein EMH eHZM-W) an um mir die Tages, bzw Statistikwerte zu holen, hatte aber gehofft, das geht über den Senec einfacher, da ich die Bastelei über ESP8622, IrDa, TCRT5000 & Co vermeiden wollte  ::)
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: carlos am 07 Oktober 2021, 10:56:20
Ich habe seit Mai auch eine PV mit Senec Speicher und habe mir ein modul geschrieben, das auch die Tageswerte von meinsenec holt.
Soweit ist das jetzt noch im Beta Status für den Eigengebrauch.
Ich hätte gerne noch die Wochen/Monats/Jahresstatistiken  mit drin, aber die muss man selbst berechnen, da sie weder im Speicher noch in meinsenec vorhanden sind. Außer den Wochen CSV Dateien zum runterladen.
Vielleicht konnte man da was draus machen.
Wenn hier Interesse besteht könnte ich das dann auch zur Verfügung stellen.

Im Anhang ein Bild, wie es momentan aussieht.

Gruß

Carlos
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Vize am 09 Oktober 2021, 18:49:25
Hallo Carlos,

das sieht doch schonmal gut aus.
Also ich hätte Interesse an deinem Modul, gerade wegen der Tageswerte. Die bekommt man nach einem der zahlreichen Updates der Vergangenheit ja leider nicht mehr von der lokalen Webseite...

VG
Andreas
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: cjung am 10 Oktober 2021, 22:28:46
Ich würde mich über das modul auch sehr freuen.
Schaut wirklich sehr gut aus.

Gruß
Christoph
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: xerion am 11 Oktober 2021, 07:53:28
Ich würde mir das Modul auch gerne mal anschauen wollen.
Danke für dein Arbeit und das Angebot und es zu teilen.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: oggy512 am 12 Oktober 2021, 14:17:17
Ich habe seit Mai auch eine PV mit Senec Speicher und habe mir ein modul geschrieben, das auch die Tageswerte von meinsenec holt.
Soweit ist das jetzt noch im Beta Status für den Eigengebrauch.
Ich hätte gerne noch die Wochen/Monats/Jahresstatistiken  mit drin, aber die muss man selbst berechnen, da sie weder im Speicher noch in meinsenec vorhanden sind. Außer den Wochen CSV Dateien zum runterladen.
Vielleicht konnte man da was draus machen.
Wenn hier Interesse besteht könnte ich das dann auch zur Verfügung stellen.

Im Anhang ein Bild, wie es momentan aussieht.

Gruß

Carlos


Das sieht für einen ersten Schuss doch wirklich gut aus, da hätte ich Interesse dran, wenn du das teilen magst :-)

Vielen Dank!
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: carlos am 12 Oktober 2021, 14:44:06
Hallo
mache ich gerne wenn ich soweit bin leider hat mich diese Woche eine Grippe erwischt so dass diese Woche nichts mehr draus wird. Außerdem bin ich noch am umstellen bei den Abfragen zu meinsenec und zu dem lokalen senec Speicher aber wenn ich soweit bin werde ich es hier veröffentlichen. Es fehlen weiterhin auch noch die Monatswerte, denn diese sind weder im senec Speicher noch in mein senec vorhannden.
Gruß Carlos
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Vize am 13 Oktober 2021, 21:18:45
Sehr schön!
Besten Dank.

Dann erstmal gute Besserung und kurier dich ordentlich aus!

VG
Andreas

Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: carlos am 12 November 2021, 15:24:27
Hallo,
Ich habe mal eine 1. Version des SENEC Moduls erstellt.
Hier https://forum.fhem.de/index.php/topic,124096.msg1186399.html#msg1186399 (https://forum.fhem.de/index.php/topic,124096.msg1186399.html#msg1186399)geht's dann weiter.
Bitte um feedback.

Gruß

Hubert
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: freddeh am 13 Januar 2022, 11:58:45
Hallo zusammen,

als noch völlig unbeteiligter, darf ich fragen ob ihr mit der Einbindung der SENEC-Anlage soweit zufrieden seid, wenn auch nur partiell möglich.
Hintergrund meiner Frage ist, dass wir eine PV-Anlage anschaffen möchten, aber schon eine openWB haben.
Nun wurde uns die SENEC.Home V3 Hybrid angeboten. Lässt sich eine intelligente, funktionierende Ladesteuerung so realisieren oder würdet ihr für jemanden, der noch die Wahl hat von dem System abraten?

Erfahrung mit FHEM habe ich und auch scripten schreckt mich nicht ab, mir geht es eher darum ob man an alle relevanten Parameter rankommt.

Danke für eure Meinung.

Viele Grüße
freddeh
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: xerion am 13 Januar 2022, 16:18:34
Hallo zusammen,

als noch völlig unbeteiligter, darf ich fragen ob ihr mit der Einbindung der SENEC-Anlage soweit zufrieden seid, wenn auch nur partiell möglich.
Hintergrund meiner Frage ist, dass wir eine PV-Anlage anschaffen möchten, aber schon eine openWB haben.
Nun wurde uns die SENEC.Home V3 Hybrid angeboten. Lässt sich eine intelligente, funktionierende Ladesteuerung so realisieren oder würdet ihr für jemanden, der noch die Wahl hat von dem System abraten?

Erfahrung mit FHEM habe ich und auch scripten schreckt mich nicht ab, mir geht es eher darum ob man an alle relevanten Parameter rankommt.

Danke für eure Meinung.

Viele Grüße
freddeh

Hallo ich nutze selber seit 2016 einen SENEC Speicher. Für meine beiden Wallboxen nutze ich auch openWB. Der Speicher an sich ist vielleicht nicht der schlechteste. Würde mir den aber trotzdem nicht wieder kaufen, da eine Anbindung zu einem SmartHome mit bestehenden Speichern nur durch Umwege geht. SENEC selber unterstützt da Null und verweist nur auf den Kooperationspartner der für viel Geld eine Schnittstelle einbaut, das was andere in der Preisklasse serienmäßig haben und dann auch noch sogar zusätzlich per API anbieten.
Der SENEC Speicher ist gerade in Verbindung mit einer Wallbox (die nicht von SENEC kommt) nicht wirklich zu gebrauchen, da man nicht das Laden und Entladen gezielt steuern kann und somit wenn man den EnFluRi des Speichers vor den Wallboxen anklemmt, immer erst der Speicher entleeret, wird da man es nicht sperren kann.
Das ist nicht mehr Zeitgemäß und SENEC ist leider nicht daran interessiert solche Feature im Nachgang zur Verfügung zu stellen. Das spricht nicht für ein Innovatives und kundenorientiertes Unternehmen, zumindest wenn man es auf die SmartHome Anbindung bezieht.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: msome am 13 Januar 2022, 17:13:00
[...] ob ihr mit der Einbindung der SENEC-Anlage soweit zufrieden seid, [...]

Hi, ich hab den Senec Speicher erst seit August 2021; technisch bin ich schon zufrieden. Der Aufbau intern in der Box ist laut Monteur sehr wartungsfreundlich.
Meine bisherige einmalige Erfahrung mit dem Werkskundendienst (einer der Akkus war von Anfang an defekt) ist durchweg positiv.
Pünktlich, nett, kompetent, problemlos - so wie man es sich wünscht.

Was die Schnittstelle angeht, muss ich xerion zustimmen. Es gibt keine öffentliche API um an die Daten zu kommen.
Der einzige Weg ist, so wie von diversen Applikationen implementiert, die API auszulesen welche von der Senec Speicher internen Webseite verwendet wird namens "lala".
Da das ungeschützt funktioniert und die Anfrage+Antwort im JSON Format ist, ist dies auch kein Problem.
Aber ich hatte es schon, dass sich die Datenfelder einfach "über Nacht" ändern, wenn die Büchse ein Firmware-Update macht. Ohne Ankündigung, ohne Erfolgsmeldung.

Egal; wenn man mit dem Risiko leben kann dass theoretisch diese Schnittstelle sich jederzeit ändern kann, dann kein Problem.
Da die lokale Webseite ja irgendwie an die Daten kommen muss, hoffe ich dass Senec das Interface nicht irgendwann einfach deaktiviert.
Sollte dem so sein, bliebe nur die viel langsamere Anbindung an die mein-senec Webseite. Überschussladen darüber ist wahrscheinlich zu träge.

Was Wallbox Ansteuerung angeht, ich nutze auch Senec-fremde Wallboxen (in meinem Fall go-e) und steuere diese bzgl. PV-Überschuss mit Hilfe von evcc (https://evcc.io/).
Schönes Projekt, unterstützt viele Wallboxen und Speicher. Die einmalige Konfiguration fordert Geduld beim Lesen der Anleitung und des Forums + viel try-and-error, aber wenn es mal läuft - ist alles gut.

Evcc holt sich den Stromüberschuss (Grid-Bezug/Einspeisung) und den Akkustand vom Senec Speicher sowie den Ladestand vom Fahrzeug und steuert damit die Fahrzeugladung im PV-Modus (1p/3p und Steuerung über Stromstärke bei den go-e Boxen). Auch evcc nutzt im Senec-Fall (per bash) per Anleitung das "lala" Interface. Ich habe meine Senec Daten auf einem MQTT Broker und gehe deshalb über MQTT weiter zum evcc. Vieles ist dort möglich.
Da evcc dies schafft, wäre solch eine Überschuss-Steuerung natürlich auch direkt im FHEM implementierbar, aber meine Freizeit ist begrenzt und mir gefällt generell die Visualisierung des Hausverbrauchs von evcc.

Matthias
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: cjung am 13 Januar 2022, 22:52:33
Vorab: Die SENEC Batterie erscheint mir technisch in Ordnung und hat bei mir in den letzten 3 Jahren keinerlei Probleme gemacht.
Was SENEC mit der Batterie verspricht, wird - bei mir - definitiv eingehalten.

Für mich persönlich ist es aber sehr bedauerlich, das SENEC sich nicht bereit erklärt, eine öffentliche, dokumentierte und supportete API anzubieten.
Inzwischen sind viele Schnittstellen bekannt und mit einem eigenen Modul, kann ich meine OpenWB Wallbox auch problemlos einbinden.

Ich würde mich bei einer neuen Batterie inzwischen vorher informieren, welche Schnittstellen andere Hersteller bereit stellen. Mit den vorhandenen Modulen in der OpenWB findet man eine sehr gute Auswahl an verschiedenen Herstellern, die eine andere Einstellung zu öffentlichen APIs haben.
Eine Batterie tauscht man aber nicht einfach aus.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: carlos am 14 Januar 2022, 14:13:38
Hallo,
Ich habe seit Mai 2021 eine PV Anlage mit einem Senec Home V2.1 Speicher.
Technisch gesehen bin auch, bis auf die fehlende api Anbindung, damit sehr zufrieden.
Stört mich aber nicht, da ich mir das SENEC module dafür geschrieben haben.
Das deckt in der jetzigen noch nicht veröffentlichten version (kommt demnächst) soweit alles ab.
Mit Hilfe von user bkappler ist auch die Senec Wallbox eingebunden.
Ich werde mir auch eine OPENWB Wallbox zulegen und habe bis jetzt die Nightly:
1.9.250 und auch die neue 2.0 Alpha version zum testen installiert.
Für mich kann ich sagen, dass beide mit meiner Installation, d.h. mit meinem Senec Home V2.1 Speicher, funktionieren.
Anbindung kann bei der 2.0 Version recht flexibel über MQTT, HTTP funktionieren entweder über fhem oder wie im OPENWB Forum beschrieben mit dem python script.
https://openwb.de/forum/viewtopic.php?f=5&t=1082&hilit=senec (https://openwb.de/forum/viewtopic.php?f=5&t=1082&hilit=senec)

Ebenso habe ich mir evcc angeschaut, auch das funktioniert sehr gut mit meiner Installation.

Gruß

Carlos
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: stenny am 29 Januar 2022, 13:40:21
Hallo,

wo finde ich denn die aktuelle Version??

Danke
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 03 März 2022, 18:51:01
Die bisherige Lösung via HTTPMOD war nicht zufriedenstellend für mich. Die einstellbaren Zeitintervalle sind mir zu langsam und das ganze war mir zu "hakelig".
Ich versuche bei mir im Hause so viel wie möglich via MQTT kommunizieren zu lassen. SENEC ist bei der Frage nach MQTT bislang auch echt nicht hilfsbereit gewesen.
Also habe ich mich ein wenig aufgeschlaut und eine SENEC2MQTT Bridge gebaut. 

Das ganze läuft auf Python3 und ist als Service auf meinem FHEM server (Intel NUC). 
Vorlage war ein Modul hier: https://gist.github.com/smashnet/82ad0b9d7f0ba2e5098e6649ba08f88a (https://gist.github.com/smashnet/82ad0b9d7f0ba2e5098e6649ba08f88a) 
Ich habe dann einfach noch die Weiterleitung zu MQTT gemacht.   

Ich kann jetzt das Updateintervall von 1 bis X Sekunden einstellen und bekomme via MQTT die (für mich interessanten) Daten bereitgestellt.
Der Vorteil ist, dass es damit quasi systemagnostisch geht, egal welche Geschmacksrichtung von Hausautomatisierung man mag - obwohl wir alle natürlich FHEM bevorzugen  ;D

Wenn interesse besteht kann ich da noch mehr infos oder code teilen.

Grüße,
Patrix
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 05 Mai 2022, 22:15:46
HI paparix.
Ich habe auch einen Senec v3 duo und eine open Wb wallbox.
Ich hätte Interesse an deiner Lösung. Ich habe bereits ein RPI und Fhem darauf installiert. Aber wie mache ich jetzt weiter? Ich habe nur sehr geringe Kenntnisse in Programieren und es wäre cool, wenn du mir eine detailierte Anleitung schicken könntest. Wäre sehr cool.

Vielen
Dank
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Papaloewe am 06 Mai 2022, 09:49:09
Hallo PapaRiX,

ich hätte ebenfalls sehr großes Interesse an deiner SENEC-MQTT-Bridge Lösung.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Doemy am 06 Mai 2022, 19:33:48
Hallo PapaRiX,

habe ebensfalls den V3 duo und bekomme bald eine OpenWB, hätte auch interesse daran  :D

Danke

Gruß
Thomas
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 11 Mai 2022, 23:48:11
Sorry, Ich war geschäftlich unterwegs.

Kurzanleitung:
Erst mal zur Info, ich bin absolut kein Experte für Linux oder Python und habe mir das alles mehr oder weniger sauber zusammengefrickelt. ich kann also nur recht beschränkt Support leisten.  ;D
 
- Ich habe mein FHEM auf einem debian Server (Raspian sollte gleich funktionieren)
- Ich betreibe einen Mosquitto Broker auf meinem FHEM Server nähere dazu findet ihr hier
https://mosquitto.org/download/ (https://mosquitto.org/download/)
- Auf dem Server habe ich Python3 installiert um die Skripte laufen zu lassen
sudo apt install python3- Es werden folgende libraries/packages gebraucht:
https://pypi.org/project/paho-mqtt (https://pypi.org/project/paho-mqtt)
python3 -m pip install paho-mqtt und
https://pypi.org/project/requests/ (https://pypi.org/project/requests/)
python3 -m pip install requests

Es gibt zwei Pyhon Skripte.
Senec.py hat den Ursprung hier: https://inden.one/blog/2020/11/26/senec-python-library.html 
Und dient dazu, ähnlich wie bei dem HTTPMod Modul die Daten über HTTP beim Speicher anzufragen. Ich habe es leicht modifiziert und meinen Bedürfnissen angepasst.
Ich habe es aufgrund der aktuellen Abschaltung momentan außerdem etwas beschnitten, weil es Statuscodes gibt, die das Skript noch nicht kennt. Es sind wohl die Statuscodes 95 und 96 hinzugekommen. Die sind im Skript schon mal drin. Wenn das mit den Codes passt, kann man irgendwann einfach das "#" in Zeile 71 rausnehmen und das Decodieren des Statuscodes wieder aktiv machen.

SENEC2MQTT.py habe ich zusammengebastelt und sendet die vom Senec bekommenen Daten auf dem MQTT Broker.
MQTT Broker, sowie SENEC Adresse müssen dort zunächst entsprechend in Zeile 20-23 vorkonfiguriert werden.

Beide Skripte hängen hier an.

- Ich habe die beiden Skripte bei mir auf meinem FHEM Server (debian) unter /usr/bin/SENEC2MQTT abgelegt
- Ich habe die Dateien executable gemacht (hier bin ich wie gewohnt mit der bazooka vorgegangen):
sudo chmod 777 /usr/bin/SENEC2MQTT/Senec.py
sudo chmod 777 /usr/bin/SENEC2MQTT/SENEC2MQTT.py
Das geht ggf. auch etwas eleganter.
- Um SENEC2MQTT nun automatisch mit dem Systemd laufen zu lassen, muss in /etc/systemd/system eine Datei SENEC2MQTT.service angelegt werden.
Inhalt:
[Unit]
Description=Senec to MQTT Bridge
Wants=network.target
After=network.target

[Service]
Type=simple
User=[TRAGT HIER EUREN USER EIN]
Group=[TRAGT HIER DIE GRUPPE DES USERS EIN]
ExecStart=/usr/bin/python3 /usr/bin/SENEC2MQTT/SENEC2MQTT.py
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

Hinweis, in den Zeilen User und Group müsst ihr euren Linux oder Raspian user eintragen (also z.B. User=pi, Group=pi)

Die Datei muss ebenfalls ausführbar gemacht werden.
sudo chmod 777 /etc/systemd/system/SENEC2MQTT.service
Ich bin mir nicht mehr ganz sicher, aber es könnte sein, dass man dann erst mal mit
sudo systemctl start SENEC2MQTTden Dienst erstmalig starten muss.
damit der service auch bei einem Neustart automatisch geladen wird müsst ihr den dienst enablen
sudo systemctl enable SENEC2MQTT

Nutzen und Modifizieren ist erlaubt. Wer verbessert muss teilen!

EDIT:
hier noch eine Kurzbeschreibung.
Welche Topics verwendet werden findet Ihr in SENEC2MQTT.py ab Zeile 54
Es werden standardmäßig alle 2 Sekunden die Daten vom SENEC geholt und auf den MQTT gepublisht.
Auf dem Topic "Keller/Solar/control/SENEC2MQTTInterval" könnt ihr das Updateintervall einstellen.
Ich empfehle Werte zwischen 1 und 30.
ACHTUNG: Ich habe hier keine Fehlerbehandlung drin. Ich habe auch nie getestet was mit Werten <1 oder >30 oder gar nichtnumerischen Daten passiert.
Also wie immer auch hier: Benutzung auf eigene Gefahr.
Auf "Keller/Solar/UpdateIntervall" gibt der Dienst zurück, welches Intervall gerade verwendet wird.


Danke @Torsten24 für die Hilfe beim verbessen dieser Anleitung :-)
Extra für @Torsten24 habe ich noch eine SENEC2MQTT_openWB.py bridge gebaut. Diese liefert zusätzlich noch die Daten, die openWB möchte.
SENEC2MQTT_openWB.py ersetzt dann SENEC2MQTT.py

Für SENEC2MQTT_openWB.py muss alles wie oben mit der SENEC2MQTT bridge beschrieben gemacht werden. also Senec.py + SENEC2MQTT_openWB.py in /usr/bin/SENEC2MQTT legen, rechte vergeben. SENEC2MQTT.service anlegen, aber bei "ExecStart=" am Ende SENEC2MQTT_openWB.py eintragen.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 12 Mai 2022, 21:47:28
Viele Dank Paprix.
Also ich bin auch totaler laie, deswegen vielleicht viele blöde fragen...
Du hast das phyton auf dem SErver installiert, heißt direkt via putty in der Kommandozeile die Operationen engeben oder direkt, wie auch immer in fhem?
Und wie bekomme ich denn deine vorgefertigen Scripte auf mein Pi?
Ich hoffe ich nerve nicht zu sehr, aber ich möchte es zeitnah mal zum laufen bekommen, da jetzt mein Nachbar meine WB nutzt solange mir noch das passende auto dazu fehlt und da wäre es schon toll, wenn er dann "nur" mit Solarstrom tanken könnte...
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 13 Mai 2022, 19:07:09
Hey Torsten.

das skript läuft unabhängig von FHEM.
Du brauchst also dein Putty (oder auch gerne auch direkt mit Tastatur und Display am Raspi).
wie beschrieben brauchst du dann Mosquitto eingerichtet, python3 mit den libraries paho-mqtt und requests und die skripte.
Kopieren kannst Du das zum Beispiel mit winscp oder etwa auch mit einem USB stick oder (für ganz harte) über die kommandozeile.

Du kannst auch für den Anfang auf diese Systemd Geschichte verzichten und zum Testen das SENEC2MQTT skript direkt aus dem Terminal (z.B. Putty) starten.

Das ist ein wenig Bastelei, aber wenn Du Google und fragen hier nutzt und ein wenig probierst, klappt das :-D

Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 16 Mai 2022, 21:29:56
Hi. 
Muss nochmal nachfragen... Also ich denk ich habe das jetzt alles soweit geschafft... Zumindest konnte ich über putty die ganzen schritte abarbeiten ohne Fehlermeldung...
Aber wie bekomme ich das jetzt im fhem, dass es mir da irgendwas anzeigt?
Wie kann ich überprüfen ob meine Vorarbeit korrekt war?

Vielen Dank für deine Geduld und hilfe
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 17 Mai 2022, 20:53:42
im FHEM nimmst Du ein MQTT device https://wiki.fhem.de/wiki/MQTT_DEVICE (https://wiki.fhem.de/wiki/MQTT_DEVICE) und richtest es entsprechend ein. 
Hier mein Device als Beispiel (vergiss nicht nicht, dass Du in FHEM auch ein MQTT Gateway einrichten musst

define SENEC_MQTT MQTT_DEVICE
setuuid SENEC_MQTT 621fd002-f33f-8632-c019-315ba0f5d958c967
attr SENEC_MQTT alias SENEC_MQTT
attr SENEC_MQTT group SENEC
attr SENEC_MQTT icon solar_icon
attr SENEC_MQTT publishSet_UpdateInterval slider,1,1,60 Keller/Solar/control/SENEC2MQTTInterval
attr SENEC_MQTT room Keller
attr SENEC_MQTT subscribeReading_BatCurrent Keller/Solar/BatCurrent
attr SENEC_MQTT subscribeReading_BatEnergyCharge Keller/Solar/BatEnergyCharge
attr SENEC_MQTT subscribeReading_BatEnergyDischarge Keller/Solar/BatEnergyDischarge
attr SENEC_MQTT subscribeReading_BatPower Keller/Solar/BatPower
attr SENEC_MQTT subscribeReading_BatVoltage Keller/Solar/BatVoltage
attr SENEC_MQTT subscribeReading_GridEnergyIn Keller/Solar/GridEnergyIn
attr SENEC_MQTT subscribeReading_GridEnergyOut Keller/Solar/GridEnergyOut
attr SENEC_MQTT subscribeReading_GridLimit Keller/Solar/GridLimit
attr SENEC_MQTT subscribeReading_GridPower Keller/Solar/GridPower
attr SENEC_MQTT subscribeReading_HouseEnergy Keller/Solar/HouseEnergy
attr SENEC_MQTT subscribeReading_HousePower Keller/Solar/HousePower
attr SENEC_MQTT subscribeReading_OpHours Keller/Solar/OpHours
attr SENEC_MQTT subscribeReading_SOC Keller/Solar/SOC
attr SENEC_MQTT subscribeReading_SolarEnergy Keller/Solar/SolarEnergy
attr SENEC_MQTT subscribeReading_SolarPower Keller/Solar/SolarPower
attr SENEC_MQTT subscribeReading_Status Keller/Solar/SystemStatus
attr SENEC_MQTT subscribeReading_TimeStamp Keller/Solar/TimeStamp

Zum Testen nehme ich in der Regel aber einfach den MQTT explorer http://mqtt-explorer.com/ (http://mqtt-explorer.com/) 
Das ist nettes kleines Tool, mit dem man schnell und einfach nachsehen kann, was auf Deinem MQTT Netz so los ist.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 21 Mai 2022, 21:11:32
Ich weiß, ich nerve... aber entweder stelle ich mich einfach zu blöd an oder ich check es nicht...
Ich habe jetzt alles nochmal neu aufgestetz, weil ich halt viele verschiedene Sachen getestet habe... Aber bei mir sind die attr Einträge die du in deinem Device hast gar nicht zum auswählen vorhanden...
Desweiteren sehe ich in fhem bis jetzt keinerlei veränderung. Ich hänge mal ein paar screenshots an, vielleicht kann mir jemand helfen und sagen was ich falsch mache...
Ich spiele mittlerweile jeden abend einige stunden daran rum und komme nicht wirklich auf einen grünen Zweig... zum verzweifeln
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 22 Mai 2022, 10:27:04
Hey Torsten,

kein Problem, lass uns mal schauen...
1. funktioniert das Skript? (mit mqtt explorer geprüft)? 
2. Es sieht für mich so aus, als ob du MQTT und MQTT2 Devices vermischt, das geht so nicht.
 
Du brauchst einmal das hier um FHEM deinen Broker bekannt zu machen: https://fhem.de/commandref.html#MQTT (https://fhem.de/commandref.html#MQTT)
und Dein SENEC-MQTT device sollte dann ein https://fhem.de/commandref.html#MQTT_DEVICE (https://fhem.de/commandref.html#MQTT_DEVICE) sein.
 
So funktioniert es bei mir.
Ich denke, Du könntest das bestimmt auch mit MQTT2_SERVER + MQTT2_DEVICE machen, das kenne ich aber nicht.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 22 Mai 2022, 10:57:36
Hi. Danke für deine Unterstützung
Also ich geh davon aus, dass mosquitto funktioniert. Mit dem mqtt explorer hat es zwar nicht funktioniert, aber wenn ich mich mit zwei terminals über putty einlogge und in eines eine Meldung schreibe bekomme ich es im zweiten angezeigt.
Die MQTT Sachen habe ich geändert. Sieht jetzt so aus...
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 22 Mai 2022, 11:29:14
Okay, wir kommen der Sache näher. 
achte mal drauf, dass Du bei deinem MQTT "Broker" auch den Port mit angibts
Also bei DEF: 127.0.0.1:1883 
(ich gehe mal davon aus, dass Du Mosquitto auf dem standardport gelassen hast.

 
außerdem hast Du bei deinem MQTT_device "senec" die falsche IODev. Da sollte nicht openWB stehen sondern "Broker".
Dann ist dein MQTT_device auch mit dem Broker verbunden. 
 
Dass der MQTT explorer nicht geht ist aber nicht gut. Damit solltest Du auf jeden Fall einfach feststellen können, was alles auf dem Broker los ist, unter anderem was Dir SENEC2MQTT.py liefert.
da sollten die ganzen infos vom SENEC2MQTT ankommen (sofern Du im Skript die Topics nicht geändert hast)
außerdem kannst Du da recht einfach auch topics zum testen absetzen.
was passiert denn im Putty bei:
mosquitto_sub -v -t Keller/Solar/#


Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 22 Mai 2022, 11:54:28
so, also die zwei sachen habe ich geändert. ich habe nochmal 2 scrrenshots angehängt...
Scheinbar läuft das script nicht, weil wenn ich das im Putty eingebe scheint es so als ob es auf irgendwas warten würde...
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 22 Mai 2022, 12:22:21
Okay, FHEM sieht ganz gut aus. 
Jetzt müssten wir mal schauen was bei dem skript nicht richtig läuft:

- hast Du systemd eingerichtet?
  - läuft der Prozess?
was sagt denn:
systemctl status SENEC2MQTT 
wenn nein, nicht so schlimm, du kannst das skript auch erst mal manuell starten:
python3 /usr/bin/SENEC2MQTT/SENEC2MQTT.py 

Spontan würde ich noch fragen wollen, ob Du im SENEC2MQTT.py den Broker und deine Senec anlage eingetragen hast?
nano /usr/bin/SENEC2MQTT/SENEC2MQTT.py(falls nicht bekannt: nano ist ein einfacher texteditor, screenshot hängt an, mit STRG+X kommst Du da raus, und er fragt Dich, ob Du speichern willst)



Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 22 Mai 2022, 20:24:58
Hi.Sorry, ich war noch unterwegs...
Ich habe beides gemacht, was du gesagt hast. Scheinbar hat er die Datei SENEC2MQTT nicht gefunden, da ich sie in das Stammverzeichnis kopiert habe, weil mich winscp nicht anders gelassen hat... Jetzt sollte sie aber über umwege da sein wo du ursprünglcih angegeben hattest.Aber scheinbar hat er immernoch ein Problem.
Die IP's passen aber
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 22 Mai 2022, 23:09:56
Schritt für Schritt...

also ich sehe, Du hast paho noch nicht installiert
python3 -m pip install paho-mqttund wenn wir schon dabei sind, versuch gleich noch
python3 -m pip install requests 
paho ist eine library, die Du brauchst um MQTT zu sprechen
requests ist eine library, die Du brauchst um SENEC anzusprechen. 

Ich bin mir nicht ganz sicher, was Du da hin und her kopiert hattest.
Auch hier einfach mal nur zum Sichergehen:
in dem Verzeichnis befinden sich zwei .py dateien: SENEC2MQTT.py und Senec.py, richtig?
am besten, Du machst mir mal noch einen screenshot von
ls -l /usr/bin/SENEC2MQTT/
damit gibst Du den inhalt von /usr/bin/SENEC2MQTT an und listest auch gleich noch die Rechte mit auf. die Dateien müssen entweder root gehören oder Du machst sie einfach für alles les-,schreib- und ausführbar (wie oben beschrieben mit chmod befehl)

Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 23 Mai 2022, 21:04:30
Hi. Sorry, ich kann unter der Woche immer nur um diese Uhrzeit rum...
Also phyton habe ich definitv schon installiert, stand ja in deiner ersten Anleitung schon mit drin... Habe es jetzt nochmal installiert, vielleicht habe ich da was falsch gemacht. die datei Senec.py gehört auch in den Ordner Senec2MQTT? ich hatte da einen eigenen Senec ordner....
Ich hoffe das war jetzt nicht falsch, dass ich die jetzt in den Ordner verschoben habe. Habe die alles anghängt-
Wenn ich aber jetzt mosquitto_sub ausführe
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 23 Mai 2022, 23:37:17
connected with result code 0 ist genau das, was du willst  :D
Das ist nämlich die Nachricht, dass Du Dich mit dem MQTT broker verbunden hast.
Das passt jetzt also.


schau jetzt nochmal nach, was Dein systemd macht:
sudo systemctl status SENEC2MQTT
wenn Du noch alles beim alten hast, sollte da sowas stehen, dass der Service active (running)  ist.
ggf. müsstest Du den mal noch neustarten
sudo systemctl restart SENEC2MQTT
Jetzt müsstest Du mit dem MQTT explorer am pc schön sehen, was auf dem MQTT läuft.
Alternativ sollte dir im putty:
mosquitto_sub -v -t Keller/Solar/#oder gleich alles:
mosquitto_sub -v -t #was ausgeben

Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 24 Mai 2022, 20:49:42
ALso so wirklich funktioniert das glaub ich nicht... Habe jetzt alle befehle ausgeführt, habe aber den Eindruck dass da was nicht passt.
Ich kann mich auch immernoch nicht mit dem mqtt explorer verbinden...
Vielen Dank nochmal für deine Geduld
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 24 Mai 2022, 21:30:18
Ich sehe schon, ich muss meine Anleitung auf jeden Fall etwas überarbeiten  ;D
Danke auf jeden Fall, dass Du dazu beiträgst!

1. das Skript geht jetzt, wenn Du es mit
python3 /usr/bin/SENEC2MQTT/SENEC2MQTT.pyausführst

2. Dein MQTT explorer kann so nicht funktionieren.
Du darfst nicht 127.0.0.1 angeben. Das wäre ja local host, also der PC, an dem Du MQTT broker laufen lässt.
nimm dort die IP adresse, die Du auch für putty nutzt. Port ist 1883
Zum Probieren also mit putty das skript ausführen, dann am PC den MQTT-explorer (mit Raspi IP) ansehen.

3. Systemd
schau bitte mal nach, welche Rechte Deine SENEC2MQTT.service hat
ls -l /etc/systemd/systemDie datei muss ausführbar sein. (mit der bazooka) Einfach alle rechte geben.
sudo chmod 777 /etc/systemd/system/SENEC2MQTT.service




Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 24 Mai 2022, 21:41:00
funktioniert leider nach wie vor nich  :(
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 24 Mai 2022, 23:56:39
sehr spannend.

Okay, lass uns mal den MQTT-explorer und systemd außen vor lassen.
beides sollte irgendwie gehen, aber erst sollten wir das skript laufen haben und sehen, dass es geht.

1. deaktiviere systemd für SENEC2MQTT (dann wird das bei einem Neustart nicht automatisch gestartet)
sudo systemctl disable SENEC2MQTT2. stoppe den service
sudo systemctl stop SENEC2MQTT

jetzt nimm einfach mal 2 putty fenster.
3. Fenster 1
python skript starten
python3 -d /usr/bin/SENEC2MQTT/SENEC2MQTT.py
4. Fenster 2
mosquitto_sub -v -t Keller/Solar/#

EDIT:
Ach ja, jetzt sehe ich's!
Wenn Du beim mosquitto keinen USER NAME und PASSWORT festgelegt hattest, darfst Du das beim MQTT-Explorer natürlich auch nicht machen. Du loggst Dich beim MQTT-Explorer also nicht mit deinem pi user im MQTT Broker ein, sondern mit dem, was Du im Mosquitto als user und pw eingestellt hast (default wäre kein user und pw, SENEC2MQTT hat ebenfalls keinen user und pw für den MQTT Broker vorgesehen) 

Also die Felder für user und pw im MQTT-Explorer einfach leer lassen
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 25 Mai 2022, 21:23:41
Jetzt sieht es glaub ich gut aus!!  ;)
das mit dem mosquitto explorer habe ich schon versucht. Mit und ohne Benutzer/passwort
Beides mal das gleiche ergebnis
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 26 Mai 2022, 00:05:45
glückwunsch!  ;D
nebenbei: schön, dass Dein Speicher läuft, meiner ist seit Anfang Mai wieder in der Fernabschaltung :-(


jetzt Probier mal statt das skript manuell auszuführen, den service zu starten.
sudo systemctl start SENEC2MQTTnachdem Du beim letzten mal schon den SENEC2MQTT.service ausführbar gemacht hattest, sollte es jetzt auch gehen.
Das wollen wir desswegen, weil Du dich dann in zukunft nicht mehr darum kümmern musst.

das mit dem MQTT-explorer macht mir noch etwas sorgen. Das muss gehen. ich habe mal meine settings angehängt.
Ich reite da deswegen drauf rum, weil ich mir sorgen mache, dass Du vielleicht beim einrichten vom mosquitto was anders eingestellt hast. Dann könnte es sein, das FHEM ebenfallls nicht mit dem Broker reden kann.

Prinzipiell kannst du jetzt nämlich in FHEM (oder wenn Du willst in sonst einer Hausautomatisierung) eben genau diese Topics abonieren und kannst die Daten weiterverwerten, ausgeben, speichern umrechnen....

Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 26 Mai 2022, 07:35:27
Danke. Aber ich habe da am wenigsten dazu beigetragen, ich habe ja nur Code kopiert...
Bei mir läuft dafür glaub ich ein Wechselrichter nicht und ich bekomme meinen Solateur nicht an die Strippe...

Das mit MQTT explorer funktioniert nach wie vor nicht. Ich habe aber alle Einstellung gelassen, und nichts verändert...

Jetzt habe ich das systemctl gemacht und dann müsste ich doch mit mosquitto_sub... alles sehen, so wie vorher,oder?
Wenn ich aber den Befehl ausführe scheint es wieder so als ob putty auf etwas wartet..
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 26 Mai 2022, 09:58:37
also, der service läuft nicht und Mosquitto_sub wartet auf Nachrichten.
Da ist irgendwo noch ein bug drin...

zeige bitte nochmal den output von
sudo systemctl status SENEC2MQTTund den Inhalt der SENEC2MQTT.service Datei
cat /etc/systemd/system/SENEC2MQTT.serviceaußerdem
ls -l /etc/systemd/system/SENEC2MQTT.service
da ist noch irgendwas nicht rund und ich vermute, es liegt daran, dass ich auf einem "normalen Debian Linux" unterwegs bin und Du auf einem Raspian.
Probier bitte auch mal
sudo journalctl -u SENEC2MQTT.servicejournalctl ist ein loggingservice, der mitschreibt, was alles so los ist.
mach das putty fenster groß und schau mal nach Hinweisen.
Am besten Du copy-pastest den output hier rein (nicht als screenshot, copy paste mit putty funktioniert so, dass Du mit der Maus einfach nur den text markierst, damit ist die auswahl automatisch in der Zwischenablage) Ich will nicht alles sehen, nur die letzten 20-40 Einträge, da sollte im Idealfall irgendwo ein Hinweis drinnen sein
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 26 Mai 2022, 10:06:12
So hier der Screenshot der ersten Befehle und dann die direkte ausgabe von putty

May 22 20:58:53 raspberrypi systemd[1]: SENEC2MQTT.service: Scheduled restart job, restart counter is at 51942.
May 22 20:58:53 raspberrypi systemd[1]: Stopped Senec to MQTT Bridge.
May 22 20:58:53 raspberrypi systemd[1]: Started Senec to MQTT Bridge.
May 22 20:58:53 raspberrypi systemd[12473]: SENEC2MQTT.service: Failed to determine user credentials: No such process
May 22 20:58:53 raspberrypi systemd[12473]: SENEC2MQTT.service: Failed at step USER spawning /usr/bin/python3: No such process
May 22 20:58:53 raspberrypi systemd[1]: SENEC2MQTT.service: Main process exited, code=exited, status=217/USER
May 22 20:58:53 raspberrypi systemd[1]: SENEC2MQTT.service: Failed with result 'exit-code'.
May 22 20:58:56 raspberrypi systemd[1]: SENEC2MQTT.service: Scheduled restart job, restart counter is at 51943.
May 22 20:58:56 raspberrypi systemd[1]: Stopped Senec to MQTT Bridge.
May 22 20:58:56 raspberrypi systemd[1]: Started Senec to MQTT Bridge.
May 22 20:58:56 raspberrypi systemd[12474]: SENEC2MQTT.service: Failed to determine user credentials: No such process
May 22 20:58:56 raspberrypi systemd[12474]: SENEC2MQTT.service: Failed at step USER spawning /usr/bin/python3: No such process
May 22 20:58:56 raspberrypi systemd[1]: SENEC2MQTT.service: Main process exited, code=exited, status=217/USER
May 22 20:58:56 raspberrypi systemd[1]: SENEC2MQTT.service: Failed with result 'exit-code'.
May 22 20:59:00 raspberrypi systemd[1]: SENEC2MQTT.service: Scheduled restart job, restart counter is at 51944.
May 22 20:59:00 raspberrypi systemd[1]: Stopped Senec to MQTT Bridge.
May 22 20:59:00 raspberrypi systemd[1]: Started Senec to MQTT Bridge.
May 22 20:59:00 raspberrypi systemd[12475]: SENEC2MQTT.service: Failed to determine user credentials: No such process
May 22 20:59:00 raspberrypi systemd[12475]: SENEC2MQTT.service: Failed at step USER spawning /usr/bin/python3: No such process
May 22 20:59:00 raspberrypi systemd[1]: SENEC2MQTT.service: Main process exited, code=exited, status=217/USER
May 22 20:59:00 raspberrypi systemd[1]: SENEC2MQTT.service: Failed with result 'exit-code'.
May 22 20:59:03 raspberrypi systemd[1]: SENEC2MQTT.service: Scheduled restart job, restart counter is at 51945.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 26 Mai 2022, 10:33:00
ah, ich denke ich hab's  :)

der Hinweis ist hier':
May 22 20:59:00 raspberrypi systemd[12475]: SENEC2MQTT.service: Failed to determine user credentials: No such process
May 22 20:59:00 raspberrypi systemd[12475]: SENEC2MQTT.service: Failed at step USER spawning /usr/bin/python3: No such process

in der datei SENEC2MQTT.service habe ich einen Fehler eingebaut, den Du natürlch kopiert hast.
in meinem System gibt es einen user "server" und group "server". Die hast Du natürllich nicht.
Du müsstest die zeilen unter [Service]
User=server
Group=server
ändern in

User=pi
Group=pi

also:
sudo systemctl stop SENEC2MQTT
dann wie gehabt mit
nano /etc/systemd/system/SENEC2MQTT.service bearbeiten und deinen User und Group eintragen und mit STRG+O oder STRG+X raus und speichern

dann systemd aktualisieren
sudo systemctl daemon-reloadenablen (für neustarts)
sudo systemctl enable SENEC2MQTTdann service starten
sudo systemctl start SENEC2MQTT
dann mal schauen, ob der Service endlich läuft
sudo systemctl status SENEC2MQTT
DANN sollte auch mosquitto_sub was anzeigen
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 26 Mai 2022, 10:36:25
Ja, das war das Problem. Jetzt läuft es!!!  :)
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 26 Mai 2022, 10:38:27
Allerdings geht der MQTT Explorer immernoch nicht
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 26 Mai 2022, 10:52:41
das ist allerdings ein Rätsel.. aber auch erst mal nicht so wild. Mit dem MQTT-explorer kann man halt auch schönn spielen und probieren.
Schau mal im FHEM nach, Du hattest ja den MQTT Broker eingerichtet und er sagte auch er sei STATE "opened"
damit sollte zumindest die lokale Verbindung von FHEM zum Broker stehen. Ich vermute fast, Du hast irgendwie den port 1883 nach außen dicht?

Eigentlich kannst Du jetzt (sofern noch nicht geschehen) Dein senec device mit Topics füllen.
attr senec publishSet_UpdateInterval slider,1,1,60 Keller/Solar/control/SENEC2MQTTInterval
attr senec subscribeReading_BatCurrent Keller/Solar/BatCurrent
attr senec subscribeReading_BatEnergyCharge Keller/Solar/BatEnergyCharge
attr senec subscribeReading_BatEnergyDischarge Keller/Solar/BatEnergyDischarge
attr senec subscribeReading_BatPower Keller/Solar/BatPower
attr senec subscribeReading_BatVoltage Keller/Solar/BatVoltage
attr senec subscribeReading_GridEnergyIn Keller/Solar/GridEnergyIn
attr senec subscribeReading_GridEnergyOut Keller/Solar/GridEnergyOut
attr senec subscribeReading_GridLimit Keller/Solar/GridLimit
attr senec subscribeReading_GridPower Keller/Solar/GridPower
attr senec subscribeReading_HouseEnergy Keller/Solar/HouseEnergy
attr senec subscribeReading_HousePower Keller/Solar/HousePower
attr senec subscribeReading_OpHours Keller/Solar/OpHours
attr senec subscribeReading_SOC Keller/Solar/SOC
attr senec subscribeReading_SolarEnergy Keller/Solar/SolarEnergy
attr senec subscribeReading_SolarPower Keller/Solar/SolarPower
attr senec subscribeReading_Status Keller/Solar/SystemStatus
attr senec subscribeReading_TimeStamp Keller/Solar/TimeStamp
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 26 Mai 2022, 11:05:55
Also soweit ich weiß, habe ich da nichts verschlüsselt oder gesichert...
Das mit Fhem funktioniert so wie ich das sehe.
Jetzt muss ich ja dann über eine Bridge die WErte so verpacken, dass sie von meiner WB gelesen werden,oder? Weil die müssen ja da dann auch in ein bestimmtes Format gebracht werden
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 26 Mai 2022, 11:16:51
ui interessant.
Also das würe ich vielleicht gar nicht über FHEM machen sondern die SENEC2MQTT.py modifizieren.
Es sind eigentlich alle informationen da, außer die Phasenströme. Da müssten wir mal schauen, wie wir an die kommen.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 26 Mai 2022, 11:27:18
Aber dafür habe ich doch das jetzt alles gemacht oder nicht? Um die Daten dann so zu verarbeiten, dass sie von meiner WB gelesen werden können... Kann ich dann jetzt nicht einfach den Wert was ich von dem Device bekomme, über eine Bridge an die WB mit dem entsprechenden Pfad senden? Ich bin leider totaler laie und habe durch viel googeln, halt diese Weg "gefunden"... ich habe ja auch über ein anderes Forum schon meine WB in fhem eingebunden, glaub ich  ;D
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 26 Mai 2022, 12:02:14
ja, ich denke das geht schon über FHEM.
Ich sehe nur gerade das problem, dass wir die Ströme, Spannung und Frequenz noch nicht haben (Senec.py liest die Daten nicht aus).
Ich denke gerade drüber nach, wie das geht - bin ja leider auch kein python experte  :D

Strom, Spannung und Freqzenz sind im SENEC unter
PM1OBJ1 zu finden.
Strom und Spannung kommen aber als Array also in der form [Strom1, Strom2, Strom3] von SENEC zurück und ich weiß noch nicht so richtig, wie man das decodieren kann um es als einzelne Werte in den MQTT zu schreiben. Ist bestimmt nicht schwer, aber wir sind zwei Blinde, die von der Farbe sprechen  ;D
Das zweite Problem ist, dass Senec die Ströme nicht wie gewünsch mit negativ-->Einspeisung, positiv-->Netzbezug ausgibt, sondern nur den Absolutbetrag. Also muss z.B. die Leistung je phase genommen werden, um zu bestimmen, ob strom rein oder raus geht. Leistung je phase lesen wir aber auch nicht von SENEC aus  :)

Ich werde mein Hirn mal drumwickeln und schauen wie das geht. Idealerweise liefert SENEC2MQTT gleich die topics auf dem MQTT, die openWB will. Dann ginge das ohne FHEM - und wir müssten das alles vielleicht in ein openWB Forum umziehen  ;)
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 26 Mai 2022, 12:40:17
Also, ich denke wir bekommen das hin.
ich bin auf einem guten Weg. Ich mache jetzt aber mal eine kleine Pause und kümmere mich um meine Vatertagsverpflichtungen  ;D

Ziel:
SENEC2MQTT liefert die Topics so aus, dass openWB sie direkt lesen kann (Topics openWB/set/evu).

Weg:
Einlesen und publischen der Werte aus PM1OBJ1 wobei die Werte aus [PM1OBJ1]:[I_AC] mit Hilfe von [PM1OBJ1]:[P_AC] mit einem Vorzeichen versehen werden sollen.

Am Ende lerne ich wieder etwas mehr Python.
Frage: sollten wir das Thema hier nicht abspalten und ein openWB forum suchen, wo wir das veröffentlichen? Kennst du eins? Ich glaube hier im FHEM forum ist der Nutzen bzgl. openWB eher gering...
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 26 Mai 2022, 12:43:50
Also es müssen ja nicht alle Felder gefüllt werden.
Ich habe in der Wallbox 3 Reiter mit verschiedenen abgefragten Werten. Hänge ich dir mal ein Screenshot an.
Ich denke, wenn die WB weiß wie Viel Kapazität in den Akkus ist, wie viel STrom gerade verbraucht /eingespeist wird und wie viel vom Dach kommt, müsste das doch reichen oder?

Darf ich mal fragen woher du dich so gut mit der Materie auskennst?
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 26 Mai 2022, 13:07:16
Okay, dann schauen wir mal. Ich denke, das Ergebnis ist eine SENEC2MQTT_openWB.py bridge.
Senec.py wird leicht motifiziert und wird auch weiterhin mit SENEC2MQTT gehen.

Mit MQTT beschäftige ich mich seit ein paar Jahren durch meine Hausautomatisierungsbasteleien daheim. Ich habe etliche Sensoren, Lampen und Anzeigen, die ich via MQTT und FHEM steuere (teils selbsbau, teils shelly.cloud)
Seit Anfang des Jahres habe ich auch beruflich mit MQTT kontakt.
Ich finde MQTT optimal für Hausautomatisierung, da es eventgetriggert ist und sensoren somit fire&forget mäßig absetzen können, was sie müssen und dann wieder schlafen gehen.
Wenn es nach mir ginge würde die ganzen Hausautomatisierungs- und Energieoptimierungswelt (von PV, über Lampen, Wallboxen,, Waschmaschinen, Trockner, Heizung, Poolpumpen, Staubsaugerroboter, Türklingeln....) MQTT beherrschen. Dann kann man irgendeine Middleware nehmen (FHEM, OpenHAB, IOBroker....) und kann die mit Intelligenz füllen.

Linux und Python finde ich eine sehr mächtige Kombi, die jeder technikbegeisterte Nerd beherrschen können sollte.  ;D
Wobei ich, wie gesagt, mich selbst im unteren Spektrum der wissenden Druiden sehe.


Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 26 Mai 2022, 20:58:04
So, ich habe Dir noch eine SENEC2MQTT_openWB.py gebaut und die Senec.py angepasst.
Die Dateien liegen in meiner orginalen Beschreibung ein paar Seiten weiter vorne
https://forum.fhem.de/index.php/topic,107265.msg1221254.html#msg1221254 (https://forum.fhem.de/index.php/topic,107265.msg1221254.html#msg1221254)

Bitte schau mal drüber (besonders hinten im Code, ob ich die openWB Topics richtig habe und keine Fehler habe, 4 Augen sehen besser als 2.

Schritte:
1. Die Datei SENEC2MQTT_openWB.py entsprechend deiner Daten anpassen (MQTT Broker und SENEC IP eingeben)
Hinweis. Ich hatte das Standardintervall auf 5 sekunden geändert, wenn Du da was anderes willst, kannst du in Zeile 39 das Intervall auf was anderes stellen (ich empfehle als standard erst mal irgendwas zwischen 2-5. Ansonsten kannst du im FHEM (oder MQTT-explorer (sofern der geht), oder mosquitto_pub) das Intervall über das entsprechende Topic einstellen.

2. Die neue Senec.py und die SENEC2MQTT_openWB.py nach /user/bin/SENEC2MQTT zu den anderen Dateien legen.

3. rechte für die Datei vergeben
sudo chmod 777 SENEC2MQTT_openWB.py
sudo chmod 777 Senec.py

4. Service stoppen (you know the drill)
sudo systemctl stop SENEC2MQTT
5. SENEC2MQTT.service anpassen, sodass der service das SENEC2MQTT_openWB skript startet
nano /etc/systemd/system/SENEC2MQTT.servicein der Zeile "ExecStart=" am ende SENEC2MQTT_openWB.py eintragen

6. systemd neu laden
sudo systemctl daemon-reload
7. Service Starten
sudo systemctl start SENEC2MQTT
8. mit mosquitto_sub mal nachsehen, ob da was sinnvolles kommt
mosquitto_sub -v -t '#'
ich habe die alten Keller/Solar/ topics dringelassen, vielleicht kannst Du die ja auch gebrauchen für ein FHEM dashboard
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 26 Mai 2022, 22:18:02
Also erstmal vielen vielen dank!!!
Bei Broker gebe ich die 127.0.0.1 ein, oder? Oder die vom RPI?
Das mit Werten auslesen funktioniert!! aber mein WB bekommt leider nichts ...
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 26 Mai 2022, 23:01:21
Du meinst bei den Einstellungen deiner openWB?
Da muss die IP vom Raspi rein. 127.0.0.1 ist die adresse vom sogenannten "local host" das ist immer die eigene adresse. 127.0.0.1 zeigt immer auf sich selbst.

Ich mache mir nur Sorgen, dass das nicht klappt, weil Du auch mit dem MQTT-explorer auf Deinem PC nichts bekommst.

Außerdem sehe ich im Screenshot von Dir, dass da topics fehlen.

Das kommt bei mir, wenn ich das skript lade:
openWB/set/pv/1/W 0
openWB/set/pv/1/WhCounter 12052084.9609375
openWB/set/houseBattery/W 0
openWB/set/houseBattery/WhImported 2498469.23828125
openWB/set/houseBattery/WhExported 2388778.80859375
openWB/set/houseBattery/%Soc 0
openWB/set/evu/W 557
openWB/set/evu/APhase1 0.7699999809265137
openWB/set/evu/APhase2 0.5099999904632568
openWB/set/evu/APhase3 1.5
openWB/set/evu/WhImported 4219942.87109375
openWB/set/evu/WhExported 5629302.24609375
openWB/set/evu/VPhase1 234.3000030517578
openWB/set/evu/VPhase2 234.3000030517578
openWB/set/evu/VPhase3 234.40000915527344
openWB/set/evu/HzFrequenz 50.07999801635742

Hast du auch die Senec.py ausgetauscht, da musst Du auch die neue nehmen
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 26 Mai 2022, 23:03:42
Ich dachte mir schon, dass es relativ wenig Daten sind... ich meine die Broker IP in deinen Script.  Bei meiner wb kann ich nirgends eine IP eingeben....
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 27 Mai 2022, 00:12:51
aha. so langsam verstehe ich das.
die openWB hat einen eigenen MQTT broker.
Dementsprechend kannst Du versuchen in dem Skript die IP von der openWB alls Broker anzugeben.
Die bekommt dann alles von SENEC zu hören.
in FHEM kannst du dann einen neuen MQTT Broker anlegen mit der IP von der openWB.
und dann kannst Du deinem senec gerät in FHEM diesen openWB broker zuweisen. Dann sparst Du dir komplett den mosquitto auf deinem raspberrypi.
habe leider keine openWB (sondern eine einfache und dumme WB) zum ausprobieren.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 27 Mai 2022, 00:24:40
oh, und alternativ kannst Du hier mal schauen
http://www.steves-internet-guide.com/mosquitto-bridge-configuration/ (http://www.steves-internet-guide.com/mosquitto-bridge-configuration/)

Du kannst relativ einfach den mosquitto auf Deinem RasPi als Gateway konfigurieren.
So kannst du dafür sorgen, dass alle Nachrichten von SENEC an FHEM und openWB gehen. Außerdem können so alle topics von der openWB an FHEM gehen. Ich nehme an, die openWB sendet auch einige interessante daten via MQTT
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Torsten24 am 27 Mai 2022, 21:59:20
ES funktioniert!!! Tausend Dank an dich!
Also ich habe jetzt einfach im script die IP der WB eingefügt.
Und jetzt bekommt meineWB einige Daten. Hab aber noch nicht nachgesehen was alles.
Wenn es dich interessiert, ich hänge dir mal noch einen Screenshot der WB an.
Das mit dem Gateway klingt auch interessant. Wenn es dir was hilft, kann ich das mal mit deiner Anleitung einrichten. ;-)
Die zwei Broker habe ich  ja schon und in dem Senec device die openwb als Broker einfgefügt
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: carlos am 28 Mai 2022, 09:51:15
Das mit dem Gateway braucht man doch nicht. Wenn du nach wiki für die Einrichtung der OpenWB vorgehst, nimmst du einen MQTT2_Client und hast alle Daten der Wallbox in FHEM.
Außerdem verweise ich noch mal auf mein SENEC module in diesem Thread, auch da wird es demnächst eine OpenWB integration geben, da ich genau diese letzte Woche bekommen habe:
https://forum.fhem.de/index.php/topic,124096.0.html (https://forum.fhem.de/index.php/topic,124096.0.html)


Gruß

Carlos
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: carlos am 28 Mai 2022, 13:29:34
Außerdem will ich noch auf einen möglichen Fehler hinweisen:
Bei mir in der OpenWB stable Version 1.9.265 steht folgendes:

Keine Konfiguration erforderlich.
Per MQTT zu schreiben:
openWB/set/pv/1/W PV-Erzeugungsleistung in Watt, int, positiv
openWB/set/pv/1/WhCounter Erzeugte Energie in Wh, float, nur positiv

Keine Ahnung ob das im Hinblick au die 2er Version geändert wurde, oder ob das nur ein Fehler ist.
Auf jeden Fall ist hier die PV-Erzeugungsleistung in Watt, int, positiv

Ich habe das so implementiert in meinem SENEC Module.
Gruß

Carlos
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: PapaRiX am 28 Mai 2022, 15:39:48
hallo carlos,
interessant, würde auch mehr Sinn ergeben die PV Leistung in positiv statt negativ anzugeben.
Hast Du beides mal ausprobiert? Wäre ja auch nett von openWB, wenn sie einfach den Absolutwert nehmen und das Vorzeichen zu ignorieren. Schließlich wird die Leistung vom Dach immer nur ein VZ haben.

Ich sehe schon, ich muss meine dumme Heidelberg WB in Rente schicken und eine openWB anschaffen  :D

mit dem Gateway hast Du natürlich recht. Ich denke, das ist dann sinnvoll, wenn man für andere Komponenten bereits einen MQTT Broker in der Hausautomatisierung betreibt.

Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: carlos am 28 Mai 2022, 16:42:01
In der Version 2 Alpha 2 sieht es so aus:
Einstellungen für MQTT Wechselrichter
(Modul: DeviceMqttInverter)
openWB/set/pv/7/get/power
PV-Leistung in Watt, ohne Nachkommastellen (Integer), nur negativ!
Beispiel: -123
openWB/set/pv/7/get/counter
Erzeugte Energie in Wh, mit Nachkommastellen (Float), nur positiv
Beispiel: 123.45

Also wieder negativ.
Diese Version habe ich mir testweise installiert und mache das MQTT publishen über notify.

Das ganze ist sehr verwirrend.

Gruß

Carlos
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Deanw1975 am 29 Juli 2022, 13:49:24
Hallo zusammen,

hatte den Senec Speicher schon in Fhem. Aufgrund eines Fehlers meinerseits habe das Device gelöscht und neu angelegt.
Danach konnte ich das Gerät aber nicht mehr auslesen.

Mit Verbose 5 bekomme ich das hier:

2022.07.29 13:40:32 4: 00_pvh_senec_direkt: GetUpdate called (update)
2022.07.29 13:40:32 4: 00_pvh_senec_direkt: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 30.0 sec at 13:41:02.640, interval 30
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: AddToQueue adds type update to URL http://192.168.178.137/lala.cgi, no data, no headers, retry 0, initial queue len: 0
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: HandleSendQueue called from AddToSendQueue, qlen = 1
2022.07.29 13:40:32 4: 00_pvh_senec_direkt: HandleSendQueue sends update with timeout 2 to http://192.168.178.137/lala.cgi, No Data, No Header
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: ReadCallback called from __ANON__
2022.07.29 13:40:32 4: 00_pvh_senec_direkt: Read callback: request type was update retry 0,
header: HTTP/1.0 404 Not Found, body length 127
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: Read callback: body
<html><head><title>Not Found</title></head><body><h1>Not Found</h1><p>Resource `lala.cgi` could not be found.</p></body></html>
2022.07.29 13:40:32 4: 00_pvh_senec_direkt: BodyDecode is not decoding the response body (charset not found, bodyDecode defaults to none)
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: GetCookies is looking for Cookies
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: ExtractSid called, context reading, num unknown
2022.07.29 13:40:32 4: 00_pvh_senec_direkt: checking for redirects, code=404, ignore=0
2022.07.29 13:40:32 4: 00_pvh_senec_direkt: no redirects to handle
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: Read callback sets LAST_REQUEST to update
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: CheckAuth decided no authentication required
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: Read starts parsing response to update with defined readings:
2022.07.29 13:40:32 4: 00_pvh_senec_direkt: Read response to update didn't match any Reading
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: HandleSendQueue called from ReadCallback, qlen = 0
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: HandleSendQueue found no usable entry in queue

Das ist die RAW Definition:

defmod 00_pvh_senec_direkt HTTPMOD http://192.168.178.137/lala.cgi 30
attr 00_pvh_senec_direkt room 00_PV
attr 00_pvh_senec_direkt verbose 0


Die Anzeige aus "list"

  .LASTSEND  1659095192.65999
   .LastUpdate 1659095192.65861
   .TRIGGERTIME 1659095222.65861
   .getList   
   .setList   interval reread:noArg stop:noArg start:noArg clearCookies:noArg upgradeAttributes:noArg storeKeyValue
   .updateRequestHash 1
   BUSY       0
   CFGFN     
   DEF        http://192.168.178.137/lala.cgi 30
   FUUID      62e3a3d3-f33f-61e0-0aff-bb2c70846c40f27f
   Interval   30
   MainURL    http://192.168.178.137/lala.cgi
   ModuleVersion 4.1.12 - 19.4.2022
   NAME       00_pvh_senec_direkt
   NOTIFYDEV  global
   NR         37044
   NTFY_ORDER 50-00_pvh_senec_direkt
   STATE      ???
   TYPE       HTTPMOD
   eventCount 8
   value     
   .readingParseList:
   HttpUtils:
     NAME       
     addr       http://192.168.178.137:80
     auth       0
     code       404
     compress   1
     conn       
     data       
     displayurl http://192.168.178.137/lala.cgi
     header     
     host       192.168.178.137
     httpheader HTTP/1.0 404 Not Found
     httpversion 1.0
     hu_blocking 0
     hu_filecount 1
     hu_port    80
     hu_portSfx
     ignoreredirects 1
     loglevel   4
     path       /lala.cgi
     protocol   http
     redirects  0
     timeout    2
     url        http://192.168.178.137/lala.cgi
     sslargs:
   QUEUE:
   READINGS:
   REQUEST:
     context    reading
     data       
     header     
     ignoreredirects 0
     num        unknown
     retryCount 0
     type       update
     url        http://192.168.178.137/lala.cgi
Attributes:
   room       00_PV
   verbose    0

Was mache ich falsch?  :o
Und ja die IP ist richtig.

LG
Dean
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: xerion am 29 Juli 2022, 13:52:55
Es gibt mittlerweile ein SENEC Modul was sehr zuverlässig läuft:
https://forum.fhem.de/index.php/topic,124096.0.html
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Deanw1975 am 30 Juli 2022, 07:18:59
Es gibt mittlerweile ein SENEC Modul was sehr zuverlässig läuft:
https://forum.fhem.de/index.php/topic,124096.0.html

Guten Morgen

das kenne ich. Fragt aber online die Senec Daten ab.
Darüber kann man z.B. aber nicht die lokale Temperaturen auf dem Speicher abfragen.

Deswegen habe ich gerne beide Funktionen am laufen.
Die online Version und die direkte Abfrage.

LG
Dean
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: xerion am 30 Juli 2022, 07:50:22
Ja das stimmt. Das habe ich für das Modul schon ergänzt da mir das auch fehlte genauso wie den SOH. Hatte die Änderung dem Entwickler zur Verfügung gestellten er wollte das übernommen. Vielleicht nochmal dort nachfragen.
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Deanw1975 am 31 Juli 2022, 08:05:24
Ja das stimmt. Das habe ich für das Modul schon ergänzt da mir das auch fehlte genauso wie den SOH. Hatte die Änderung dem Entwickler zur Verfügung gestellten er wollte das übernommen. Vielleicht nochmal dort nachfragen.

Servus,
nutze zwar Fhem seit Jahren aber Modul schreiben ist mit echt zu heikel.
Da würde ich nachher wahrscheinlich nur wieder mehr kaputt machen als wie es mir hilft  :o

Sende dir mal ne PN mit meiner Mailadresse.
Wenn du magst, kannst du mir gerne dein Modul senden 8)

LG
Dean 
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: Deanw1975 am 09 August 2022, 08:30:31
Hallo zusammen,

hat niemand eine Idee zu dem schon dargestellten verhalten?
(unten aufgeführt)
LG
Dean

Hallo zusammen,

hatte den Senec Speicher schon in Fhem. Aufgrund eines Fehlers meinerseits habe das Device gelöscht und neu angelegt.
Danach konnte ich das Gerät aber nicht mehr auslesen.

Mit Verbose 5 bekomme ich das hier:

2022.07.29 13:40:32 4: 00_pvh_senec_direkt: GetUpdate called (update)
2022.07.29 13:40:32 4: 00_pvh_senec_direkt: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 30.0 sec at 13:41:02.640, interval 30
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: AddToQueue adds type update to URL http://192.168.178.137/lala.cgi, no data, no headers, retry 0, initial queue len: 0
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: HandleSendQueue called from AddToSendQueue, qlen = 1
2022.07.29 13:40:32 4: 00_pvh_senec_direkt: HandleSendQueue sends update with timeout 2 to http://192.168.178.137/lala.cgi, No Data, No Header
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: ReadCallback called from __ANON__
2022.07.29 13:40:32 4: 00_pvh_senec_direkt: Read callback: request type was update retry 0,
header: HTTP/1.0 404 Not Found, body length 127
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: Read callback: body
<html><head><title>Not Found</title></head><body><h1>Not Found</h1><p>Resource `lala.cgi` could not be found.</p></body></html>
2022.07.29 13:40:32 4: 00_pvh_senec_direkt: BodyDecode is not decoding the response body (charset not found, bodyDecode defaults to none)
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: GetCookies is looking for Cookies
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: ExtractSid called, context reading, num unknown
2022.07.29 13:40:32 4: 00_pvh_senec_direkt: checking for redirects, code=404, ignore=0
2022.07.29 13:40:32 4: 00_pvh_senec_direkt: no redirects to handle
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: Read callback sets LAST_REQUEST to update
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: CheckAuth decided no authentication required
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: Read starts parsing response to update with defined readings:
2022.07.29 13:40:32 4: 00_pvh_senec_direkt: Read response to update didn't match any Reading
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: HandleSendQueue called from ReadCallback, qlen = 0
2022.07.29 13:40:32 5: 00_pvh_senec_direkt: HandleSendQueue found no usable entry in queue

Das ist die RAW Definition:

defmod 00_pvh_senec_direkt HTTPMOD http://192.168.178.137/lala.cgi 30
attr 00_pvh_senec_direkt room 00_PV
attr 00_pvh_senec_direkt verbose 0


Die Anzeige aus "list"

  .LASTSEND  1659095192.65999
   .LastUpdate 1659095192.65861
   .TRIGGERTIME 1659095222.65861
   .getList   
   .setList   interval reread:noArg stop:noArg start:noArg clearCookies:noArg upgradeAttributes:noArg storeKeyValue
   .updateRequestHash 1
   BUSY       0
   CFGFN     
   DEF        http://192.168.178.137/lala.cgi 30
   FUUID      62e3a3d3-f33f-61e0-0aff-bb2c70846c40f27f
   Interval   30
   MainURL    http://192.168.178.137/lala.cgi
   ModuleVersion 4.1.12 - 19.4.2022
   NAME       00_pvh_senec_direkt
   NOTIFYDEV  global
   NR         37044
   NTFY_ORDER 50-00_pvh_senec_direkt
   STATE      ???
   TYPE       HTTPMOD
   eventCount 8
   value     
   .readingParseList:
   HttpUtils:
     NAME       
     addr       http://192.168.178.137:80
     auth       0
     code       404
     compress   1
     conn       
     data       
     displayurl http://192.168.178.137/lala.cgi
     header     
     host       192.168.178.137
     httpheader HTTP/1.0 404 Not Found
     httpversion 1.0
     hu_blocking 0
     hu_filecount 1
     hu_port    80
     hu_portSfx
     ignoreredirects 1
     loglevel   4
     path       /lala.cgi
     protocol   http
     redirects  0
     timeout    2
     url        http://192.168.178.137/lala.cgi
     sslargs:
   QUEUE:
   READINGS:
   REQUEST:
     context    reading
     data       
     header     
     ignoreredirects 0
     num        unknown
     retryCount 0
     type       update
     url        http://192.168.178.137/lala.cgi
Attributes:
   room       00_PV
   verbose    0

Was mache ich falsch?  :o
Und ja die IP ist richtig.

LG
Dean
Titel: Antw:lokale Anbindung SENEC Batterie an FHEM
Beitrag von: carlos am 09 August 2022, 15:22:06
Nimm doch einfach das Beispiel aus dem 1. Beitrag.
Bei deiner 3 Zeilen definition fehlt ja auch so gut wie alles.

Gruß

Carlos