| Autor |
|
Wessi
Vielschreiber


Info: Betreiber
Angemeldet: 26.08.2006
Beiträge: 216
|
Verfasst am:
01.04.2007, 20:31 |
 |
Hallo Jörg,
habe beim Austesten meiner Grafikskalierung (http://solarlog.familie-wessling.de/grafik/) einen Fehler in der Gesamtübersicht für mehrere WR gefunden.
Es gibt in der Funktion "AlleJahre" keine Unterscheidung zwischen allen WR und einzelnen WR.
Und Surprise, Surprise, hier der Bugfix => Zeile 926-951 in visu.html ersetzen durch:
| Code: |
while( i<ye.length )
{
// Wessi: Unterscheiden zwischen alle und einzelnen WR
if( inv & Math.pow(2,31) ) {
// alter Code von Jörg für alle WR
y = 0
dt = getWRToken( ye[i], 0 )
datum = new Date( parseInt(dt.substring(6,8),10)+2000, 5, 31, 0, 0, 0 )
for( wrI=1; wrI<AnzahlWR>0 ) {
data2 = enumData( da[0], wrI )
y += data2[1]
sum += data2[1]
}
}
if( y>max )
max=y
if( y>0 ) {
x = D.ScreenX( datum );
new Bar(x-(balken_breite/2-balken_breite*.1), D.ScreenY(y), x+(balken_breite/2-balken_breite*.1), D.ScreenY(0), "#FFFF00", "", "#FFFFFF", Math.floor(y/1000)+" kW","GoYear("+datum.getFullYear()+")");
y=SollYearKWP*getCurAnlagenKWP()
new Bar(x-(balken_breite/1.8-12), D.ScreenY(y), x+(balken_breite/1.8-10), D.ScreenY(y-getMaxWRP()/80), "#66FF00", "", "#FFFFFF", Math.floor(y/1000)+" kW","GoMonth("+datum.getFullYear()+","+i+")");
}
// Wessi: neuer Code für einzelne WR
} else {
y = 0
oldY=0
dt = getWRToken( ye[i], 0 )
datum = new Date( parseInt(dt.substring(6,8),10)+2000, 5, 31, 0, 0, 0 )
for( wrI=1; wrI<AnzahlWR>0 ) {
data2 = enumData( da[0], wrI )
y += data2[1]
sum += data2[1]
}
}
if( y>0 ) {
x = D.ScreenX( datum );
new Bar(x-(balken_breite/2-balken_breite*.1), D.ScreenY(oldY+y), x+(balken_breite/2-balken_breite*.1), D.ScreenY(oldY), WRCol[wrI-1], "", "#FFFFFF", Math.floor(y/1000)+" kW","GoYear("+datum.getFullYear()+")");
oldY += y
if( oldY>max )
max=oldY
ys=SollYearKWP*getCurAnlagenKWP()
new Bar(x-(balken_breite/1.8-12), D.ScreenY(ys), x+(balken_breite/1.8-10), D.ScreenY(ys-getMaxWRP()/80), "#66FF00", "", "#FFFFFF", Math.floor(ys/1000)+" kW","GoMonth("+datum.getFullYear()+","+i+")");
}
}
}
}
i++;
}
|
Gruss, Wessi |
|
|
|
 |
Google-Werbung
|
Verfasst am:
|
 |
|
|
 |
pesoelko
Forumsinventar


Info: Betreiber
Angemeldet: 05.07.2006
Beiträge: 1718
Wohnort: Nördlich von München
|
Verfasst am:
02.04.2007, 13:47 |
 |
|
|
 |
Jörg
Forumsinventar

Angemeldet: 11.07.2005
Beiträge: 636
Wohnort: 72336 Balingen
|
Verfasst am:
02.04.2007, 17:40 |
 |
na klar, mach ich.
Vielen Dank Wessi! |
|
|
|
 |
dabo
Stammmitglied


Info: Betreiber
Angemeldet: 10.03.2007
Beiträge: 100
Wohnort: Heidenheim an der Brenz (Schwäbisch Sibirien)
|
Verfasst am:
03.04.2007, 23:29 |
 |
Leider funktioniert Wessi's Code-Snippet bei mir nicht, da scheinen an 2 Stellen einige Zeilen Code zu fehlen und Klammern können nicht gefaltet werden.
Das folgende, geklaut aus vorherigem Abschnitt der visu.html (Monate) und leicht angepasst, geht bei mir:
Ersetzen der Zeilen 922 bis 951 (in original visu.html 1.30) durch dieses:
| Code: |
var i, x, y, oldY, dt;
max=0
i=0;
sum=0
while( i<ye.length )
{
y = 0
dt = getWRToken( ye[i], 0 )
datum = new Date( parseInt(dt.substring(6,8),10)+2000, 5, 31, 0, 0, 0 )
for( wrI=1; wrI<AnzahlWR>0 ) {
data2 = enumData( da[0], wrI )
y += data2[1]
sum += data2[1]
}
}
if( y>max )
max=y
if( y>0 ) {
x = D.ScreenX( datum );
new Bar(x-(balken_breite/2.5), D.ScreenY(y), x+(balken_breite/2.5), D.ScreenY(0), "#FFFF00", "", "#FFFFFF", Math.floor(y/1000)+" kW","GoYear("+datum.getFullYear()+")");
y=SollYearKWP*getCurAnlagenKWP()
new Bar(x-(balken_breite/1.8-12), D.ScreenY(y), x+(balken_breite/1.8-10), D.ScreenY(y-getMaxWRP()/80), "#66FF00", "", "#FFFFFF", Math.floor(y/1000)+" kW","GoMonth("+datum.getFullYear()+","+i+")");
y=0
oldY=0
for( wrI=1; wrI<AnzahlWR>0 ) {
data2 = enumData( da[0], wrI )
y += data2[1]
sum += data2[1]
}
}
if( y>0 ) {
new Bar(x-(balken_breite/3), D.ScreenY(oldY+y), x+(balken_breite/3), D.ScreenY(oldY), WRCol[wrI-1], "", "#FFFFFF", Math.floor(y/1000)+" kW","GoYear("+datum.getFullYear()+")");
oldY += y
if( oldY>max )
max=oldY
}
}
}
}
i++;
}
|
Ach so, ich will hier keinen Wettstreit provozieren.
MfG
Manfred |
_________________ 51 x Sanyo HIP-215NHE5, handverlesen
3 x KACO 3501xi, galvanisch getrennt
11kWp Ertragsdaten
Disclaimer: Ich distanziere mich auf das Schärfste und behaupte auf der Stelle das Gegenteil! |
|
|
 |
dabo
Stammmitglied


Info: Betreiber
Angemeldet: 10.03.2007
Beiträge: 100
Wohnort: Heidenheim an der Brenz (Schwäbisch Sibirien)
|
Verfasst am:
04.04.2007, 07:38 |
 |
Arghhh,
das mit CODE ... /CODE funktioniert nicht.
Da werden einige Zeilen unterschlagen, wie bei Wessi's Post.
Ich versuche es mal so:
var i, x, y, oldY, dt;
max=0
i=0;
sum=0
while( i<ye.length )
{
y = 0
dt = getWRToken( ye[i], 0 )
datum = new Date( parseInt(dt.substring(6, ,10)+2000, 5, 31, 0, 0, 0 )
for( wrI=1; wrI<AnzahlWR>0 ) {
data2 = enumData( da[0], wrI )
y += data2[1]
sum += data2[1]
}
}
if( y>max )
max=y
if( y>0 ) {
x = D.ScreenX( datum );
new Bar(x-(balken_breite/2.5), D.ScreenY(y), x+(balken_breite/2.5), D.ScreenY(0), "#FFFF00", "", "#FFFFFF", Math.floor(y/1000)+" kW","GoYear("+datum.getFullYear()+")");
y=SollYearKWP*getCurAnlagenKWP()
new Bar(x-(balken_breite/1.8-12), D.ScreenY(y), x+(balken_breite/1.8-10), D.ScreenY(y-getMaxWRP()/80), "#66FF00", "", "#FFFFFF", Math.floor(y/1000)+" kW","GoMonth("+datum.getFullYear()+","+i+")");
y=0
oldY=0
for( wrI=1; wrI<AnzahlWR>0 ) {
data2 = enumData( da[0], wrI )
y += data2[1]
sum += data2[1]
}
}
if( y>0 ) {
new Bar(x-(balken_breite/3), D.ScreenY(oldY+y), x+(balken_breite/3), D.ScreenY(oldY), WRCol[wrI-1], "", "#FFFFFF", Math.floor(y/1000)+" kW","GoYear("+datum.getFullYear()+")");
oldY += y
if( oldY>max )
max=oldY
}
}
}
}
i++;
}
Edit: Wieder nichts, einiges vom Text weg, klappt nicht, Sorry.
MfG
Manfred |
_________________ 51 x Sanyo HIP-215NHE5, handverlesen
3 x KACO 3501xi, galvanisch getrennt
11kWp Ertragsdaten
Disclaimer: Ich distanziere mich auf das Schärfste und behaupte auf der Stelle das Gegenteil! |
|
|
 |
Jörg
Forumsinventar

Angemeldet: 11.07.2005
Beiträge: 636
Wohnort: 72336 Balingen
|
Verfasst am:
04.04.2007, 13:45 |
 |
Hallo Manfred, Wessi,
macht nichts, es hat schon der Hinweis genügt. Ich habe gestern bereits den Code integriert und etwas modifiziert. Das tut jetzt.
Ich habe auch deine anderen Code-Modifikationen bezüglich den Einheiten usw. übernommen Manfred. Ich denke du wirst zufrieden sein, ist im nächsten Update alles drin.
Viele Grüße,
Jörg |
|
|
|
 |
|
|
|
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|