lokale Anbindung SENEC Batterie an FHEM

Begonnen von cjung, 12 Januar 2020, 13:33:37

Vorheriges Thema - Nächstes Thema

Vize

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

cjung

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

Raspberry Pi 2 B
Funk: HM_CFG_USB2, HM-CFG-LAN 8*HM_CC_RT_DN, 3*HM-SEC-SD, 3*HM_TC_IT_WM_W_EU, 1*HM-LC-Dim1TPBU-FM,5*HM-SEC-SC-2, 1*HM-SEC-SCo
Wired: HMW: CFG-LAN, 8*LC_Bl1_DR, LC_Dim1L_DR

xerion

Zitat 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

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.
Ich würde mich  freuen, wenn du meinen Einladungscode für Tibber, der Stromanbieter, der dir hilft, deinen Stromverbrauch zu verstehen und zu reduzieren, nutzt: https://invite.tibber.com/5fc08jbs. So bekommen wir beide 50 Euro und 100 % Ökostrom / https://geld-fuer-eauto.de/ref/334561880

Yulock

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

Doemy

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

bkappler

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

Doemy

#51
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

Vize

#52
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

Wolle02

Und ? Gibst du der Nachwelt einen Schubs? Oder muss der nächste auch erst wieder fragen?

Vize

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

Doemy

#55
Hallo,

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

ZitatZum 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

cstaehn

Zitat 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.

Hallo xerion,

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

xerion

Zitat von: cstaehn am 08 November 2020, 15:04:37
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
Ich würde mich  freuen, wenn du meinen Einladungscode für Tibber, der Stromanbieter, der dir hilft, deinen Stromverbrauch zu verstehen und zu reduzieren, nutzt: https://invite.tibber.com/5fc08jbs. So bekommen wir beide 50 Euro und 100 % Ökostrom / https://geld-fuer-eauto.de/ref/334561880

herbert19

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

xerion

Zitat 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

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?
Ich würde mich  freuen, wenn du meinen Einladungscode für Tibber, der Stromanbieter, der dir hilft, deinen Stromverbrauch zu verstehen und zu reduzieren, nutzt: https://invite.tibber.com/5fc08jbs. So bekommen wir beide 50 Euro und 100 % Ökostrom / https://geld-fuer-eauto.de/ref/334561880