Solar-Log und/oder Wechselrichter

Begonnen von oniT, 02 Juni 2013, 10:53:46

Vorheriges Thema - Nächstes Thema

Mopedpaul

Hallo Tino,
Stromzähler ist der EHL  . Zum Abfragen habe ich kein Gerät - Opto Transistor mit kleinem Transistor Verstärker auf ein Microcontroller Eingang - halt alles Selbstbau. zur Genauigkeit kann ich sagen, das was du in der unteren Anzeige angezeigt bekommst, kommt auch auf dem Optoausgang - nur schneller hintereinander. Habe dir das Protokoll mal angehängt -ist das SML Protokoll
MfG Uwe
System:FHEM 5.7 auf Intel NUC  mit 1xCUL(433) ,1xCUNO V2 (868)mit Onewire,2xNetIO mit Onewire , HMLAN
,Max Cube , Philips Hue, webViewControll, MiLight
Devices:FS20,Onewire (Cuno+NetIO),Intertechno ,Homematic (Keymatic & TC & SD) Max ,Solaranlage 7,3kWP mit Solarlog 200

Spiceweasel

aber der 2Richtungszähler kann doch nicht den aktuellen Verbrauch anzeigen.
Nur ein extra Zähler dazwischen. So funktioniert ja auch die weiche 70% Regelung des SolarLog.
Der 2Richtungszähler misst ja nur Bezug und Lieferung.

Mopedpaul

Hallo Spiceweasel,
ja genau so läuft es auch bei mir 1xS0 Zähler für den gesamten Verbrauch und halt der 2 Wege für Bezug und Einspeisung. Aber ich möchte gerne den gerade aktuellen Verbrauchswert vom 2 Wege Zähler haben, denn da kann ich ganz genau erkennen, was gerade aktuell anliegt. Der Zähler gibt einen aktuellen Wert in kW/h raus mit A+ als Bezug und A- vor dem Wert bei Einspeisung. Somit kann ich immer genau erkennen, ob das Zuschalten von Verbrauchern dazu führt, das ich über dem solaren Ertrag liege und Strom vom EVU beziehe.
MfG Uwe
System:FHEM 5.7 auf Intel NUC  mit 1xCUL(433) ,1xCUNO V2 (868)mit Onewire,2xNetIO mit Onewire , HMLAN
,Max Cube , Philips Hue, webViewControll, MiLight
Devices:FS20,Onewire (Cuno+NetIO),Intertechno ,Homematic (Keymatic & TC & SD) Max ,Solaranlage 7,3kWP mit Solarlog 200

Mopedpaul

Hallo Freunde des Solarlog,
habe mich mal hingesetzt und die Solarlog Funktionen über den MODBUS TCP erstellt. Was soll ich sagen, funktioniert gut. Es geht hier um den Modus in der "Free" Version.
Die Auslesbaren Werte sind ja bereits im PDF weiter oben beschrieben. Ich hänge es noch mal mit rein.

HINWEIS :Alle Leistungswerte in WATT bzw W/h , Spannungen in Volt

Funktionen:               Register  Länge    Hinweis
Last Update               Reg 3500   2
akt Power ac              Reg 3502   2
akt Power dc              Reg 3504   2
akt Spannung ac           Reg 3506   1
akt Spannung dc           Reg 3507   1
Täglich aufsum. Ertrag    Reg 3508   2
Gestern aufsum. Ertrag    Reg 3510   2
Monatl. aufsum. Ertrag    Reg 3512   2
Jährl.  aufsum. Ertrag    Reg 3514   2
Totaler aufsum. Ertrag    Reg 3516   2
aktueller Verbrauch       Reg 3518   2      bei Verbrauchswerten natürlich nur bei einem S0 Zähler für den Verbrauch am Solarlog !
Täglich aufsum. Verbrauch Reg 3520   2
Gestern aufsum. Verbrauch Reg 3522   2
Monatl. aufsum. Verbrauch Reg 3524   2
Jährl.  aufsum. Verbrauch Reg 3526   2
Totaler aufsum. Verbrauch Reg 3528   2

Über die 99my_utilitys wird die Solarlog Modbus Funktion eingefügt. Der Aufruf erfolgt dann aus FHEM mit einem einfachen Aufruf der Subroutine Solarlog. Als Parameter werden 3 Werte übergeben.
1. Die Adresse vom auszulesenden Register
2. Die Länge des Registers 1 oder 2 je nach Number Reg Angabe
3. die von euch gewünschte Device, in dem der Wert zurück gegeben wird. Das ist schon alles. (Device vorher als Dummy anlegen)

Wie im Beispiel erkennbar - die 3 Dummy Device Akt_Verbrauch , Tagesertrag und Tagesverbrauch (oder wie auch immer ihr sie nennen wollt)

ausgelesen wird der Wert dann mit der Funktion :{Solarlog ("3508","2","Tagesertrag")} wo bei die 3 Parameter entsprechend gesetzt werden müssen. Den 2. Parameter brauche ich für die Umrechnung. es sind teilweise 16 und auch 32 Bit Werte - aber Ihr braucht selber nichts mehr umrechnen, es sei denn Ihr wollt die Werte nicht in Watt sondern kW.

Beispiel: fhem.cfg
###### SOLARLOG auslesen ##################################
#----- Aktueller Verbrauch --------------------------------
define Akt_Verbrauch dummy
attr Akt_Verbrauch alias Aktueller Verbrauch
attr Akt_Verbrauch group PV
attr Akt_Verbrauch room CUL_HM

#----- Tageswerte -----------------------------------------
define Tagesertrag dummy
attr Tagesertrag alias Tagesertrag
attr Tagesertrag group PV
attr Tagesertrag room CUL_HM

define Tagesverbrauch dummy
attr Tagesverbrauch alias Tagesverbrauch
attr Tagesverbrauch group PV
attr Tagesverbrauch room CUL_HM

#----- Solarlog auslesen -------------------------------
define Solarlog_Read_Timer_Tag at +*23:58:30 {Solarlog ("3508","2","Tagesertrag")};;{Solarlog ("3520","2","Tagesverbrauch")}
attr Solarlog_Read_Timer_Tag group PV
attr Solarlog_Read_Timer_Tag room CUL_HM


define Solarlog_Read_Timer_3min at +*00:02:30 {Solarlog ("3518","2","Akt_Verbrauch")}
attr Solarlog_Read_Timer_3min group PV
attr Solarlog_Read_Timer_3min room CUL_HM
-------------------------------------------------------------

Das war es schon. In fhem ist die Funktion sehr kompakt. Wer möchte kann die Werte natürlich noch in diverse Logs schreiben und sich eigene Grafiken und Auswertungen seiner Solaranlage erstellen.

Der besondere Vorteil ist hier, jeder kann sich nur die Werte raus picken, die er auch braucht und in selbst definierten Devices ablegen.

Viel Spaß mit den neuen Solarlog Funktionen. ----- gaaaanz laaaangsam gewöhne ich mich an Perl Script aber dann hat man tolle Möglichkeiten.
MfG Uwe

Hätte ich fast vergessen, natürlich müsst Ihr in der 99_Myutils die Netzwerkadresse von eurem Solarlog eintragen. (sollte eine Feste Adresse haben)
System:FHEM 5.7 auf Intel NUC  mit 1xCUL(433) ,1xCUNO V2 (868)mit Onewire,2xNetIO mit Onewire , HMLAN
,Max Cube , Philips Hue, webViewControll, MiLight
Devices:FS20,Onewire (Cuno+NetIO),Intertechno ,Homematic (Keymatic & TC & SD) Max ,Solaranlage 7,3kWP mit Solarlog 200

oniT

Hallo Uwe,

erstmal vielen Dank für die Arbeit an diesem Modul.Ich bin nun auch dazu gekommen dieses zu testen. Allerdings hört es bereits beim Laden des Moduls auf. Da bekomme ich folgende Fehlermeldung:


2013.07.24 22:02:50 1: reload: Error:Modul 99_myUtils deactivated:
Global symbol "$opt_u" requires explicit package name at ./FHEM/99_myUtils.pm line 31.
Global symbol "$opt_r" requires explicit package name at ./FHEM/99_myUtils.pm line 32.
Global symbol "$opt_c" requires explicit package name at ./FHEM/99_myUtils.pm line 33.
Global symbol "$opt_g" requires explicit package name at ./FHEM/99_myUtils.pm line 34.
Global symbol "$opt_t" requires explicit package name at ./FHEM/99_myUtils.pm line 35.
Global symbol "$opt_h" requires explicit package name at ./FHEM/99_myUtils.pm line 36.
Global symbol "$opt_s" requires explicit package name at ./FHEM/99_myUtils.pm line 37.
Global symbol "$opt_p" requires explicit package name at ./FHEM/99_myUtils.pm line 38.
Global symbol "$opt_h" requires explicit package name at ./FHEM/99_myUtils.pm line 40.
Global symbol "$opt_u" requires explicit package name at ./FHEM/99_myUtils.pm line 42.
Global symbol "$opt_r" requires explicit package name at ./FHEM/99_myUtils.pm line 43.
Global symbol "$opt_c" requires explicit package name at ./FHEM/99_myUtils.pm line 44.
Global symbol "$opt_s" requires explicit package name at ./FHEM/99_myUtils.pm line 45.
Global symbol "$opt_p" requires explicit package name at ./FHEM/99_myUtils.pm line 46.
Global symbol "$opt_t" requires explicit package name at ./FHEM/99_myUtils.pm line 49.
Global symbol "$opt_g" requires explicit package name at ./FHEM/99_myUtils.pm line 50.


Wie Du schreibst funktioniert es ja bei Dir. An was kann das liegen, dass es bei mir nicht läuft?

Danke

Gruß,
TinoB
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

Mopedpaul

Hallo Tino,
versuche es mal mit meiner Original Version von der 99_Myutil sind noch 2 weitere Funktionen enthalten, die du dann selber raus editieren kannst.

MfG Uwe

So, wie sie bei mir läuft:
System:FHEM 5.7 auf Intel NUC  mit 1xCUL(433) ,1xCUNO V2 (868)mit Onewire,2xNetIO mit Onewire , HMLAN
,Max Cube , Philips Hue, webViewControll, MiLight
Devices:FS20,Onewire (Cuno+NetIO),Intertechno ,Homematic (Keymatic & TC & SD) Max ,Solaranlage 7,3kWP mit Solarlog 200

oniT

Hallo Uwe,

ich habe den Fehler gefunden. Diese Zeile:


use vars qw($opt_u $opt_r $opt_c $opt_g $opt_t $opt_h $opt_s $opt_p);


war auskommentiert und führte zur Fehlermeldung. Ich habe die Auskommentierung entfernt und neu geladen. Bisher läuft nun alles.

Ich werde es nun einmal so laufen lassen und melde mich später nochmals dazu.

Danke schon einmal für die Umsetzung.

Viele Grüße,
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

cotecmania

#37
Versuche das gerade fuer meinen Solarlog 100e unter Windows zum Laufen zu bringen aber ohne Erfolg.
Adresse und Pfade habe ich angepasst. Es wird eine leere akt_tmp.txt erzeugt.
Wenn ich das "Hole_Daten" auskommentiere und von Hand eine akt_tmp.txt erzeuge wird mir die aktuelle Leistung angezeigt

Wenn ich auf meinen Solarlog mit http://192.168.xxx.xxx:80/min_cur.js im IE zugreifen will, erscheint ERROR 400. Also kann ich die Datei doch auch nicht mit GetHttpfile kopieren, oder ?

Auch mit wget kann ich die Datei min_cur.js nicht downloaden.

Ihr holt Euch die Datei schon direkt vom Solarlog, oder von der Homepage, auf die der Solarlog seine Daten exportiert ?
Dort existiert eine min_cur.js
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

satprofi

Zitat von: Mopedpaul am 25 Juli 2013, 16:50:44
Hallo Tino,
versuche es mal mit meiner Original Version von der 99_Myutil sind noch 2 weitere Funktionen enthalten, die du dann selber raus editieren kannst.

MfG Uwe

So, wie sie bei mir läuft:
#

Hallo.
Habe auch SolarLog, allerdings 300 Meter. Wie soll ich deine .pm in meine einfügen? einfach per copy/paste? ich habe gelesen das man die S99_myutils nicht editieren soll.
m.f.g.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

oniT

Hallo,

Du könntest zum Beispiel die Datei auch umbennen dann die Initialisierung (ich hoffe das ist korrekt ausgedrückt) anpassen. Dann Zum Beispiel mit FTP übertragen und in fhem mit reload laden.

Ich hänge Dir meine geänderte mal ran.

Gruß,
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

satprofi

#40
hallo.
klappt leider nicht.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

satprofi

Zitat von: cotecmania am 28 Oktober 2013, 11:19:30
Versuche das gerade fuer meinen Solarlog 100e unter Windows zum Laufen zu bringen aber ohne Erfolg.
Adresse und Pfade habe ich angepasst. Es wird eine leere akt_tmp.txt erzeugt.
Wenn ich das "Hole_Daten" auskommentiere und von Hand eine akt_tmp.txt erzeuge wird mir die aktuelle Leistung angezeigt

Wenn ich auf meinen Solarlog mit http://192.168.xxx.xxx:80/min_cur.js im IE zugreifen will, erscheint ERROR 400. Also kann ich die Datei doch auch nicht mit GetHttpfile kopieren, oder ?

Auch mit wget kann ich die Datei min_cur.js nicht downloaden.

Ihr holt Euch die Datei schon direkt vom Solarlog, oder von der Homepage, auf die der Solarlog seine Daten exportiert ?
Dort existiert eine min_cur.js

hallo.
auch ich habe keine werte in den oben genannten codes stehen.
habe keine aktuelle min_cur.js. die gibts auch nicht mehr am solarlog zum abgreifen seit firmware 3.x. auf meiner eigenen homepage, wo ich solarlog per ftp uploaden lasse, sehe ich nur die vergangenen tage, den heutigen eben nicht. nur am solarlogportal. kann mir wer weiterhelfen?
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

oniT

Hallo,

wie hast Du die Datei eingebunden bzw. fragst Du die Werte ab? Häng doch bitte mal den Code mit ran. Hier werden die Daten vom SolarLog nicht über die *.js Dateien abgeholt sonder über Modbus.

Was ich eben sehe und vergessen habe zu erwähnen, zunächst muss in Zeile 37 die IP vom SolarLog noch eingetragen werden. Anschließend das Modul neu laden nicht vergessen.


$remote =  $opt_s = '192.168.1.160';  # IP-Adresse des Solarlog eintragen


Gruß,
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

satprofi

hallo.
ich hbe beide geposteten codes versucht. die ip habe ich natürlich geändert. was meinst du mit modbus? und wo sollte ich die zeile 37 editieren?

Gesendet von meinem Transformer TF101G mit Tapatalk

gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

oniT

Hallo,

also Du musst die IP Adresse in der 99_mySolarUtils.pm auf die von Deinem SolarLog ändern, speichern und neu laden.

Anschließend versucht Du mal diesen Code in einer *.cfg Datei.


define SolarLogValueTimer at +*00:01:00 {\
if(Value("btn.PVErtrag") eq "Aktiv") {\
  {Solarlog ("3502","1","Pac")};;{Solarlog ("3508","2","Today")};;{Solarlog ("3510","2","Yesterday")};;{Solarlog ("3512","2","Month")};;{Solarlog ("3514","2","Year")};;{Solarlog ("3516","2","Total")}\
}\
}
attr SolarLogValueTimer group PV
attr SolarLogValueTimer room !Experiment


Dann musst Du noch die Dummys für Pac, Today, Yesterday, Month, Year und Total anlegen. Hier ein Beispiel.


define Pac dummy
attr Pac alias Ertragsleistung Pac
attr Pac group Werte
attr Pac room Photovoltaik
attr Pac sortby 01


usw. usf.

Gruß
Tino,
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP