MeisterKühler

Conrad Energy Logger 3500 – empfohlenes Messgerät für Stromsparer!

Willkommen in der Mk-Community Foren Energie & Stromspar – PC Systeme Stromspar- und Messtechnik Conrad Energy Logger 3500 – empfohlenes Messgerät für Stromsparer!

Ansicht von 44 Antwort-Themen
  • Autor
    Beiträge
    • #491747
      ulv
      Teilnehmer

      Hinweis: Linux Software Skript zur Konvertierung der Logger-Daten als csv siehe hier. 😎

      Nachdem mich die neue Serie von ELV (EM6000 und EM8000) so enttäuscht hat habe ich jetzt den Conrad Energy Logger 3500 getestet.

      http://media.conrad.de/xl/1000_1999/1200/1250/1253/125323_LB_02_FB.EPS.jpg (www.conrad.de)

      Meiner Meinung nach [SIZE=”2″]ist es das einzig Empfehlenswerte Messgerät[/SIZE], dass man aktuell kaufen kann – leider kostet es 50€.

      Der Logger hat eine nette Funktion: man kann alle Messwerte auf SD-Karte ausspielen und im PC auswerten.
      Ein Beispiel von sirphoenix (http://www.meisterkuehler.de/forum/vorstellung-von-stromspar-pcs/22857-3-ghz-performance-stromspar-rechner.html)
      http://www.purebytes.de/stuff/hardware/stromverbrauch/p45_messung1_small.jpg

      Es gibt neben dem Tool für Windows auf der Conrad-CD, auch noch eine Open-Source-Eigenentwicklung (in Delphi) und super Doku der Chips im Logger einschließlich neuen Setup-Dateien auf den folgenden Seiten:
      http://energycheck.meterstand.info/
      http://gathering.tweakers.net/forum/list_messages/1253295/5

      Kranich arbeitet glaube ich bereits an einer Version in C (für Linux). :d:
      Bitte postet hier eure Erfahrungen und alles was mit den Logger zu tun hat. :d:

      Edit:
      Der Author der Software ist neuerdings auch ein Meisterkühler:

      TD-er;354738 said:
      Hello,
      I’m the author of the tool and did also the rev. engineering of the data.
      If you want to know the data-format in detail, please have a look at the wiki on my domain: http://wiki.meterstand.info/index.php/Energy_Logger_3500.
      It was first written in Dutch, but I translated it into English when I got emails from all over Europe (I didn’t know Conrad was this large 🙂 ) about the software.

      One tip about writing the data to the SD-card: If the data is somewhat scrambled, this can be the result of interferrence from other devices like a switching powersupply. Please try to dump the data using another wall-socket, away from any device.
      Also it is best to use an SD-card from 512-2GB. I’ve tried smaller ones and all failed. The EnergyLogger uses a really low-level method of writing the data to the card and will fail if the format is somewhat different. (e.g. smaller clustersize)

      I’m currently working on a complete rewrite of the code (it’s horrible Pascal code, due to the fact I’ve written it while debugging/rev.engineering the format) in Visual C++.

      Someone else, also a user on the dutch forum Tweakers.net, did make another application to create Excel-files. He uses a rather surprising approach to create the files, but I like it 🙂
      He has his own subdomain for his version on my server: http://maximilianus.meterstand.info/
      The prerequisites are that Excell must be installed on the same system. In the latest version (version 2) of his software, he did fix the language-problems, but if they’re still an issue with e.g. the German Windows, please set your language-regional setting in Windows to English.

      If someone makes another version, I would like to see it, just to get new ideas on approaches to display or convert the data.

      N.B.
      Ich bin ein Hollander und kann nicht so gut Deutsch schreiben. Darum soll ich vast alles am Englisch posten. Ich kann wohl Deutsch lesen und verstehen.

    • #796528
      TD-er
      Teilnehmer

      The magazine (and site) hardware.info (Dutch site) has done some research on a few of these meters. They compared them with a lab-referencemeter.
      The result can be seen here.
      Just a few translations of the words which don’t look like the german words for it, for those who have difficulties reading Dutch:

      Weergave netspanning = Display net-voltage
      Actueel verbruik = actual powerconsumption (Watt or kWatt)
      Gloeilamp = Tungsten light
      Stofzuiger = vacuumcleaner
      Gemiddelde afwijking tov. referentiemeter = Average offset compared to the referencemeter.

    • #796542
      Poweruser
      Teilnehmer

      Wie stehts mit der Genauigkeit des Energy Logger 3500 Messgeräts?@TD-er: Aktueller Verbrauch = Actueel verbruik = actual powerconsumption (Watt or kWatt)undGlühlampe = Gloeilamp = Tungsten lightkann man noch raten. Bei den anderen tut man sich allerdings schon schwer… :)Edit: hab gerade gesehen, dass man beim Testhttp://www.hardware.info/nl-NL/news/ymiclZqSwpuabZY/Testresultaten_Energieverbruiksmeters/auch nach rechts scrollen kann. Dann sieht man auch die Messwerte des Energy Logger…

    • #796557
      PiX
      Teilnehmer

      I’m surprised by the Cresta RCE-1106
      for only 10€ you’ll get a quite accurate device

      I’ve found this shop
      http://www.kijkshop.nl/index.asp?strPageType=productpagina&intProductID=21159&osadcampaign=mbuyu.nl
      but i have no idea how to buy
      I simply dont understand the language (shipping costs EU?)

    • #796554
      Poweruser
      Teilnehmer

      Die Senseo Geräte sind hier sehr beliebt 🙂

    • #796559
      Poweruser
      Teilnehmer

      VerzendkostenHet kan zijn dat er voor uw bestelling verzendkosten in rekening worden gebracht. Momenteel leveren wij alleen binnen Nederland en België.

      Versand zur Zeit also wohl nur nach Holland und Belgien…. wobei: fragen kostet nix…E: @ ulvFür kleinere Verbesserungen könnte man den Widerstand auch mit einem Bleistift übermalen.

    • #796558
      ulv
      Teilnehmer

      Ich hab gerade mal das Problem mit dem etwas geringen Kontrast gelöst:

      Siehe Wiki: http://wiki.meterstand.info/index.php/Energy_Logger_3500#Contrast_enhancement_of_the_LCD
      http://wiki.meterstand.info/images/thumb/3/36/Vlcd_weerstanden.jpg/180px-Vlcd_weerstanden.jpg
      Das ist recht einfach. Ich hab mal die Leitungen nachverfolgt und es ist der R30 (jetzt 1kOhm “1001”) der den Kontrast einstellt.
      Siehe http://energycheck.meterstand.info/Datasheets/EnergyLogger3500/PS1000_Single_phase_SOC%5b1%5d.pdf Seite 13. Die Widerstände von oben nach unten R30, R31, R32, R33.
      Ich hab den R30 durch ein 10k Poti ersetzt und konnte den Kontrast sehr schön einstellen. Für maximalen Kontrast kann man den einfach kurz schließen (0 Ohm). So hab ich es jetzt. :d:

      PS: Wer, wie ich, ein Poti will kann die kleine Aussparung in der Platine nutzen um die Kabel unter dem Display raus zu bekommen. Und einfacher zu löten ist vermutlich ein 50k Poti parallel zu R30.
      PPS: Es hilft das Display zu markieren bevor man es abschraubt. 😀

    • #796561
      TD-er
      Teilnehmer

      PiX;354785 said:
      I’m surprised by the Cresta RCE-1106
      for only 10€ you’ll get a quite accurate device

      I’ve found this shop
      http://www.kijkshop.nl/index.asp?strPageType=productpagina&intProductID=21159&osadcampaign=mbuyu.nl
      but i have no idea how to buy
      I simply dont understand the language (shipping costs EU?)

      The “Kijkshop” is quite a different shop. You can only see the products displayed behind glass and have to write down the product-numbers on a card. After that you can give the card to the person behind the counter and they will gather it from the storage-room.

      Next to the image it says: “Tijdelijk niet te bestellen.” which means “temporary sold-out”. They’re probably quite popular after the test. 😉

      Somewhere on the site they state: “Momenteel leveren wij alleen binnen Nederland en België.” which means they only ship to addresses in the Netherlands or Belgium.

    • #796552
      TD-er
      Teilnehmer

      Poweruser;354767 said:
      Wie stehts mit der Genauigkeit des Energy Logger 3500 Messgeräts?

      [..]
      Edit: hab gerade gesehen, dass man beim Test
      http://www.hardware.info/nl-NL/news/ymiclZqSwpuabZY/Testresultaten_Energieverbruiksmeters/
      auch nach rechts scrollen kann. Dann sieht man auch die Messwerte des Energy Logger…

      Yep, it can be a little hard to see all columns.
      The energylogger is less accurate with stand-by measurements of appliances with low cos-phi (powerfactor).
      E.g. my Panasonic plasma TV has an exceptionally low power-factor and the EnergyLogger is not able to display a stable result. (<0,5 Watt, but about 60VA) The EnergyMonitor 3000 can handle these much better.
      Another example of a bad behaving device in stand-by is the Philips Senseo. (don't know if you know this coffeemaker in Germany)
      If you want to test the stand-by power-consumption of devices with a switching powersupply, you could test the device along with a "Glühlampe " 😉 of about 10Watt. This way the meassurements will be a lot more stable and accurate.

    • #796588
      ulv
      Teilnehmer

      Logger und Mittelwert?Ich hab jetzt eine Lösung für das Mittelwert Problem. Ich messe immer lieber eine Zeit lang – ich denke dann wird es genauer. Ich hatte mich bei meinem alten EM800 auch schon so daran gewöhnt.Der Logger hat ja eine Forecast Funktion. Dort werden die Kosten pro Jahr angezeigt. Wenn man nun bei den Kosten/kWh 1/(24*365) also 0,114 einträgt dann kann man in der Kostenvorhersage aufs Jahr die durchschnittliche Leistung in Watt ablesen. :cool:Messzeit-Reset nicht vergessen. ;)Je nach Last dauert es aber so > 5 Minuten bis der Wert überhaupt angezeigt wird. (Man muss wohl erst wenigstens eine kWh verbraucht haben.)Edit: Es muss 0,114 (und nicht 0,144) sein.

    • #796589
      TD-er
      Teilnehmer

      Offcourse you’ll get a more accurate result when measuring over a longer period. Only problem is when the instant-measurement is already completely off.
      With the EnergyLogger, this only will be an issue with really low-power loads of less than 3 Watt, or a really low (<0.3) cos-phi.
      I'm not sure if one can speak of a cos-phi with such pulsating loads.

      I was just wondering is this 0,144 you mention the price for 1 kWh in Germany? Here in Holland it is about 0,235 euro per kWh. (all taxes included)

    • #796611
      littledevil
      Teilnehmer

      ulv;354818 said:
      (Man muss wohl erst wenigstens eine kWh verbraucht haben.)

      Ich hoffe Du meinst eine Wh 😉

    • #796625
      ulv
      Teilnehmer

      TD-er;354819 said:
      I was just wondering is this 0,144 you mention the price for 1 kWh in Germany? Here in Holland it is about 0,235 euro per kWh. (all taxes included)

      Nein das ist nur ein Trick! Der Logger multipliziert die Leistung mit den Stunden eines Jahres um die kWh auszurechnen. Wenn man als Preis pro kWh genau 0,114 einstellt dann rechnet der Logger praktisch wieder zurück.Beispiel:100 Watt Verbrauch -> Logger zeigt nach 1 Stunde 0,1 kWh -> In der Vorhersage sind es dann im Jahr 0,1 * 24 Stunden * 365 Tage = 876 kWh/Jahr -> Multipliziert mit dem Preis/kWh von 0,114 ergibt sich wieder 99,8 “Watt” im Durchschnitt.Ich sehe gerade ich hab mich vertippt: Es muss 0,114 als pseudo Preis eingegeben werden.

      littledevil;354844 said:

      ulv;354818 said:
      (Man muss wohl erst wenigstens eine kWh verbraucht haben.)

      Ich hoffe Du meinst eine Wh 😉

      Ja, klar. Sorry.Edit: Ich hab natürlich 1,142 als Preis eingestellt – dann ist es zwar immer Faktor 10 zuviel – aber genauer: 1000,4 kWh entspricht dann 100,04 Watt im Durchschnitt. 8-[

    • #796717
      kranich
      Teilnehmer

      Hallo ulv,

      es freut mich, daß Du Besitzer des E.Log. 3500 geworden bist
      und schon Vergleichsmessungen gemacht hast !

      Hast Du die SD-Backup-Sicherung schon gestestet ?
      Sind alle BIN-Dateien ordentlich auf der SD gelandet ?
      Gibt es “Verstümmelungen” in Datei- oder Verzeichnisnamen ?
      Wie sieht es mit der Software auf der CD aus ?

      Z.Zt. nehme ich die CSV-Konvertierung (für Grafiken) von hier:
      http://energycheck.meterstand.info/EnergyLogger_commandlinetool/version_0.0.1/
      http://gathering.tweakers.net/forum/list_messages/1253295/5

      Die ANSI-C-Variante dauert noch, da z.B. Sonderfälle für Hardware-
      probleme noch nicht abgefangen (übersprungen) werden …

    • #796749
      ulv
      Teilnehmer

      kranich;354957 said:
      Hallo ulv,
      Hast Du die SD-Backup-Sicherung schon gestestet ?
      Sind alle BIN-Dateien ordentlich auf der SD gelandet ?
      Gibt es “Verstümmelungen” in Datei- oder Verzeichnisnamen ?
      Wie sieht es mit der Software auf der CD aus ?

      Ich hab eine Panasonic SD (Conrad: 992185 PANASONIC SD KARTE 2GB CLASS6) mitbestellt. Hat sofort ohne irgend etwas funktioniert. Keine Fehler soweit ich das ohne Linux-Software beurteilen kann.

      Fehlerbehandlung wäre mir erstmal Wurst (Datum muss auch nicht stimmen) – ich möchte nur einmal die Daten sehen.

      Schreibt der Logger immer nur jede Minute oder kann man das einstellen?

    • #796752
      TD-er
      Teilnehmer

      I have seen that the logger can use smaller than 512 MB SD-cards. The only problem is the small 102-byte file cannot be read and the other bin-files can only be read when they’re using more than 1 sector.
      The original software from Conrad uses the small info-file and if it cannot read this file it will crash.

    • #796830
      ulv
      Teilnehmer

      Meine Daten sind OK gewesen.Ich hab sie jetzt auch schon “konvertiert”:Kleine Linux Anleitung: :D[CODE]$ od -v -j3 -w5 -td1 Datei.bin > oktaldump.csv[/CODE]oder[CODE]$ hexdump -v -e ‘5/1 “%u;” “
      “‘ -s 3 Datei.bin > hexdump.csv [/CODE]Den Rest kann man dann z.B. in Openoffice-Calc machen.[(1. Spalte)*256+(2. Spalte)]/10=”Spannung in Volt”[(3. Spalte)*256+(4. Spalte)]/1000=”Strom in Ampere”(5. Spalte)/100=”Power Factor”Strom*Spannung*PowerFactor=Leistung in Watt

    • #796846
      TD-er
      Teilnehmer

      Only one problem.
      If you unplug the EL3500 and replug it, it will first write a timestamp. This is also 5 bytes, so it will not mess-up the 5-byte interval, but it can mess-up whatever you plan to do with the data in further processing.

      One other problem I’ve encountered is that the EL3500 sometimes does not write entire samples, or write 4-times “FF” in the middle of the file and then starts with a new timestamp. This breaks the 5-byte interval.

    • #796862
      ulv
      Teilnehmer

      Ein richtiges Programm wäre natürlich viel schöner. :d:
      Ich könnte ja auch noch ein kleines shell-Skript drum rum schreiben… 🙄

      Der Hexdump ist aber vermutlich auch für Programmierer interessant – irgendwie muss man ja die typischen Scenarien/Fehler nachvollziehen.

      Wenn ich das richtig verstehe gibt es gar nicht so viele Sonderfälle?

      Ausstecken => neuer Timestamp
      ??? => 4 x FF + neuer Timestamp
      partly written sample
      4 x FF am Ende => Ende der Daten
      >4 x FF am Ende => weiter in nächster Datei

      Folgende Test müssen wohl mindestens sein:
      Datum oder Sample oder 4x FF:
      1) Start-Datum <= Neues Datum <= Start-Datum + 35 Stunden 2) 0 < Mon < 13 und 0 < Tag < 32 und Hour < 24 und Minute <60 3) 200 < Spannung < 240 und Strom < 15 Ampere und PowerFactor < 101 4) 4x FF Wenn 1 und 2 dann Datum Wenn 3 dann Sample Wenn 4 dann skip 4 Wenn EOF und Length = 10564 dann neue Datei. Sonst skip 1 warten auf Sync und vorheriges (defektes) Sample löschen Ich nehme an so in etwa hast du das bereits geschrieben. \D/

    • #796881
      TD-er
      Teilnehmer

      I think you can leave test 1), because there is no guarantee the device was plugged in for 35 hours in a row.You could use the meter behind a powerswitch and thus only operate the device for only a few hours a day. Then there can be many hours in one .bin-file.test no 2) is missing the year ( > 0 and not too far in the future 😉 )The start of a new session is also announced by a 3-byte initstring (E0 C5 EA)Test no 3) is a bit too small.I’ve see spikes of over 240V, upto 250V actually and dips below 200V (down to 80V)Test “Wenn EOF und Length = 10564 dann neue Datei.” should be Length <= 10564.The last file will almost allways be smaller.The last bytes will always be "FF" and not always a multiple of 4 times "FF"For example a .bin-file of 10563 Bytes made with "hexdump -C" in Linux:[code]00002920 34 08 d5 01 0a 33 ff ff ff ff ff ff ff ff ff ff |4....3..........|00002930 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|00002940 ff ff ff |...|00002943[/code]That's about all to decode the data. I'll update the data-format stored in the 102-byte INFO:-file on the wiki tomorrow, or at least what I know till now.Edit:About the voltage-range throughout the day...http://energycheck.meterstand.info/EnergyLogger_commandlinetool/ExampleOutput/Voltage_Grafiek_met_Sinus.pngMade in Excel by using the data from the CSV-file from the data of about 5 days worth of samples from the EnergyLogger 3500.

    • #796926
      TD-er
      Teilnehmer

      littledevil;355177 said:
      the voltage-range over the day is very interesting.

      Is there a difference of power consumtion of the same device between 224 and 230V?

      There should be a difference.
      The meter uses a 0,003 Ohm shunt, which is placed in series with the load. (On the SMD-resistor is printed “R003”)

      I’m not sure if the voltage-measuring is done on the grid-side or load-side.

    • #796925
      littledevil
      Teilnehmer

      the voltage-range over the day is very interesting.

      Is there a difference of power consumtion of the same device between 224 and 230V?

    • #797023
      ulv
      Teilnehmer

      So hier mal ein kleines Shell Skript als Konverter:

      HowTo:
      Skript von hier in Datei (z.B. konverter.sh ) kopieren. Und Skript ausführbar machen mit:
      [CODE]
      $ chmod u+x konverter.sh
      [/CODE]
      .bin Datei vom Logger in gleiches Verzeichnis wie konverter.sh kopieren und Skript aufrufen mit:
      (Status-, Fehlermeldungen und Warnungen landen wenn man es so macht nicht in der out.csv.)
      [CODE]
      $ hexdump -v -e ‘1/1 “%u ” “
      “‘ a???deine_Zahl???.bin | ./konverter.sh > out.csv
      [/CODE]
      out.csv z.B. mit OOo öffnen.

      Wenn man gleich alle Dateien auf einmal Konvertieren will:
      [CODE]
      $ cat a*.bin | hexdump -v -e ‘1/1 “%u ” “
      “‘ -s102 | ./konverter.sh > out.csv
      [/CODE]

      Jetzt noch das Skript:

      [CODE]
      #!/bin/bash
      #
      # Hexdump to CSV/Humanreadable for Conrad Energy Logger 3500 V0.1.03 (c) 2009 ulv at meister kuehler de
      # GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 or later: http://www.gnu.org/licenses/gpl-3.0.txt
      #
      # Thanks for the documentation on http://wiki.meterstand.info/index.php/Energy_Logger_3500
      #
      # If you want to use this skript you need to hexdump first!
      # hexdump -v -e ‘1/1 “%u ” “
      “‘ a?????.bin | ./this_skript.sh > out.csv
      #
      # Output looks like “YYYY-MM-DD HH:MM”;Voltage*10[Volt];Current[mAmpere];PowerFactor[%]

      ########## Functions first *************

      # ERROR_Usage and EXIT
      function ERROR_Usage () {
      echo “WARNING – wrong Header” >&2
      echo “Don’t forget to hexdump first e.g.:”
      echo “hexdump -v -e ‘1/1 \”%u \” \”\
      \”‘ a?????.bin | ./this_skript.sh > out.csv”
      echo “Quitting…” >&2
      exit
      }

      # Read and process a neu Byte
      function skip() {
      i=$1
      while (( $i )) ; do {
      i=$(( $i – 1 ))
      POS=$(( $POS + 1 ))
      if read a ; then {
      b0=$b1; b1=$b2; b2=$b3; b3=$b4; b4=$a
      }
      else {
      if [[ $b4 != 255 ]] ; then {
      if (( $POS < 4 )) ; then { ERROR_Usage } fi echo "WARNING - unexpected EOF at pos $POS" >&2
      echo “Quitting…” >&2
      } ; fi
      exit
      } fi
      } done
      }

      # Evaluate 5 Byte as Date
      function eval_date() {
      YEAR=$(( 2000 + $b2 ))
      MONTH=$b0
      DAY=$b1
      HOUR=$b3
      MINUTE=$b4
      D=$(( 1000 + $DAY )); D=${D:2:2}
      Mo=$(( 1000 + $MONTH )); Mo=${Mo:2:2}
      Y=$YEAR
      H=$(( 1000 + $HOUR )); H=${H:2:2}
      Mi=$(( 1000 + $MINUTE )); Mi=${Mi:2:2}
      NEW_DATE=”$Y-$Mo-$D $H:$Mi”
      }

      # Evaluate 5 Byte as Sample
      function eval_sample() {
      VOLTAGE=$(( $b0 * 256 + $b1 ))
      CURRENT=$(( $b2 * 256 + $b3 ))
      FACTOR=$b4
      SAMPLE=$VOLTAGE\;$CURRENT\;$FACTOR
      }

      # Test if Date makes sense (if yes => $DATE_valid = 1 ; NEW_DATE_DEC = DATE in Seconds after 1970-01-01 UTC )
      function test_date() {
      Y_valid=$(( $(( $YEAR > $MIN_YEAR )) && $(( $YEAR < $MAX_YEAR )) )) Mo_valid=$(( $(( $MONTH > 0 )) && $(( $MONTH < 13 )) )) D_valid=$(( $(( $DAY > 0 )) && $(( $DAY < 32 )) )) H_valid=$(( $(( $HOUR >= 0 )) && $(( $HOUR < 24 )) )) Mi_valid=$(( $(( $MINUTE >= 0 )) && $(( $MINUTE < 60 )) )) DATE_valid=$(( $Y_valid && Mo_valid && D_valid && H_valid && Mi_valid)) if (( $DATE_valid )) ; then { NEW_DATE_DEC=`/bin/date -d "$NEW_DATE" "+%s"` } fi } # Test if Sample makes sense (if yes => $SAMPLE_valid = 1)
      function test_sample() {
      V_valid=$(( $(( $VOLTAGE > 2000 )) && $(( $VOLTAGE < 2400 )) )) C_valid=$(( $(( $CURRENT >= 0 )) && $(( $CURRENT < 15000 )) )) P_valid=$(( $(( $FACTOR >= 0 )) && $(( $FACTOR < 101 )) )) SAMPLE_valid=$(( $V_valid && $C_valid && $P_valid )) } # Test if Logger was replugged (if yes => REPLUGGED_valid = 1)
      function test_replugged() {
      REPLUGGED_valid=$(( $(( $b0 == 224 )) && $(( $b1 == 197 )) && $(( $b2 == 234 )) ))
      }

      # Test if additional “FF FF FF FF” in Data
      function test_FF4() {
      FF4_valid=$(( $(( $b0 == 255 )) && $(( $b1 == 255 )) && $(( $b2 == 255 )) && $(( $b3 == 255 )) ))
      }

      # Test if ending “FF FF FF” while multiple file processing
      function test_FF3() {
      FF3_valid=$(( $(( $b0 == 255 )) && $(( $b1 == 255 )) && $(( $b2 == 255 )) ))
      }

      # Some Init and File-Header testing
      function init() {
      POS=0
      MIN_YEAR=2005
      MAX_YEAR=2015
      skip 3
      if [[ ( 7$b2 != 7224 ) || ( 7$b3 != 7197 ) || ( 7$b4 != 7234 ) ]] ; then {
      ERROR_Usage
      } fi
      skip 4
      }

      ###################################################
      init
      while skip 1
      do {
      # echo “$POS: $b0 $b1 $b2 $b3 $b4”
      eval_date; test_date
      eval_sample; test_sample
      if (( $DATE_valid == 1 )) ; then {
      DATE=$NEW_DATE; DATE_DEC=$NEW_DATE_DEC
      echo “STATUS – New Date = $DATE” >&2
      skip 4
      } fi
      if (( !$DATE_valid && $SAMPLE_valid )) ; then {
      DATE=`date -d “00:00:00 1970-01-01 UTC + $DATE_DEC seconds” “+%Y-%m-%d %H:%M”`
      echo \”$DATE\;”$SAMPLE
      DATE_DEC=$(( $DATE_DEC + 60 ))
      skip 4
      } fi
      if (( $DATE_valid && $SAMPLE_valid )) ; then {
      echo “WARNING – ambiguous Date or Sample at pos $POS” >&2
      echo “Date would be $NEW_DATE and Sample would be $SAMPLE => using $DATE” >&2
      } fi
      if (( !$DATE_valid && !$SAMPLE_valid )) ; then {
      test_replugged
      test_FF4
      test_FF3
      if (( $REPLUGGED_valid == 1 )) ; then {
      skip 2
      } fi
      if (( $FF4_valid == 1 )) ; then {
      skip 3
      } fi
      if (( !$FF4_valid && $FF3_valid )) ; then {
      skip 2
      } fi
      if (( !$REPLUGGED_valid && !$FF4_valid && !$FF3_valid )) ; then {
      byte0=$(( 1000 + $b0 )); byte0=${byte0:1:3}
      byte1=$(( 1000 + $b1 )); byte1=${byte1:1:3}
      byte2=$(( 1000 + $b2 )); byte2=${byte2:1:3}
      byte3=$(( 1000 + $b3 )); byte3=${byte3:1:3}
      byte4=$(( 1000 + $b4 )); byte4=${byte4:1:3}
      echo “WARNING – korrupt Data at pos $POS: $byte0 $byte1 $byte2 $byte3 $byte4 (would be $NEW_DATE or $SAMPLE => ignoring” >&2
      } fi
      } fi
      }
      done
      [/CODE]

      Bugs:

      Kritisch: (Daten werden fehlerhaft ausgegeben.)

      • noch nichts bekannt 😀

      Unkritisch: (Falsche Meldungen aber Daten werden korrekt ausgegeben.)

      • seit Version V0.1.02 nichts bekannt 😀
      • [STRIKE]V0.1.01: Binärdatei (Verwendung ohne hexdump) wird nicht immer als ungültig abgewiesen. Manchmal nur “WARNING – unexpected EOF at …”. Z.B. Wenn EOF in den ersten drei Byte.[/STRIKE]
      • [STRIKE]V0.1.01: mehr als 4x FF wird als “WARNING – korrupt Data at …” angezeigt[/STRIKE]
      • [STRIKE]V0.1.01: erneue Preamble “(E0 C5 EA)” wird als “WARNING – korrupt Data at …” angezeigt[/STRIKE]

      Weitere Bugs bitte Melden – bzw. beheben 😉

    • #797844
      TD-er
      Teilnehmer

      I think concatenating the .bin files together like this:
      [code]cat *.bin > all.bin[/code]
      Can cause 2 problems:
      1) the order of the files can be non-chronological
      2) the info-file will be included and there are some points in there which can evaluate to a correct date. I’m not sure if it will be a problem in reality.

      I was wondering why you subtract 1900 from the year, only to add it later on. Is it to fit the year in an int?

    • #797842
      ulv
      Teilnehmer

      So und hier (die nur eine Kleinigkeit schnellere :D) C++ Variante:

      Usage:
      [CODE]
      cat *.bin > all.bin
      ./konverter all.bin > out.csv[/CODE]

      [CODE]
      // CSV Konverter for Conrad Energy Logger 3500 V0.1.04 (c) 2009 ulv at meister kuehler de
      // GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 or later: http://www.gnu.org/licenses/gpl-3.0.txt
      //
      // Thanks for the documentation on http://wiki.meterstand.info/index.php/Energy_Logger_3500
      //
      // usage: cat *.bin > all.bin
      // konverter all.bin > out.csv
      //
      // Output looks like “YYYY-MM-DD HH:MM”;Voltage*10[Volt];Current[mAmpere];PowerFactor[%]

      #include
      #include
      using namespace std;

      ifstream in; // InputFile
      int POS=0; // Position in File
      int b[5]={0}; // The five Byte of interest
      tm New_Date;
      tm Date;
      char Sample[20];
      char Date_String[50];
      int ERROR_date;
      int ERROR_sample;
      // Parameter
      char Date_Format[50]=”\”%Y-%m-%d %H:%M\”;”;
      char Sample_Format[50]=”%d;%d;%d”;
      int MIN_VOLTAGE = 2000; // 200 Volt
      int MAX_VOLTAGE = 2400; // 240 Volt
      int MAX_CURRENT = 15000; // 15 Ampere
      int MIN_YEAR = 2005;
      int MAX_YEAR = 2015;

      // ERRORs:
      void ERROR_EOF() {
      cerr << "WARNING - unexpected EOF at pos " << POS << "
      “;
      cerr << "Quitting...
      “;
      exit(1);
      }

      void ERROR_FileName() {
      cerr << "WARNING - could not open File
      “;
      cerr << "Quitting...
      “;
      exit(1);
      }

      void ERROR_Header() {
      cerr << "WARNING - wrong Header
      “;
      cerr << "Quitting...
      “;
      exit(1);
      }

      void ERROR_Header_only() {
      cerr << "WARNING - only Header-File processed
      “;
      cerr << "You need to copy all bin Files together! e.g cat *.bin > all.bin
      “;
      cerr << "And use this konverter on all: konverter all.bin > out.csv
      “;
      cerr << "Quitting...
      “;
      exit(1);
      }

      // Read and process a neu Byte
      bool skip(int i = 1) {
      while (i–) {
      POS++;
      if(!in.eof()) {
      b[0]=b[1]; b[1]=b[2]; b[2]=b[3]; b[3]=b[4];
      b[4] = in.get(); } }
      }

      // Functions:
      int eval_date() {
      int YEAR=2000 + b[2]; if (YEAR < MIN_YEAR || YEAR > MAX_YEAR ) { return 1; }
      int MONTH=b[0]; if (MONTH < 1 || MONTH > 12 ) { return 2; }
      int DAY=b[1]; if (DAY < 1 || DAY > 31 ) { return 3; }
      int HOUR=b[3]; if (HOUR < 0 || HOUR > 24 ) { return 4; }
      int MINUTE=b[4]; if (MINUTE < 0 || MINUTE > 59 ) { return 5; }
      New_Date.tm_isdst=0;
      New_Date.tm_year=YEAR-1900;
      New_Date.tm_mon=MONTH-1;
      New_Date.tm_mday=DAY;
      New_Date.tm_hour=HOUR;
      New_Date.tm_min=MINUTE;
      New_Date.tm_sec=0;
      mktime (&New_Date);
      return 0;
      }

      void make_date_string() {
      strftime(Date_String,50,Date_Format,&Date);
      }

      int eval_sample() {
      int VOLTAGE=b[0]*256+b[1]; if (VOLTAGE < MIN_VOLTAGE || VOLTAGE > MAX_VOLTAGE ) { return 1; }
      int CURRENT=b[2]*256+b[3]; if (CURRENT < 0 || CURRENT > MAX_CURRENT ) { return 2; }
      int FACTOR=b[4]; if (FACTOR < 0 || FACTOR > 100 ) { return 3; }
      sprintf(Sample,Sample_Format,VOLTAGE,CURRENT,FACTOR);
      return 0;
      }

      bool test_header() {
      return (b[0] == 73 && b[1] == 78 && b[2] == 70 && b[3] == 79 && b[4] == 58);
      }

      bool test_replug() {
      return (b[0] == 224 && b[1] == 197 && b[2] == 234);
      }

      bool test_FF4() {
      return (b[0]+b[1]+b[2]+b[3] == 1020);
      }

      int test_FF3() {
      return (b[0]+b[1]+b[2] == 765);
      }

      void config_parameter(int anz, char* parameter[]) {
      for (int i=2; i“;
      continue; }
      if(!strcmp(parameter[i],”–sample”) && (i“;
      continue; }
      if(!strcmp(parameter[i],”–vmin”) && (i“;
      continue; }
      if(!strcmp(parameter[i],”–vmax”) && (i“;
      continue; }
      if(!strcmp(parameter[i],”–cmax”) && (i“;
      continue; }
      if(!strcmp(parameter[i],”–ymin”) && (i“;
      continue; }
      if(!strcmp(parameter[i],”–ymax”) && (i“;
      continue; }
      cerr << "Usage:
      “;
      cerr << "[--date \"Date-Format\"] Default=\"%Y-%m-%d %H:%M\"; (Format as in strftime)
      “;
      cerr << "[--sample \"Sample-Format\"] Default=%d;%d;%d (Format as in sprintf)
      “;
      cerr << "[--vmin MIN_VOLTAGE] Default=" << 2000 << " in Volt * 10
      “;
      cerr << "[--vmax MAX_VOLTAGE] Default=" << 2400 << " in Volt * 10
      “;
      cerr << "[--cmax MAX_CURRENT] Default=" << 15000 << " in mA
      “;
      cerr << "[--ymin MIN_YEAR] Default=" << 2005 << "
      “;
      cerr << "[--ymax MAX_YEAR] Default=" << 2015 << "
      “;
      exit(1);
      }
      }

      int main(int argc, char* argv[]) {
      if(argc>2) {
      config_parameter(argc, argv); }
      in.open(argv[1]);
      if(in.is_open()) {
      skip(5);
      if(test_header()) {
      skip(102);
      while(!in.eof()) {
      // clog << POS << " " << b[0] << " " << b[1] << " " << b[2] << " " << b[3] << " " << b[4] <<"
      “;
      if(!(ERROR_date=eval_date())) {
      clog << "Working on: " << asctime(&New_Date); Date=New_Date; skip(5); continue; } if(!(ERROR_sample=eval_sample())) { make_date_string(); cout << Date_String << Sample << "
      “;
      Date.tm_min++; mktime (&Date);
      skip(5);
      continue; }
      if(test_replug()) {
      // clog << "Repluged
      “;
      skip(3);
      continue; }
      if(test_FF4()) {
      // clog << "Found 4x FF
      “;
      skip(4);
      continue; }
      if(test_FF3()) {
      // clog << "Found 3x FF
      “;
      skip(3);
      continue; }
      clog << "WARNING - korrupt Data at pos " << POS; clog << " (Errors:" << ERROR_date << "/" << ERROR_sample << ")
      “;
      skip(1); }
      if(b[3] != 255) {
      ERROR_EOF(); }
      if(POS == 107) {
      ERROR_Header_only(); }
      in.close(); }
      else {
      ERROR_Header(); } }
      else {
      ERROR_FileName(); }
      }
      [/CODE]

    • #797861
      Obi Wan
      Verwalter

      @ TD-erWillkommen im Forum der Meisterkuehler 🙂

    • #797889
      ulv
      Teilnehmer

      TD-er;356179 said:
      I think concatenating the .bin files together like this:
      [code]cat *.bin > all.bin[/code]
      Can cause 2 problems:
      1) the order of the files can be non-chronological
      2) the info-file will be included and there are some points in there which can evaluate to a correct date. I’m not sure if it will be a problem in reality.
      3) I was wondering why you subtract 1900 from the year, only to add it later on. Is it to fit the year in an int?

      Danke für die Anmerkungen – ist natürlich noch nicht perfekt. :+
      Ich nehme mal an du sprichst von der c++ Variante.

      zu 1) Ich dachte, dass die shell immer alphabetisch vorgeht.
      http://linux.about.com/od/bgb_guide/a/gdebgb31t08.htm

      Bash scans each word for the characters “*” , “?” , and “[” . If one of these characters appears, then the word is regarded as a PATTERN , and replaced with an alphabetically sorted list of file names matching the pattern.

      Aber auch wenn das nicht so ist kann man einfach anschließend das out.cvs nach dem Datum sortieren. Nur der Header/Info-File muss momentan am Anfang stehen.
      Oder hast du bereits eine bessere Lösung?

      zu 2) Das info File soll immer dabei sein. Es wird geprüft und dann gleich übersprungen.
      (Hier könnte man natürlich auch noch ein wenig Info mit ausgeben.)
      [CODE]if(test_header()) {
      skip(102);
      [/CODE]

      zu 3) Das +/- 1900 muss sein, wegen der “strukt tm” Definition siehe:
      http://www.cplusplus.com/reference/clibrary/ctime/tm.html
      [CODE]
      tm_year “years since 1900”
      [/CODE]
      http://www.cplusplus.com/reference/clibrary/ctime/mktime.html
      dafür rechnet mktime dann auch alle Schaltjahre richtig. 😉

      Edit: Ich habe oben ein neues sprintf-Format eingefügt, damit das sortieren auch klappt. (“\”%d-%02d-%02d %02d:%02d\”;”,)

    • #798077
      sirphoenix
      Teilnehmer

      ich komme jetzt nochmal auf diesen vergleichstest von meßgeräten zurück.speziell der gewinner, das 10 EUR Cresta RCE-1106 erinnert mich an ein älteres meßgerät was schon lange bei mir verstaubt.ganz simpel genannt heisst das ding “EG1000 Energiekostenmessgerät”.hier ein foto:http://www.purebytes.de/stuff/hardware/eg1000.jpghttp://www.purebytes.de/stuff/hardware/eg1000_2.jpgsieht das teil nicht exakt aus wie das Cresta RCE-1106?ist es vielleicht nur die gleiche hülle oder gar das selbe gerät durch einen OEM Partner vertrieben? hmmmm…

    • #798088
      Super-Kermit
      Teilnehmer

      nur mal nebenbei…

      in der aktuellen computerbild ist ein vergleichstest von energiemessgeräten, wonach der “Energy Logger 3500” große probleme beim messen von geringen leistungen hat.
      besser war da der “Energy Monitor 3000”, der bereits ab 1Watt vernünftige ergebnisse anzeigte.

      hier mal eben die rangliste aus dem test:

      1. NZR/No-Energy Energiekostenmonitor No-Energy (Testergebnis: 2,24)
      2. Voltcraft plus/Conrad Energy Monitor 3000 (Testergebnis: 2,39)
      3. Voltcraft plus/Conrad Energy Logger 3500 (Testergebnis: 5,00)
      4. ELV EM8000 (Testergebnis:5,00)

      nicht alle mögen die computerbild, aber ich denke, dass die angaben, dass einige geräte erst ab einer gewissen leistung vernünftige ergebnisse anzeigen, glaubhaft ist, da es nachmessbare werte sind…

    • #798100
      Super-Kermit
      Teilnehmer

      wieso keine ruhe gelassen…? es gibt tatsächlich leute, die am sonntag um 6 uhr schon etwas auf der arbeit sind und den tag sachte angehen lassen. ^^

    • #798090
      littledevil
      Teilnehmer

      Das hat Dir wohl keine ruhe gelassen (6:20) 😀
      Schade, das das teurere Modell sogar schlechter mißt x(

    • #798110
      sirphoenix
      Teilnehmer

      irgendwie glaube ich den messungen aber nicht, warum sollte der logger 3500 schlechter sein als das 3000er modell?soweit ich weiss ist die gleiche technik verbaut, der logger hat nur zusätzlich die möglichkeit über eine SD karte die gemessenen werte mit zu “loggen”.ich vertraue hier der niederländischen seite mehr als der computerbild :D*edit*das viele billige meßgeräte erst ab 5-10W richtig messen stimmt auch, bei den meissten steht es ja auch im datenblatt in welchen bereichen sie wie genau messen.

    • #798131
      Super-Kermit
      Teilnehmer

      @sirphoenixich habe keine ahnung, was du in der niederländischen tabelle anders gelesen hast als ich.danach ist der logger 3500 auch schlechter als der monitor 3000.

      Gemiddelde afwijking t.o.v. referentiemeter… Monitor 3000: 6,9%, Logger 3500: 20,6%

      und die angaben decken sich so ziemlich mit denen aus der computerbild.und wo stand das mit der gleichen technik?nur weil der “neuer” ist muss er ja nicht besser sein.und da steht auch nicht, dass die billigen geräte erst ab 5-10W messen, sondern dass die ab da erst genau messen und man bis dort mit falschen angaben rechnen muss.

    • #798132
      Patty
      Teilnehmer

      Und zum Testsieger kommen direkt mal News…

      Sehr geehrter Herr,

      die aktuelle ComputerBild 3/2009 von dieser Woche hat 12 Energiekosten-Messgeräte getestet. Das Ergebnis: Unser Energy Monitor 3000 belegt mit dem Testergebnis „gut“ / Note 2,39 den 2. Platz und ist außerdem Preis-Leistungs-Sieger.
      Spüren Sie die Stromfresser in Ihrem Haushalt auf – jetzt mit dem Test-Sieger-Gerät für nur 39,95 € + kostenlose Lieferung.

      Artikel-Nr.: 125320 – 62

    • #798133
      ulv
      Teilnehmer

      Die Tests finde ich allgemein irreführend, weil …

      • Man zuerst prüfen sollte was der Hersteller verspricht und dann überprüfen ob es stimmt.
      • Es leider ettliche Haushalts-Geräte gibt, die die aktuellen Normen gar nicht (mehr) einhalten. Und man das nicht (oder nicht so einfach nur) den Messgeräteherstellern in die Schuhe schieben kann.
      • Die Gewichtung der Fehler oft völlig unsystematisch erfolgt.

      Es ist total schade, dass selbst im c’t Magazin nicht auch die Stromkurven vom Oszi abgebildet sind. Bei anderen (Netzteil)-Tests ist das ja auch üblich.Der niederländische Test ist schonmal besser, weil sie den Leistungsfaktor mit angeben (auch wenn mir das für Schaltnetzteile heute unsinnig erscheint). Und welcher Normalo versteht das?Für mich müsste das Ergebnis eines Tests etwa so aussehen:Geeignet für:

      PC-Netzteile mit aktiver/passiver/ohne PFC: ja/ja/neinLaptopnetzteile: nein (bzw. erst ab 40 Watt)Energiesparlampen: jaGedimmte Lampen: neinUnterhaltungselektronik (On/Standby): ja/neinHaushaltsgeräte: nein (bzw. erst ab 70 Watt)

      Wenn ich es richtig weiß, gibt es für jede dieser Kategorien eigene Vorschriften (kein Scherz :() und es sollten natürlich nur Geräte vermessen werden die diese auch einhalten.Der Logger ist im Unterschied zu den alten EM600 und EM800 nicht für alle Bereiche des Lebens geeignet. Das sieht man ja auch schon in den Tests.Laptopnetzteile und ATX-Netzteile mit/ohne PFC misst er aber scheinbar genauso gut wie die alte EMx00 Serie auch. Nur deshalb empfehle ich den Logger.(Das soll auch nicht bedeuten, dass nur der Logger gut misst. Ich hab leider nicht die Zeit alle Messgeräte selbst zu kaufen und zu vermessen und mir fehlen obendrein auch die Vielfalt an Verbrauchern.)PS: Evtl. kauf ich mir auch noch einen Energie Monitor 3000. Und das im c’t getestete gute und billige Gerät von Reichelt.

    • #798174
      TD-er
      Teilnehmer

      ulv;356231 said:
      […]
      zu 1) Ich dachte, dass die shell immer alphabetisch vorgeht.
      http://linux.about.com/od/bgb_guide/a/gdebgb31t08.htm

      Bash scans each word for the characters “*” , “?” , and “[” . If one of these characters appears, then the word is regarded as a PATTERN , and replaced with an alphabetically sorted list of file names matching the pattern.

      Aber auch wenn das nicht so ist kann man einfach anschließend das out.cvs nach dem Datum sortieren. Nur der Header/Info-File muss momentan am Anfang stehen.
      Oder hast du bereits eine bessere Lösung?
      […]

      Well the filenames of the bin-files tell something about the dump-order.
      First letter is the logger-ID (A…J = 0…9) and the rest is the HEX-notation of the number of seconds since jan. 1st of the year.
      I just checked for myself and indeed bash sorts it like you want it to be.
      I was affraid the sort would be that ‘a’ would come before “1”, but the bash-sort does it right 🙂
      So, no, I don’t have a better idea 😉

    • #799030
      kranich
      Teilnehmer

      Ich habe den EM600 mit dem EL3500 nocheinmal verglichen.

      Wenn ich die Meßgeräte ineinander stecke, zeigt das jeweils
      darunter befindliche etwa 1 bis 1.2 Watt mehr (Eigenverbrauch).
      Gemessen wurde im Standby bei ca.2.5W und im Idle bei ca.19W.
      Es gibt also keine gravierenden Unterschiede !

    • #810198
      TD-er
      Teilnehmer

      And Conrad did put a datasheet online with all the missing (and already discovered) information about the file-format.

    • #810252
      kranich
      Teilnehmer

      TD-er;369703 said:
      And Conrad did put a datasheet online with all the missing (and already discovered) information about the file-format.

      Danke für den Tipp.
      Ich werde die SD-Karte einmal mit FAT16 formatieren.
      Vielleicht sind dann die “Verstümmelungen” weg.

    • #832802
      sandoz
      Teilnehmer

      ich habe viele probleme mit den energy logger 4000 mit das schreiben nach SD karte. Die logger erkennt die karte, aber er schreibt kein data drauf

      Habe schon die karte erneut formatiert in fat32, fat 16, aber nichts
      was kann ich machen?

    • #832866
      TD-er
      Teilnehmer

      What size and brand SD-card did you use?
      For the EL3500, the size must be between 512 and 2048 MB and formatted as FAT16, with default blocksize.
      I’ve heard from different users they’ve encountered similar problems. It looks like the EL4000 is quite picky on the SD-cards.
      Also make sure the write-protect slider is in the correct position.

    • #832924
      sandoz
      Teilnehmer

      it was a transcend card, i tried a 1gb noname card and that worked

      but, i thought the logging would also contain daily results, but it logs only every minute. i logged a couple of days, but that file already had 5000 entries…..how large will the file be when you log 180 days?

    • #832933
      TD-er
      Teilnehmer

      sandoz;394849 said:
      it was a transcend card, i tried a 1gb noname card and that worked

      but, i thought the logging would also contain daily results, but it logs only every minute. i logged a couple of days, but that file already had 5000 entries…..how large will the file be when you log 180 days?

      It is 5 bytes per minute and 8 bytes per session. (plugging in and out of the wall-socket, or power-outs 8-[ )
      Each file has about 12-20 bytes overhead (or more when you start a session just before the next file will be written)

      So on average 5 bytes/minute.
      That’s 300 bytes/hour and 7200 bytes/day.
      You can’t log 180 days, since that’s more than 1 MB and that’s the size of the internal flash memory.
      About 4 months will be the max, depending on the number of sessions.

      Dumping about 900 kB of data to the SD card will take 900 sec. (8000 bits/sec write-speed) At least that is the write-speed of the EL3500.

    • #832935
      sandoz
      Teilnehmer

      i have the 4000, and it says it logs 180 days..
      anyway, it doesn’t write the usage / day to the card?

      i thought this thing worked good for monitoring solarpanels, but you can only read daily on the logger itself

    • #942362
      2000ede
      Teilnehmer

      Hallo,ich habe mein 3500 mal wieder aus der Ecke gekramt. Leider scheint die Software vom 4000 nicht zu funktionieren. Per Zufall bin ich im Internet auf eine funktionierende Version gestoßen: Version 2.5Ist dies die aktuellste lauffähige Version?Zweite Frage: Eigenlich will ich nur den Excel Export. Ich komme allerdings nicht auf den im Programm ausgewiesenen (kummulierten) kwh Verbrauch. Wie rechne ich nochmal aus den Einzelwerten den Wert aus?EDIT: Habe ich nun doch hinbekommen:Spalte Summe aller Zeilen von “Actual Consumption/W” / 60 * Minuten (=1) /1000DANKE für Hilfestellungen!

Ansicht von 44 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.
 
Zur Werkzeugleiste springen