Für alle die es interessiert, hier gibt es eine umfangreiche Übersicht der diversen JavaScript Ausgaben inkl. Beschreibung des Datenformats: solarlog_datenformat - Photonensammlers Wiki
Ankündigung
Einklappen
Keine Ankündigung bisher.
Solarlog 500PM+ aktuelle Werte auf den Bus / ins rrd schreiben
Einklappen
Dieses Thema ist geschlossen.
X
X
-
Mit freundlichen Grüßen
Niko Will
Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
- Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -
-
Dort ist übrigens auch in der base_vars.js eine Variable isOnline beschrieben, die den Status des WR angibt. Vielleicht lässt sich damit das Problem mit dem aufhängen umgehen, indem man abends sobald isOnline false ist einfach nicht mehr zum SL connected sondern erst morgens wieder.Mit freundlichen Grüßen
Niko Will
Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
- Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -
Kommentar
-
Zitat von 2ndsky Beitrag anzeigenDort ist übrigens auch in der base_vars.js eine Variable isOnline beschrieben, die den Status des WR angibt. Vielleicht lässt sich damit das Problem mit dem aufhängen umgehen, indem man abends sobald isOnline false ist einfach nicht mehr zum SL connected sondern erst morgens wieder.
Gruß
Kommentar
-
Solarlog 500PM+ aktuelle Werte auf den Bus / ins rrd schreiben
Ich meinte eigentlich wenn der WR offline ist, dann bis morgens mit der Abfrage aussetzenMit freundlichen Grüßen
Niko Will
Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
- Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -
Kommentar
-
Ich kann nicht jedes Plugin (das ist übrigens glaube ich nicht im SVN! -> bitte nachholen) - mangels HW - testen..
Aber das sollte sich ja mit den Infos von 2ndsky machen lassen oder?
Natürlich sind diese Teile teils total "banane", kenn da welche wo ein WinCE aus dem letzten Jahrtausend drauf läuft, da hatte sich bei MS noch nichtmal die Einsicht durchgesetzt das TCP/IP, nicht Netbeui der Sieger ist
-> Da sollte man echt an den Hersteller gehen - oder eben einen Workaround finden, ich meine die Uhrzeit und viele andere Parameter hat man im Plugin ja zur Verfügung..
MakkiEIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
-> Bitte KEINE PNs!
Kommentar
-
Hallo,
ich bin grad auf der Suche nach einer Lösung um meine PV-Strom-Werte auf den Bus zu bringen. Dabei bin ich dieses Plugin hier gestoßen. Hab es aber im SVN nicht gefunden (Open Automation / Code / [r2213] /wiregate/plugin/generic) Ist dieser Link korrekt?
Ist die Version hier im Thread die aktuelle Version?
Gruß
Stefan
Kommentar
-
Hallo,
die aktuellste Version ist diese:
Code:######## Zum Auslesen der Solarlog Daten, speichern als rrd und senden auf den Bus######## # Vorraussetzung ist, dass die Daten des Solarlog per Cronjob ins Temp Verzeichniss ###### # gespeichert werden. Siehe Beispiel: ###### # für die aktuelle Leistung: curl 192.168.178.xx/min_cur.js > /tmp/min_cur.js ###### # wobei die IP Nummer für die Adresse des SL im lokalen LAN angepasst werden muss ###### # Monat: curl ftp://SL-WEB-ADRESS@home6.solarlog-web.de/months.js > /tmp/months.js # # Jahr: curl ftp://SL-WEB-ADRESS@home6.solarlog-web.de/years.js > /tmp/years.js # # Days: curl ftp://SL-WEB-ADRESS@home6.solarlog-web.de/days.js > /tmp/days.js # # Das SL-WEB-ADRESS wird durch die Webadresse des Solarlogs ersetzt (könnte man auch # # direkt holen, mein SL stürzt aber dabei in der Nacht ab # ########################################################################################## # Das Script bezieht sich auf 2 Wechselrichter, für mehrere müsste eine anpassung vorgenommen werden $plugin_info{$plugname.'_cycle'} = 60; my $WR1; my $WR2; my $aktuelle_leistung = `cat /tmp/min_cur.js | grep Pac | sed -e "s/var Pac=//g"`; ## GA Definition ## my $wr1_summe_ga = '14/1/2'; #kwh my $wr2_summe_ga = '14/1/3'; #kwh my $wr_gesamt_summe_ga = '14/1/4'; #kwh my $ertrag_tag_ga ='14/1/1'; my $month_summary_ga = '14/1/5'; my $month_ertrag_ga = '14/1/6'; my $year_summary_ga = '14/1/7'; my $year_ertrag_ga = '14/1/8'; my $aktuelle_leistungGA = '14/1/9'; ## GA fertig ## my $verguetung = "0.195"; # Verguetung in Euro my $ertrag_tag; my $date; my $wr1; my $wr2; my $sum1; my $sum2; my $sum; my $max1; my $max2; my $max; my $month1; my $month2; my $month_all; my $year1; my $year2; my $year_all; # system ( 'curl 192.168.178.26/days.js > /tmp/days.js' ); open(DAT,'</tmp/days.js') or die "couldnt open file"; while (<DAT>) { chomp; ($date, $wr1, $wr2) = split(/\|/); ($sum1, $max1) = split(/\;/, $wr1); ($sum2, $max2) = split(/\;/, $wr2); ($sum1, $sum2, $max2) =~ s/[^0-9]//; } close(DAT); open (MONTH,'/tmp/months.js') or die $!; my $line; while (<MONTH>) { # chomp chomp; my $line = ''; if ($. == 1){ $line = $_; ($date, $month1, $month2) = split (/\|/); ($month1, $month2) =~ s/[^0-9]//; last; } } close (MONTH); open (YEAR,'/tmp/years.js') or die "couldnt open year"; while (<YEAR>) { chomp; my $line = ''; if ($. == 1){ $line = $_; ($date, $year1, $year2) = split (/\|/); ($year1, $year2) =~ s/[^0-9]//; }} close (YEAR); my $max21 = int($max2); my $summary1 = (int($sum1))/1000; my $summary2 = (int($sum2))/1000; my $summary = ($summary1 + $summary2); my $max_gesamt = $max21 + $max1; my $leistung = int($aktuelle_leistung); update_rrd("Aktuelle_Leistung","",$leistung); knx_write($aktuelle_leistungGA, $leistung,9); if ($max_gesamt ne 0){ update_rrd("WR_gesamt_max","",$max_gesamt); } if ($summary2 ne 0){ update_rrd("WR2_Summe","",$summary2); } knx_write($wr2_summe_ga, $summary2,9); if ($summary1 ne 0){ update_rrd("WR1_Summe","",$summary1); } knx_write($wr1_summe_ga,$summary1,9); if ($summary ne 0){ update_rrd("WR_gesamt","",$summary); } knx_write($wr_gesamt_summe_ga, $summary,9); if ($max1 ne 0){ update_rrd("WR1_max","",$max1); } if ($max21 ne 0){ update_rrd("WR2_max","",$max21); } my $ertrag_tag = ($summary * $verguetung); knx_write($ertrag_tag_ga,$ertrag_tag,9); my $month_summary = int($month1) + int($month2); my $month_summary1 = $month_summary/1000; if ($month_summary1 ne 0){ update_rrd("Monat_Summe","",$month_summary1); } my $month_summary_ertrag = ($month_summary1 * $verguetung); if ($month_summary_ertrag ne 0){ update_rrd("Monat_Summe_Euro","",$month_summary_ertrag); } knx_write($month_ertrag_ga,$month_summary_ertrag,9); my $year_summary = int($year1) + int($year2); my $year_summary1 = $year_summary/1000; if ($year_summary1 ne 0){ update_rrd("Jahr_Summe","",$year_summary1); } my $year_summary_ertrag = $year_summary * $verguetung/1000; knx_write($year_ertrag_ga,$year_summary_ertrag,9); if ($year_summary_ertrag ne 0){ update_rrd("Jahr_Summe_Euro","",$year_summary_ertrag); } return;
Man könnte die .js Dateien auch direkt von dem Solarlog FTP ziehen (dort wo der Solarlog diese hochlädt). War meiner Meinung nach aber mit der Kirche ums Kreuz...
Bei Problemen einfach hier schreiben, dann kann ich helfen wo ich kann.
Gruß
Kommentar
-
Also mein Solar-Installateur hat ein eigenes Portal eingetragen: Willkommen
Dort kann ich im web die Werte sehen.... aber halt nur im Browser und nicht in einer verarbeitbaren Version :-( Allerdings will ich auch nicht unbedingt meine Solarsteuerung davon abhängig machen, ob ich grad Internet hab oder die Telekom mal wieder streikt... Dann ist mit fast ein html-Parser lieber...
Kommentar
-
Hallo, gibt es eigentlich eine Lösunh für die aktuelle Solarlog Firmware? Es wird ja keine min_cur.js mehr bereitgestellt?Elektroinstallation-Rosenberg-Systemintegration-Planung, Ausführung, Bauherren Unterstützung
http://www.knx-haus.com
Kommentar
Kommentar