Drei Kurven in einem Plot

Begonnen von stgeran, 12 Oktober 2013, 23:10:56

Vorheriges Thema - Nächstes Thema

stgeran

Kann ich Feuchtigkeit, Temperatur UND Luftdruck in einen Plot bringen? Es werden doch immer nur zwei Größen angezeigt. Und der Plot müsste auf zwei logfiles zugreifen.
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

justme1968

es gehen beliebig viele kurven mit bis zu 6 y-achsen von denen aber nur zwei angezeigt werden. ich hatte für das alte plot modul (vor SVG) einen patch gebaut der eine dritte angezeigt hat.

die daten müssen aus dem gleichen log file komme. 

zum mischen unterschiedlicher sensoren bietet sich db log an. einfach alles in eine db logge. und dann beliebig kombinieren.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Bernhard

ne, stimmt nicht ganz - siehe Anhang.

Bernhard


betateilchen

Doch das stimmt. Was soll man Deinem Screenshot entnehmen?

Natürlich kann ich beliebig viele Devices in einem Logfile loggen, das ich dann zum plotten verwende, aber der SVG Plot liest nur aus EINEM Logfile, wie von andre schon geschrieben:


DEF FileLog_out_Balkon:wl_out_Balkon:CURRENT
    ^^^^^^^^^^^^^^^^^^

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Bernhard

:-)
die Antwort gibst du doch selber. Die Kernfrage war doch, wie kann ich weitere Kurven im Plot anzeigenß
Dafür sorgen, dass im Logfile die entsprechenden Daten vorhanden sind - wie auch immer
Bernhard

stgeran

Das war aber auch ein Teil der Frage, wie bekomme ich von zwei Devices die Daten in einen Log?
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

betateilchen

Indem du die Definition des Logfiles so änderst, dass auch das zweite Device mit geloggt wird. Stichwort: regexp

define blaLog FileLog ./log/blaLog-%Y.log (device1|device2|device3)

loggt die aufgeführten drei Geräte in ein gemeinsames Logfile.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

stgeran

Ahh, viel Danke vielmals. Ich hatte die Devices mit "," getrennt.
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

betateilchen

das ist regex und nicht irgendeine fhem-Aufzählung ;)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

stgeran

Ich bekomme es immer noch nicht geregelt. So sieht es jetzt aus:

define FileLog_Test FileLog ./log/Meine_Logs/Test-%m.log (Temp_aussen|BMP180)
attr FileLog_Test logtype TempDruck:Temp/Hum,text
attr FileLog_Test room CUL_TX
define weblink_TEST SVG FileLog_TEST:TempDruck:CURRENT
attr weblink_TEST label "Temp_Druck Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr weblink_TEST room Plots,CUL_TX

Ausschnitt aus der logfile:

2013-10-14_17:17:02 Temp_aussen T: 13.4 H: 73.0
2013-10-14_17:17:02 Temp_aussen temperature: 13.2
2013-10-14_17:17:09 BMP180 T: 43.0 P: 1006.0 P-NN: 1016.4
2013-10-14_17:17:09 BMP180 temperature: 43.0
2013-10-14_17:17:09 BMP180 pressure: 1006.0
2013-10-14_17:17:09 BMP180 pressure-nn: 1016.4
2013-10-14_17:20:12 BMP180 T: 43.0 P: 1006.0 P-NN: 1016.4
2013-10-14_17:20:12 BMP180 temperature: 43.0
2013-10-14_17:20:12 BMP180 pressure: 1006.0
2013-10-14_17:20:12 BMP180 pressure-nn: 1016.4

Die TempDruck.gplot ist eine kopie der temp4hum4.gplot. Es erscheint aber keine Auswahlzeile in dem Editor "Example lines for input:"
Was fehlt da?
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

stgeran

Nächster Versuch, ich krieg es nicht hin. Teil der cfg:

define FileLog_Test FileLog ./log/Meine_Logs/Test-%m.log (Temp_aussen|BMP180)
attr FileLog_Test logtype SVG_FileLog_Test_1:Druck,text
attr FileLog_Test room CUL_TX
define weblink_TEST SVG FileLog_TEST:SVG_FileLog_Test_1:CURRENT
attr weblink_TEST label "Temp_Druck Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr weblink_TEST plotsize 800,400
attr weblink_TEST room Plots,CUL_TX

Wenn ich den room CUL_TX aufrufe sehe ich meine plots von temp_aussen und temp_innen wie gewünscht. Nur der plot Test erscheint mit willkürlichem Inhalt
(meist temp_aussen) mit label CURRENT anstelle von  "Temp_Druck Min $data{min1}, Max $data{max1}, Last $data{currval1}"

Ich weis nicht warum
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

justme1968

du hat in der SVG definition das test in FileLog_TEST gross geschrieben. dein log file heisst aber FileLog_Test mit mixed case test.

SVG macht seltsame sachen wenn das logfile oder die db nicht da sind.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

stgeran

Oh, Mann, das kommt davon, wenn man vor lauter Bäumen den Wald nicht sieht. Danke!!!!!!!!!!!!!!!!!!!!!!!!
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

Puschel74

Hallo,

ich hab mal wieder eine Fräge.

Ich logge ja alles in mein DBLog.
Kurven meiner Sensoren kann ich auch wunderbar darstellen aber bei meinen Schaltern komme ich nicht weiter.
Evtl. kann mir ja mal jemand (andre?  ;) ) auf die Srpünge helfen bitte.

Definiert ist
- ein FS20-Schalter der per FHEM einwandfrei bedient werden kann und der state auch brav on und off ist
- mein DBLog (logischerweise)
- mein Weblink der aber immer nur off zeigt



############################
# Display the on and off values off an FS20 device
# Corresponding FileLog definition:
# define fs20log FileLog /var/log/fhem/fs20dev-%Y-%U.log fs20dev

set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'

set ytics ("Off" 0, "On" 1)
set y2tics ("Off" 0, "On" 1)
set yrange [-0.1:1.1]
set y2range [-0.1:1.1]
set ylabel "Status"
set y2label "Status"

#DbLog <SPEC1>:state::

plot "< awk '{print $1, $3~/on/? 1 : 0; }' <IN>"\
        using 1:2 notitle with steps
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

justme1968

versuch es mal mit data statt state. da wird genau so wie bei einigen anderen devices state umgemapped.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Puschel74

Hallo,

danke für die Antowrt andre aber ein

set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'

set ytics ("Off" 0, "On" 1)
set y2tics ("Off" 0, "On" 1)
set yrange [-0.1:1.1]
set y2range [-0.1:1.1]
set ylabel "Status"
set y2label "Status"

#DbLog <SPEC1>:data::

plot "< awk '{print $1, $3~/on/? 1 : 0; }' <IN>"\
        using 1:2 notitle with steps


in der fs20db.gplot brachte nur einen leeren Plot hervor.
Also nichtmal die Linie bei off.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

justme1968

du musst die on/off aus dem log noch auf 0/1 mappen etwa so:<SPEC1>:data:::$val=~s/(on|off).*/$1eq"on"?1:0/eg

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Puschel74

Hallo,

Zitat<SPEC1>:data:::$val=~s/(on|off).*/$1eq"on"?1:0/eg

Autsch - auf sowas muss man erstmal kommen.
Aber klappt leider auch nicht - Plot bleibt leer.

Ich dachte in meiner "jugendlichen" Naivität das

plot "< awk '{print $1, $3~/on/? 1 : 0; }' <IN>"\

nach on sucht - als Ergebnis eine 1 an plot liefert sonst eine 0 und das

set ytics ("Off" 0, "On" 1)
set y2tics ("Off" 0, "On" 1)


aus einer 0 im Plot ein OFF macht und eine 1 ein ON.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

justme1968

Zitat von: Puschel74 am 18 Oktober 2013, 21:06:51
Hallo,

Autsch - auf sowas muss man erstmal kommen.
oder in der commandref nachschauen :)

ZitatAber klappt leider auch nicht - Plot bleibt leer.

Ich dachte in meiner "jugendlichen" Naivität das

plot "< awk '{print $1, $3~/on/? 1 : 0; }' <IN>"\

nach on sucht - als Ergebnis eine 1 an plot liefert sonst eine 0 und das

der teil ist noch aus gplot zeiten und wird nur zum teil ausgewertet. das mapping z.b. genau nicht.

Zitatset ytics ("Off" 0, "On" 1)
set y2tics ("Off" 0, "On" 1)


aus einer 0 im Plot ein OFF macht und eine 1 ein ON.
das ist nur für die achsen beschriftung da. sonst für nichts.

also schritt für schritt:
- zuerst nachschauen was wirklich in der db steht: sqlite <dein db file> und dann select * from HISTORY where DEVICE="<dein fs20 device>"; oder entsprechend für mysql.

da muss als READING data auftauchen uns als VALUE etwas mit on oder off.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Puschel74

Hallo,

Zitatselect * from HISTORY where DEVICE="EG_Eingang_Licht_innen";

liefert als state Aus und Ein-for-timer 30  8)

Stimmt ja auch - ich schalte das Licht meist mit Timer ein  :o

Dann werd ich deine Tipps nochmal versuchen. Diesmal mit Ein-for-timer 30.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

justme1968

dann musst du beim mappen im plotfile natürlich ein und aus statt on und off verwenden.

das -for-timer wird schon abgefangen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Puschel74

#21
Hallo,

Zitatdas -for-timer wird schon abgefangen.

was die Sache schon ungemein erleichtert.

Danke nochmal für die Hilfe andre.

set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'

set ytics ("Aus" 0, "Ein" 1)
set y2tics ("Aus" 0, "Ein" 1)
set yrange [-0.1:1.1]
set y2range [-0.1:1.1]
set ylabel "Status"
set y2label "Status"

#DbLog <SPEC1>:state:::$val=~s/(Ein|Aus).*/$1eq"Ein"?1:0/eg

plot "< awk '{print $1, $3~/Ein/? 1 : 0; }' <IN>"\
        using 1:2 notitle with steps


So klappts auch mit dem Plot.

Grüße

Edith: Mal schauen ob ichs auch für on/off und dim hinbekomme.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

justme1968

wirklich state und nicht data?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Puschel74

Hallo,

Zitatwirklich state und nicht data?

Jep. state
Mit data bekomm ich nur einen leeren Plot geliefert und die select-Abfrage hat auch state geliefert.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

justme1968

seltsam...

aber wenn es geht ist ja alles gut.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Puschel74

#25
Hallo,

so sehen zumindest die Plots aus:

(http://screenshot018.jpg)

Nur der OG_Flur_Licht lässt sich auch mit einem

#DbLog <SPEC1>:state:::$val=~s/(Ein|Aus|dim).*/$1eq"Ein"?1:0/eg

nicht überreden - klar kann aiúch nicht da ja Ein auf 1 und der Rest auf 0 gemapped wird.
Als state habe ich dort dim100% und dim81%.
Wenn ich
#DbLog <SPEC1>:state:::$val=~s/(Ein|Aus|dim).*/$1eq"dim"?1:0/eg
eintrage wird natürlich alles mit dim auf 1 gemapped und die restlichen Plots bringen wieder nur Aus.

Ist es möglich (wird sicher sein nur wie??) das ich bei FS20-Dimmer so einen "ähnlichen" Plot mache wie bei den FHT80-actuator?
Also den Prozentwert zwischen 0 und 100 und Aus = 0 und dim100% und Ein = 100.
Die fs20db.gplot aber so allgemein gehalten bleibt das ich auch Geräte plotten kann die nur Ein und Aus liefern?

Danke für die Hilfe.

Grüße

Edith: Das
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'

set ytics ("Aus" 0, "Ein" 100)
set y2tics ("Aus" 0, "Ein" 100)
set yrange [-0.1:100.1]
set y2range [-0.1:100.1]
set ylabel "Status"
set y2label "Status"

#DbLog <SPEC1>:state:::$val=~s/(Ein|Aus|dim).*/$1eq"Ein"?100:0/eg

plot "< awk '{print $1, $3~/Ein/? 1 : 0; }' <IN>"\
        using 1:2 notitle with steps

klappt auch nicht.
Irgendwo habe ich noch einen gewaltigen Denkfehler  :-\
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

justme1968

#26
ich würde zweistufig vorgehen:

- per eventMap dim0 auf aus und dim100 auf ein mappen. etwa so:attr <device> eventMap
/dim0%:Aus/dim100%:Ein/


- dann die $val bestimmung drei stufig machen:$val=~s/(Ein|Aus|dim).*/$1eq"Ein"?1:($1eq"dim"?0.5:0)/eg

wenn du mit der regex beim suchen spielst kannst du vermutlich sogar die dim werte genau bestimmen und nicht alles was gedimmt ist auf 0.5 setzen.

gruss
  andre

edit: idee für die dim level:$val=~s/(Ein|Aus|dim(\d*)).*/$1eq"Ein"?1:($1eq"dim"?$2/100:0)/eg
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Puschel74

Hallo,

das

$val=~s/(Ein|Aus|dim(\d*)).*/$1eq"Ein"?1:($1eq"dim"?$2/100:0)/eg

brachte das

Zitat2013.10.21 19:30:36 3: DbLog: Error in inline function: <$val=~s/(Ein|Aus|dim(\d*)).*/$1eq"Ein"?1:($1eq"dim"?$2/100:0)/eg>, Error: syntax error at (eval 338384) line 1, near "s/(Ein|Aus|dim(\d*)).*/$1eq"Ein"?1:($1eq"dim"?$2/100"

Ich habe erstmal aber auch nur ein einfaches
$val=~s/(Ein|Aus|dim).*/$1eq"Aus"?0:1/eg
am Start was mir wenigstens anstelle des Dimmwertes eine 1 bringt im Plot.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

justme1968

der parser kommt mit den / für geteilt durch durcheinander.

wenn du noch lust hast versuch mal das hier:
$val=~s/(Ein|Aus|dim(\d*)).*/$1eq"Ein"?1:($1eq"dim"?$2*0.01:0)/eg;

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Puschel74

Hallo,

danke nochmal für deine unermüdliche Unterstützung andre  :)

Leider hat
$val=~s/(Ein|Aus|dim(\d*)).*/$1eq"Ein"?1:($1eq"dim"?$2*0.01:0)/eg;
(in meiner Verzweiflung auch mit und ohne ; am Ende versucht) nicht geklappt.

Und auch mein versuchtes
$val=~s/(Ein|Aus|dim).*/$1eq"Ein"?1:($1eq"dim"?$2*0.01:0)/eg;
sowie
$val=~s/(Ein|Aus|dim).*/$1eq"Ein"?1:$1eq"dim"?$2*0.01:0/eg;
und auch
$val=~s/(Ein|Aus|dim(\d*)).*/$1eq"Ein"?1:$1eq"dim"?$2*0.01:0/eg;
hat nicht gefruchtet.

Ein und dim wurde bei beiden ignoriert und der Plot zeigt nur eine schöne Linie bei Aus.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

justme1968

mein fehler... die klammern waren falsch.$val=~s/(Ein|Aus|dim)(\d*).*/$1eq"Ein"?1:($1eq"dim"?$2*0.01:0)/egund ohne das semikolon.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Puschel74

Hallo,

yeah - bingo.

Tausend Dank andre.

Wenn man genau hinsieht erkennt man das die Linien mal bei ~80% enden und mal bis ganz rauf gehen.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Jaydee

Ich klinke mich hier auch mal kurz ein, weil das Thema so schön passt.

Wie zuvor ja schon gesagt wurde kann man ja mehr als die zwei (linke und rechte) Y-Achsen nutzen. Die ist zum Beispiel nötig, wenn meine 3+ Kurven völlig verschiedene Ranges haben. Mit dem SVG-Editor komm ich ich dann nicht weiter, was nicht dramatisch ist, das kann ich ja auch mit nem Texteditor anpassen: axes x1y3
Der Haken ist nur, dass, sobald man den SVG-Editor dann irgendwann verwendet um z.B. an Kurve 1 eine Kleinigkeit zu ändern, er auch Kurve 3 versaut, weil er dort dann die Achse auf right (y2) setzt.

Gibt es eine Möglichkeit das zu verhindern? Kann ich da etwas sperren?

Grüße
Jan

betateilchen

Der SVG-Editor macht noch ganz andere schräge Sachen. Damit muss man sich abfinden und bei karierten Maiglöckchen auf seine Verwendung komplett verzichten.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!