Raspberry Pi

 

Raspberry Pi[English] 

Hi, welcome to my blog. As you might have noticed, most of what I write here is in Dutch. I am sorry if that means you won’t be able to understand it. But it is just that most of my readers (and myself) are Dutch, so that language made the most sense.

Some of the Raspberry Pi instructions, like the setup for SMA-Bluetooth are in English. If there is anything written in Dutch, that Google Translate can’t make sense of, please let me know (just mail me in English).

Note: I have not written SMA-Bluetooth and I have been getting a lot of questions related to it no longer working with newer versions of the code etc. I am sorry but I currently lack the time to figure out all those specific problems. Please try posting them at the SMA-Bluetooth forums instead.

[Nederlands]

Ook ik werd aangetrokken door de charme van het Britse initiatief waarbij je voor minder dan €40,- de beschikking kon krijgen over een klein, compact, niet al te krachtig moederbordje voor een computer. Met een micro-USB voeding + een SD-kaartje met het besturingssysteem + een omhulsel was het mogelijk om voor minder dan €100,- een computer te bouwen. Nee, geen desktopmachine waar je zwaar rekenwerk op kon doen. Maar wel een computer vergelijkbaar met de ‘plugcomputers’ zoals de Sheevaplug waar ik een paar jaar geleden mee heb mogen spelen.

Op de Raspberry Pi website en op het forum vind je veel spannendere voorbeelden van wat mensen met hun Raspberry Pi doen dan dat ik ooit van plan ben. Hoewel ik meestal in het Nederlands schrijf, vond ik het wel zo praktisch en handig om deze instructies in het Engels te schrijven. Dat maakt ze wat breder toepasbaar en alle materiaal dat ik zelf over de Raspberry Pi kan vinden is ook in het Engels.

Raspberry Pi and PVOutput

I use the Raspberry Pi to read the data from my SMA Sunny Boy 1600TL inverter, The Raspberry Pi connects every 5 minutes and sends the data to PVOutput.org. A more extensive description of the hardware used is available in Dutch here, the install instructions for the software are available in English here.

Daily report via e-mail

One addition I created for the Raspberry Pi is a script that mails me every day at 9PM. Attached to the mail is an image with the energy production for that day. See this posts (in Dutch) for more information and this page (in English) for the step-by-step to set it up.

If you want the temperature line included, then see this page (in English).

Arduino + Raspberry Pi – Measuring Temperature and Humidity

My first project connecting an Arduino an Raspberry Pi together to measure temperature and humidity while displaying the result on a website. It uses Python and the serial connection over USB between the Raspberry Pi and the Arduino.
See instructions in English here.

Arduino + Raspberry Pi – Learning about Serial Communications

The thing that amazes me still, is that if you learn something new, afterwards you cannot imagine that you did not already know what you learned. The same is true for learning to use the serial connection between the Raspberry Pi and the Arduino. Now, after many hours struggling with it, I am starting to understand how it works. And now I am wondering why I didn’t do it this way right from the beginning.

You can read about my second version of the  measurement of temperature and humidity on this page (in English)

Auto reset with mail notification

This setup makes sure that the Raspberry Pi reboots automatically when it freezes and sends you a mail.
Read the instructions here.

Deel dit bericht:

  89 reacties aan “Raspberry Pi”

Reacties (89)
  1. Hi

    Im trying to follow your Setup for Raspberry Pi with SMA-Bluetooth , but im stuck at ;
    —-
    Install the MySQL database by running:

    > ./smatool -INSTALL
    —–
    this gives a error in my setup;

    pi@raspberrypi ~/bin/sma-bluetooth $ ./smatool -INSTALL
    Bad Syntax

    ./smatool -INSTALL

    Hope you can help, thanks

    Br. Flemming (From Denmark)

    • Hi,

      Sorry, typo in my instructions (fixed now), it should be: > ./smatool – –INSTALL

      (so with: 2x – , no space between the 2 – but the editor here keeps messing them up otherwise)

  2. Hi pierre,

    Het is ook mij gelukt dankzij een duidelijk walkthrough om een Raspberry aan het werk te krijgen. Echter om 17:55 stopt het uploaden. Dit zal met mijn locatie te maken hebben (Tiel: lat 54.85, lon 5.40) maar ik zie niet wat er in mijn situatie anders is. De PV installatie begint ruim voor zonsopgang en ook na zonsondergang al stroom te leveren. Kan de upload ruimer ingesteld worden?
    Thanks

    • Hoi Eric,

      Excuus, je reactie was (beide exemplaren) in de SPAM map van WordPress terecht gekomen (gebeurt niet vaak, nu waarschijnlijk door de link naar jouw pvoutput-pagina).

      Hoe dan ook, kun je checken of om 17:55 uur alleen het uploaden naar pvoutput.org stopt of ook het ophalen van de data door de Raspberry Pi?
      Dat zou je kunnen doen door nadat je constateert dat het uploaden stopt, SSH-verbinding met je Raspberry Pi te maken, in te loggen in mysql in te loggen, dan met “use smatool;” de smatool database te selecteren en dan met “select * from DayData order by DateTime desc limit 10; de laatste 10 entries op te vragen uit de DayData tabel. Als er daar bij staan die bij PVOutput NULL hebben staan, dan zijn die nog niet geüpload naar pvoutput.org.

      Als je dan toch in mysql bent, dan kun je ook even met “select * from Almanac order by date desc limit 10;” opzoeken wat het systeem als sunrise en sunset voor jouw coördinaten heeft opgehaald.
      Ik krijg voor Tiel overigens: LAT = 51.8876176, LON = 5.4278765

      Ander ding om te checken is of de klok van je Raspberry Pi goed loopt (juiste tijdzone).

      En tenslotte: stroom leveren voordat er zon is of nadat hij onder is? Dat vind ik toch wel heel knap. 😉

      • Hi Pierre,

        Thanks voor de reply.

        Ben er inmiddels ook achter dat het systeemtijd probleem van de raspberry is. Mijn logging is gewoon 2 uur verschoven. Dus dat kan ik rechtzetten.

        Als ik naar de sunrise en sunset tijden kijk en mijn start en eind tijd van leveren dan begin ik echt een half uur eerder en na zonsondergang ga ik nog een half uur door. Dat komt door indirect licht. Ik zie ook een duidelijke knik in de productielijn, maar dat heeft eerder te maken met het feit dat er geen direct licht op de panelen valt. Die kunnen toch maar 12 uur per dag direct licht vangen en de zon is 13-14 uur boven de horizon. Dus een marge op de sunrise en sunset kan wel nuttig zijn.

        Verder merk ik dat de crontab bij mij alleen werkt als ik de parameter >/dev/nul/ en 2>&1 weg laat. Wat doen deze precies?

        Verder nog een struikelblokje in de verder duidelijke handleiding: de id en password voor linux zijn met alleen kleine letters: pi en raspberry.

        Eric

      • Hoi Eric,

        Wat sunrise en sunset betreft, ik zie inderdaad wel verschil tussen jouw panelen en die van mij, als ik de grafieken van vandaag vergelijk:
        http://www.pvoutput.org/intraday.jsp?id=12949&sid=10876&dt=20120904&gs=0&m=0
        versus
        http://pvoutput.org/intraday.jsp?id=9620&sid=7799&dt=20120903&gs=0&m=1

        Jouw panelen beginnen bijna een half uur eerder en gaan ongeveer een half uur langer door ’s avonds in vergelijking met die van mij.

        Wat mijn opmerking betreft: ik ging er eigenlijk vanuit dat sunrise en sunset de grenzen van het vanachter de horizon verschijnen en weer verdwijnen van de zon waren en daarmee dus de uiterste grenzen. Ik denk dat het programma de grenzen juist wat scherper gezet heeft omdat (tenminste zo is dat bij die van mij) veel/sommige/bepaalde type omvormers automatisch helemaal uitschakelen. In mijn geval kan ik dan ook geen Bluetooth verbinding opbouwen. Dat is vervelend voor het script want dat krijgt dan time-outs van de verbinding. Nu zitten ze zeker binnen die grenzen.
        Op zich mis je ook geen data, als jouw omvormer al een half uurtje bezig is voordat de eerste data online komt, dan wordt die eerste keer gewoon de data voor dat eerste half uur ook meegenomen.
        En als hij ’s avonds wat langer door gaat, dan komt die data de dag erna ook mee. En zelfs voor de rapportage die ik mezelf elke avond laat mailen zou het niet zoveel uitmaken, want ook bij die van jou is de opbrengst voor dat laatste uur minimaal (tussen 7:00 en 8:15 vanavond nog 0,081kWh), dat mis je dan niet in een rapport.

        Wat >/dev/null 2>&1 betreft, dat was nog een typefout (in de ene uitleg had ik het goed, in de andere verkeerd), er mist een l in null

        De korte samenvatting: het dumpt alle normale output en alle foutmeldingen in een zwart gat.
        Zonder die toevoegingen probeert in mijn geval de RPi me een mail te sturen met de output van de cron job. Niet fijn als je dat elke 5 minuten krijgt.
        🙂
        Iets langere uitleg:
        http://www.xaprb.com/blog/2006/06/06/what-does-devnull-21-mean/

  3. Bedankt voor jouw installatieprocedure voor SMA / PVOutput. Ik had hem al op een laptop werken, nu zet ik hem op een Raspberry.

    Voor wie bluetooth niet geïnstalleerd krijgt en foutmelding als onderstaande krijgt bij installatie :
    insserv: Service dbus has to be enabled to start service bluetooth

    Ik heb dit opgelost met een :
    sudo update-rc.d -f dbus defaults

    • Graag gedaan en succes met de installatie. Bedankt voor de Bluetooth tip, in welke situatie komt dit probleem voor?

      • Op een Raspbmc (ism Sitecom bluetooth dongle)

        Er waren problemen bij het installeren van de bluetooth libraries => D-Bus is blijkbaar niet standaard enabled.

        Ik weet dat Raspbmc niet de ideale start is, maar ik wil er ook nog graag xbmc op draaien 😉

  4. Ik heb nu twee maal de installatie gedaan op mijn Raspberry maar steeds problemen, het zal wel aan mij liggen zekers. Probleem nu is dat de folder sma-bluetooth waarin de folder smatool_run zich bevindt, nu op /home/pi/bin/sma-bleutooth staat en bij jouw uitleg zit die in /bin/sma-bleutooth. Ik ben wel geen kei in linux.
    Nochtans de installie is vrij plug en play uitgelegd, bij de eerste installatie verkreeg ik nog gegevens in PVOutput maar een update gebeurde niet en info via mail ook niet. Moet je ergens je mailadres ingeven ???
    Ik zou zeggen een versie sma-bleutooth installatie voor dummies bestaat niet zekers (zoiets als in windows :”instal SMA bleutooth raspberry pi.exe”

    • Hoi Kristof,

      Je reactie was even in de SPAM-filter blijven hangen. Er is inderdaad helaas geen installatie voor dummies. Dan had ik er ook niet zoveel tekst aan hoeven besteden.
      Ik heb het overigens niet over /bin/sma-bluetooth maar over ~/bin/sma-bluetooth. Die ~ er voor is van belang, dat maakt het namelijk gelijk aan /home/pi/bin/sma-bluetooth

      Probeer anders eens ./smatool -v vanaf een SSH-verbinding. Dan krijg je meer te zien over wat de tool doet, mogelijke foutmeldingen etc.

      • .smatool -v heeft goeie resultaten en ik zie de gegevens in PVOutput. (Na crontab en mail toe te voegen.)
        Ik heb echter nog een vraagje, moet je nog iets speciaal toevoegen of gaat de raspberry nu automatisch de gegevens updaten.

      • Als je het oproepen van smatool in een crontab hebt staan, dan wordt dat elke 5 minuten uitgevoerd en zal de RPi automatisch de gegeven updaten en uploaden.

  5. Hallo Pierre,

    Super bedankt voor je handleiding om met de Pi SMA te kunnen monitoren. Ik kom een heel eind met de installatie maar loop vast het kiezen van de omvormer: ik heb een SB1200TL (2 stuks) maar die staat niet in de lijst. Heb jij de juiste codes voor me om in de invcode.in te zetten?

    Inverter 1200TL
    Code1
    Code2
    Code3
    Code4
    InvCode

    als die heb ik verder hij geen nu een fout bij .smatool/ –INSTALL

    Error ! not all codes set
    *** glibc detected *** ./smatool: double free or corruption (top): 0x01b3c038 ***
    Aborted

    Bedankt alvast

    • Hoi Patrick,

      Ik heb die codes helaas niet, die kun je (alleen) achterhalen door de communicatie met de omvormer “af te luisteren”. Zie de toelichting hier: http://code.google.com/p/sma-bluetooth/wiki/SniffHowTo

      • Bedankt voor je snelle reactie, ik ga er mee aan de slag

      • Het is gelukt na wat stoeien met Virtuele XP op Parallels 🙂 Voor iedereen die een SMA SB1200 met Bluetooth piggyback heeft: code voor in de invcode.in

        Inverter SB1200
        Code1 0x84
        Code2 0x9e
        Code3 0xc1
        Code4 0x3a
        InvCode 0x63

        p.s. ik heb een klein typootje gemaakt, het is dus SB1200 en geen 1200TL (maar volgens mij kan je zelf een naam verzinnen als ie in de smatool.conf maar hetzelfde is)

      • Hoi.

        Ik ben ook aan het stoeien en heb ook een SMA SB1200.
        Eerst de handleiding van Pierre gevolgt (met de 1600TL) en kreeg geen output. Nu net met jouw COdes gedaan. Ik ben benieuwd morgen..

        Wel je codes wat aangepast.
        SMAtool pikte die niet. Er staan 2x * in ipv x.
        Hier de goeie. Hopelijk lukt het nu..

        Inverter SB1200
        Code1 0x84
        Code2 0x9e
        Code3 0xc1
        Code4 0x3a
        InvCode 0x63

  6. ik verkrijg goeie resultaten met ./smatool maar geen upload naar PVOutput. ./smatool -d > log.txt geeft me volgende melding
    Unauthorized 401: Invalid System ID
    alhoewel de juiste ID is ingegeven in mijn smatool.conf

    begrijp het niet ?

    • Ik ook niet, tenminste als je 100% zeker weet dat dit het juist ID is van PVOutput. De website zegt zelf over de foutmelding: The required parameter X-Pvoutput-SystemId or sid is missing from the request. The sid is a number which identifies a system. The sid can be obtained from the Settings page under Registered Systems.

  7. als ik cronjob wil veranderen in 15 min i.p.v. 5 min wordt het dan (zie onderstaande in crontab
    */15 * * * * ~/bin/sma-bluetooth/smatool_run >/dev/null 2>&1
    of
    30 min
    */30 * * * * ~/bin/sma-bluetooth/smatool_run >/dev/null 2>&1

  8. het lukt me niet om een upload te doen naar PVOutput.org, heb al twee SD kaarten geconfigureerd, 2 SID’s gemaakt maar steeds krijg ik de foutmelding error : Unauthorized 401: Invalid System ID.
    nochtans nr in smatool.conf is korrekt ingevuld.
    Ik zie de gegevens met ./smatool maar upload lukt me niet … ggggrrrrrrrrr
    De gegevens moeten toch enkel in smatool.conf bijgewerkt worden, nergens anders ?
    Wie heeft deze error ook, al contact genomen met PVoutput, maar daar verwijzen ze ook dat ik de juiste code moet invullen….

  9. # Configuration for smatoool bluetooth inverter logger
    #
    # Copy this to smatool.conf this is to avoid damaging your
    # config on every update
    #
    # Not all fields are compulsory
    #
    # Inverter (compulsory) type 1700TL, 2100TL, 3000TL, 3000TLHF, 4000TL, 5000TL, 10000TL others not tested
    Inverter 4000TL
    # Inverter (compulsory bluetooth address) use “hcitool scan” to find
    BTAddress 00:80:25:1C:5A:B7
    # Inverter Bluetooth timeout (optional) defaults to 5 seconds
    BTTimeout
    # Inverter User password (compulsory)
    Password 0000
    # Config file (optional) defaults to ./smatool.conf
    Config
    # String file (compulsory) data strings to drive the system
    File sma.in.new
    # Location (optional) required to avoid waking up system in the dark.
    # Requires mysql below.
    Latitude 51.036370
    Longitude 4.414278
    # Mysql (optional) required for storing data
    MySqlHost localhost
    MySqlDatabase smatool
    MySqlUser root
    MySqlPwd “hier staat passwoord”
    # PVOutput.org specific data if you are outputting to PVOutput.org.
    PVOutputURL http://pvoutput.org/service/r2/addstatus.jsp
    PVOutputKey “hier staat de outputkey”
    PVOutputSid 12342

    —————
    twee aangemaakte SID key’s

    Registered Systems
    System Name System Id Status Add System
    defer 11713 Active Edit
    PVdefer 12342 Active Edit

  10. Ik zit iets verder, gisteravond verkreeg ik een update in PVOutput maar vandaag blijkbaar niet meer, ik krijg een foutmelding bij ./smatool -v

    De datum staat op 2038 en foutmelding Date Error! prev…….

    pi@raspberrypi ~/bin/janus44444-sma-bluetooth $ ./smatool -v
    Verbose: Auto set dates from 2012-10-07 19:15:00 to 2012-10-08 10:32:00
    Verbose: SMA Address 00:80:25:1C:5A:B7
    Verbose: bluetooth signal = 76%
    Verbose: serial=7d:32:41:2c
    Verbose: bluetooth signal = 76%
    Verbose: bluetooth signal = 76%
    2012-10-08 07:47:45 Unit Serial = 3821139 none
    2012-10-08 07:47:45 NO DATA for 1f 82 = 8001 NO UNITS
    2012-10-08 07:47:45 NO DATA for 20 82 = 358 NO UNITS
    2008-01-05 22:45:22 NO DATA for 21 82 = 601 NO UNITS
    2008-01-05 22:45:22 NO DATA for 21 82 = 635 NO UNITS
    2012-10-08 10:32:10 Total Power = 501 Watts
    2012-10-08 10:32:10 Max Phase 1 = 5000 Watts
    2012-10-08 10:32:10 Max Phase 2 = 5000 Watts
    2012-10-08 10:32:10 Max Phase 3 = 5000 Watts
    2012-10-08 10:32:10 Unknown = 0 Unknown
    2012-10-08 10:32:10 Unknown = 0 Unknown
    2012-10-08 10:32:10 Output Phase 1 = 501 Watts
    2012-10-08 10:32:10 Output Phase 2 = 0 Watts
    2012-10-08 10:32:10 Output Phase 3 = 0 Watts
    2012-10-08 10:32:10 Line Voltage Phase 1Volts = 224 Volts
    2012-10-08 10:32:10 Line Voltage Phase 2Volts = 0 Volts
    2012-10-08 10:32:10 Line Voltage Phase 3Volts = 0 Volts
    2012-10-08 10:32:10 Line Current Phase 1Amps = 2 Amps
    2012-10-08 10:32:10 Line Current Phase 2Amps = 0 Amps
    2012-10-08 10:32:10 Line Current Phase 3Amps = 0 Amps
    2012-10-08 10:32:10 Grid Frequency = 50 Hertz
    2012-10-08 10:32:10 NO DATA for 48 21 = 35 NO UNITS
    2012-10-08 10:32:10 NO DATA for 49 41 = 302 NO UNITS
    2012-10-08 10:32:10 NO DATA for 4a 41 = 336 NO UNITS
    2012-10-08 10:32:10 NO DATA for 4b 41 = 302 NO UNITS
    2012-10-08 10:32:11 NO DATA for 64 41 = 51 NO UNITS
    2012-10-08 10:32:11 NO DATA for 65 41 = 557 NO UNITS
    Verbose: bluetooth signal = 76%

    19/1/2038 04:14:07 total=65011666944.000 Kwh current=0 Watts togo=15136 i=11 cr c=0

    7/10/2012 22:25:00 total=3874.997 Kwh current=-780139940020224 Watts togo=3 i=1 1 crc=0
    Date Error! prev=2147483647 current=1349641500

    8/10/2012 01:40:00 total=3874.997 Kwh current=-780139940020224 Watts togo=2 i=1 1 crc=0
    Date Error! prev=1349641500 current=1349653200

    8/10/2012 04:55:00 total=3874.997 Kwh current=-780139940020224 Watts togo=1 i=1 1 crc=0
    Date Error! prev=1349653200 current=1349664900

    8/10/2012 08:10:00 total=3875.006 Kwh current=-780139940020224 Watts togo=0 i=1 1 crc=0
    Date Error! prev=1349664900 current=1349676600

    • Het ‘probleem’ met 2038 wordt beschreven bij het kopje # DateError – fixes in smatool.c op deze pagina, ik neem aan dat je die aanpassingen die daar beschreven worden al doorgevoerd hebt?

      Het idee erachter is niet dat de datum niet meer voor kan komen, maar dat hij bij de volgende run verwijderd wordt. Op zich doet het script het bij jou ook nog niet verkeerd, want hij runt met “Verbose: Auto set dates from 2012-10-07 19:15:00 to 2012-10-08 10:32:00”

      Als je hem nu opnieuw zou runnen (met de voorgestelde fixes in de code) dan zou hij de foute data uit de database moeten gooien.

  11. Hallo Pierre,

    Ik heb alles draaien nu op de Pi en de output gaat netjes naar PVoutput.org. Echter een vraagje, ik heb 2 omvormers (beide een SMA SB1200) , als ik de tweede nu wil gaan loggen.. dacht ik alles het zelfde te doen maar dan gekopieerd. b.v. smatool2, smatool2.conf, eigen msqldatabase.., smatool2_run, etc is dat de meest makkelijke oplossing? ik ben bang dat als ik het in 1 database zet hij de data van beide omvormers ziet als van 1 omvormer. Wat is jouw advies?

    • Dat weet ik niet zeker, zou je eigenlijk even moeten uitproberen.

      In de DayData tabel in de smatool database zit ook een kolom genaamd Serial, dat lijkt er op te wijzen dat je gewoon meerdere omvormers in dezelfde database kunt opslaan.

      Je zou dan wel meerdere smatool.conf bestanden moeten maken en dan voor de ene gebruik maken van ./smatool -c smatool1.conf en voor de andere dan ./smatool -c smatool2.conf waarbij je in smatool1.conf en smatool2.conf dan wel BTAddress (zal voor elke omvormer anders zijn) en PVOutputKey en PVOutputSid aanpast.

      Maar ik heb zelf maar 1 omvormer en heb de code (die ik niet geschreven heb) hier nooit op getest.

  12. ./smatool -d geeft mij volgend resultaat.
    hoe komt het dat er tweemaal SID wordt vermeld, is het daarom dat hij in mijn log.txt aangeeft : Unauthorized 401: Invalid System ID.

    root@raspberrypi:/home/pi/bin/sma-bluetooth# ./smatool -d
    variable=Inverter value=4000TL
    variable=BTAddress value=00:80:25:1C:5A:B7
    variable=BTTimeout value=
    variable=Password value=0000
    variable=Config value=
    variable=File value=sma.in.new
    variable=Latitude value=51.036370
    variable=Longitude value=4.414278
    variable=MySqlHost value=localhost
    variable=MySqlDatabase value=smatool
    variable=MySqlUser value=root
    variable=MySqlPwd value=”mijn paswoord”
    variable=PVOutputURL value=http://pvoutput.org/service/r2/addstatus.jsp
    variable=PVOutputKey value=”mijn code”
    variable=PVOutputSid value=12342
    variable=PVOutputSid value=
    variable=Inverter value=4000TL
    variable=Code1 value=0x78
    variable=Code2 value=0x21
    variable=Code3 value=0xbf
    variable=Code4 value=0x3a
    variable=InvCode value=0x4e
    variable=InvCode value=
    variable=Inverter value=5000TL
    variable=Code1 value=0x3f
    variable=Code2 value=0x10
    variable=Code3 value=0xfb
    variable=Code4 value=0x39
    variable=InvCode value=0x4e
    variable=InvCode value=
    variable=Inverter value=7000
    variable=Code1 value=0xcf
    variable=Code2 value=0x84
    variable=Code3 value=0x84
    variable=Code4 value=0x3a
    variable=InvCode value=0x63
    variable=InvCode value=
    variable=Inverter value=10000TL
    variable=Code1 value=0x69
    variable=Code2 value=0x45
    variable=Code3 value=0x32
    variable=Code4 value=0x39
    variable=InvCode value=0x80
    variable=InvCode value=
    variable=Inverter value=XXXXTL
    variable=Code1 value=0x99
    variable=Code2 value=0x35
    variable=Code3 value=0x40
    variable=Code4 value=0x36
    variable=InvCode value=0x4e
    utc=2012-10-08 17:31 local=2012-10-08 19:31 diff 2 hours
    localOffset=2.000000
    localOffset=2.000000 isdst=1
    tzsecs=e11 3601
    tzsecs=0e 11
    Before todays Almanac
    Before Check Schema
    SELECT data FROM settings WHERE value=’schema’
    auto_set_dates
    SELECT DATE_FORMAT( DateTime, “%Y-%m-%d %H:%i:%S” ) FROM DayData ORDER BY DateTime DESC LIMIT 1
    SELECT if(sunrise al.sunset,1,0) FROM DayData as dd left join Almanac as al on al.date=DATE(dd.datetime) and al.date=DATE(NOW()) WHERE 1 ORDER BY dd.datetime DESC LIMIT 1
    Before close

    • Dit tweede regel hoort er volgens mij niet te staan (in ieder geval komt hij bij mij niet voor). Het zou ook een logische verklaring kunnen zijn voor de foutmelding. Maar aangezien ik niet aanneem dat je per ongeluk een extra regel met PVOutputSid in je smatool.conf hebt staan, heb ik geen idee hoe je dit voor elkaar krijgt.

      Kan het zijn dat de editor waarmee je die smatool.conf aangepast hebt de zaak om zeep geholpen heeft? Hoe heb je hem bewerkt met nano op de Raspberry Pi of op Windows?

  13. net eens verwijderd met rm -r smatool.conf en opnieuw aangemaakt met nano maar weer staat het er tweemaal in als ik ./smatool -d doe.

  14. PVOutputSid verwijderd in smatool.conf, gesaved en daarna weer aangemaakt.
    Wel de volledige regel PVOutput 12342.
    Nu staat het er volledig in.

    Testen is nu niet meer mogelijk, het is 20u50, zal voor morgen zijn.

  15. het is gelukt met sf-pvlog, niet met sma-bluetooth of janus44444-sma-bluetooth.
    Toen ik sf-pvlog installeerde zal ik onmiddellijk dat ik geen foutmeldingen meer kreeg, geen aanpassingen gedaan aan pvlogger.conf (=smatool.conf) en het werkt perfekt.
    Moet vanavond nog kijken of de mail omstreeks 21 u binnenkomt.
    bedankt voor alle hulp Pierre.
    Indien ik van hulp kan zijn, laat maar iets horen.

  16. Pierre,
    kun je mij nog eens helpen met onderstaande probleem : ik verkrijg geen steeds geen mail_report om 21u.
    als ik een run doe van het ./mail_report verkrijg ik onderstaande, dit lijkt me logisch want er gebeurd een run van vandaag en er zitten nog geen waardes in db.
    Maar als ik een run doe van ./mail_report 20121008 verkrijg ik eveneens een foutmelding, zie onderaan ?

    root@raspberrypi:/var/www/smareport# ./mail_report
    PHP Notice: Undefined offset: 1 in /var/www/smareport/import_pvoutput.php on line 70
    PHP Notice: Undefined offset: 1 in /var/www/smareport/import_pvoutput.php on line 72
    PHP Notice: Undefined offset: 2 in /var/www/smareport/import_pvoutput.php on line 73
    PHP Notice: Undefined offset: 3 in /var/www/smareport/import_pvoutput.php on line 74
    PHP Notice: Undefined offset: 4 in /var/www/smareport/import_pvoutput.php on line 75
    PHP Notice: Undefined offset: 5 in /var/www/smareport/import_pvoutput.php on line 76
    PHP Notice: Undefined offset: 6 in /var/www/smareport/import_pvoutput.php on line 77
    PHP Notice: Undefined offset: 9 in /var/www/smareport/import_pvoutput.php on line 78
    No database selectedCan’t stat images/sma_20121010.png: No such file or directory
    images/sma_20121010.png: unable to attach file.

    root@raspberrypi:/var/www/smareport# ./mail_report 20121008
    No database selectedCan’t stat images/sma_20121008.png: No such file or directory
    images/sma_20121008.png: unable to attach file.

  17. images folder aangemaakt maar krijg foutmelding bij ./mail_report 20121009 :

    PHP Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /var/www/smareport/index.php on line 69

  18. uittreksel uit index.php
    $datetime=””;
    $time=””;
    $daytotal=””;
    $currentpower=””;
    while($row = mysql_fetch_array($Result)) { (lijn 69)

    /* Push the results of the query in an array */
    $datetime[] = $row[“DateTime”];
    $time[] = $row[“TIME”];
    $daytotal[] = $row[“DayTotal”];
    $currentpower[] = $row[“CurrentPower”];
    }

    /* Save the data in the pData array */
    $MyData->addPoints($datetime,”Date Time”);
    $MyData->addPoints($time,”Time”);

    • Ik zie dat je versie 1 van het script (dus zonder de temperatuur) gebruikt. Daar zit nog wat minder error-checking in.

      Zou je die While loop hierboven kunnen vervangen door:

      if($Result !== false){
      while($row = mysql_fetch_array($Result)) {

      /* Push the results of the query in an array */
      $datetime[] = $row["DateTime"];
      $time[] = $row["TIME"];
      $daytotal[] = $row["DayTotal"];
      $currentpower[] = $row["CurrentPower"];
      }
      }
      else{
      echo mysql_error();
      exit;
      }

      Dan krijg je tenminste een MySQL foutmelding te zien.

  19. Volgende foutmelding

    root@raspberrypi:/var/www/smareport# ./mail_report 20121009
    No database selectedroot@raspberrypi:/var/www/smareport# ./mail_report 20121009
    root@raspberrypi:/var/www/smareport#

  20. ok

    png is aangemaakt in images folder na ./mail_report 20121010>
    nu zien of de mail om 19u wordt verstuurd en daarna script 2 met temp installeren.
    ben benieuwd

    • Hmm, als je alles goed hebt staan, dan zou de mail nu toch ook al verstuurd moeten worden? Daar zou de regel mutt -s "Your daily report" ${mailreciever} -a ${filename} < message.txt voor moeten zorgen.

  21. mail wordt niet verstuurd

    het ./mail_report 20121010 -d > log.txt geprobeerd maar txt file is leeg
    ik heb sendmail-bin en mutt nogmaals geupdate maar laatste versie staat erop
    ik ga rebooten
    en nogmaals proberen.

  22. via mutt een mail met onderwerp test 3 verstuurd naar mijn mailadres, raspberry zegt dat hij mail heeft verstuurd maar verkrijg niets via mail

    • Sorry, maar bij Mutt problemen ga ik 100% blanco. Daar heb ik 0,0 ervaring mee (anders dan deze installatie die meteen werkte).

    • Kijk even of je hier wat aan hebt: Get started with Mutt en deze. De setup is anders dan dat ik gedaan heb, hier gebruiken ze gmail als plek om mail van op te halen en als plek om mail via te versturen, maar het zou ook moeten werken en de eerste instructie zou in ieder geval moeten helpen bij het debuggen van de werking van Mutt (hoop ik).

  23. inderdaad .muttrc moet aangemaakt worden en geconfigureerd.
    Alles werkt momenteel, nu script 2 met temp installeren.
    bedankt

    • script 2 werkt eveneens zonder problemen.
      Indien nog zo’n projekten of uitbreidingen van bestaande, hou ons op de hoogte !
      Kristof

    • Uiteraard. Dit weblog is voor mij ook de enige manier om er voor te zorgen dat ik het zelf een maand later nog weet. 🙂

      Ik moet wel nog even uitzoeken welke stappen ik dan blijkbaar met Mutt uitgevoerd heb die ik niet in de documentatie gezet heb (zodat ik die kan aanpassen).

  24. ik zie dat de sma_xxxxxxxx.png files worden aangemaakt in images folder.
    ik zou deze nu dagelijks of wekelijks of maandelijks willen verwijderen met crontab maar weet niet goed hoe want ieder sma_xxxxxxxx.png geeft een andere datum.
    Iets zoals : 0 09 * * * /var/www/smareport/images > rm ???????.png

    Nog een vraagje : als je iets delete, is dit dan echt gedelete of neemt dit dan nog plaats in op de SD kaart ?

    • Eventjes geduld nog Kristof, ik zal vandaag nog even naar jouw vraag kijken. Het was overigens een feature, geen bug.

    • OK,

      Eerst even: zoals ik al zei: het was/is een feature dat elke afbeelding een andere naam heeft, dan heb je namelijk een mooi archief met grafieken per dag.

      Als je dat niet wilt, dan zou een eerste optie kunnen zijn om het bestand index.php in smareport aan te passen en de regel $myPicture->autoOutput("images/sma_".$select_date.".png"); te wijzigen in $myPicture->autoOutput("images/sma_grafiek.png"); en dan in mail_report de regel mutt -s "Your daily report" ${mailreciever} -a ${filename} < message.txt te wijzigen in mutt -s "Your daily report" ${mailreciever} -a images/sma_grafiek.png < message.txt

      Een alternatief is inderdaad om elke maand of week de bestanden in die map te verwijderen. Je had de regel al bijna helemaal compleet: 0 0 1 * * /var/www/smareport/images/rm sma* doet dit elke maand, 0 0 * * 0 /var/www/smareport/images/rm sma* elke week.

  25. Hoi Pierre,

    Naar aanleiding van jouw inspirerende blog heb ik ook een pi besteld om mijn omvormer uit te lezen en te posten naar pvoutput. Ben nu al een tijdje lekker aan het prutsen, maar loop vast bij pogingen om de omvormer uit te lezen. Bij ./smatool -v krijg ik dit resultaat:

    2012-11-16 08:14:59 Unit Serial = 3821139 none
    Table ‘smatool.LiveData’ doesn’t exist
    2012-11-16 08:14:59 NO DATA for 1f 82 = 8001 NO UNITS
    2012-11-16 08:14:59 NO DATA for 20 82 = 9071 NO UNITS
    2001-01-01 01:00:07 NO DATA for 21 82 = 601 NO UNITS
    2001-01-01 01:00:07 NO DATA for 21 82 = 635 NO UNITS
    2012-11-16 15:17:58 Total Power = 15 Watts
    Table ‘smatool.LiveData’ doesn’t exist
    2012-11-16ff 15:17:57 Max Phase 1 = 2000 Watts
    Table ‘smatool.LiveData’ doesn’t exist
    2012-11-16 15:17:57 Max Phase 2 = 2000 Watts
    Table ‘smatool.LiveData’ doesn’t exist
    2012-11-16 15:17:57 Max Phase 3 = 2000 Watts
    Table ‘smatool.LiveData’ doesn’t exist
    2012-11-16 15:17:57 Unknown = 0 Unknown
    Table ‘smatool.LiveData’ doesn’t exist
    2012-11-16 15:17:57 Unknown = 0 Unknown
    Table ‘smatool.LiveData’ doesn’t exist
    2012-11-16 15:17:57 NO DATA for 80 41 = 0 NO UNITS
    2012-11-16 15:17:58 Output Phase 1 = 15 Watts
    Table ‘smatool.LiveData’ doesn’t exist
    2012-11-16 15:17:58 Output Phase 2 = 0 Watts
    Table ‘smatool.LiveData’ doesn’t exist
    2012-11-16 15:17:58 Output Phase 3 = 0 Watts
    Table ‘smatool.LiveData’ doesn’t exist
    2012-11-16 15:17:58 Line Voltage Phase 1Volts = 236 Volts
    Table ‘smatool.LiveData’ doesn’t exist
    2012-11-16 15:17:58 Line Voltage Phase 2Volts = 0 Volts
    Table ‘smatool.LiveData’ doesn’t exist
    2012-11-16 15:17:58 Line Voltage Phase 3Volts = 0 Volts
    Table ‘smatool.LiveData’ doesn’t exist
    2012-11-16 15:17:58 Line Current Phase 1Amps = 0 Amps
    Table ‘smatool.LiveData’ doesn’t exist
    2012-11-16 15:17:58 Line Current Phase 2Amps = 0 Amps
    Table ‘smatool.LiveData’ doesn’t exist
    2012-11-16 15:17:58 Line Current Phase 3Amps = 0 Amps
    Table ‘smatool.LiveData’ doesn’t exist
    2012-11-16 15:17:58 Grid Frequency = 50 Hertz
    Table ‘smatool.LiveData’ doesn’t exist
    bluetooth signal = 75%

    Enig idee wat er aan de hand kan zijn? smatool.LiveData? Iets in de conf file? Ik heb jouw versie van de smatool.c gebruikt. Bij het commando make geeft hij aan dat smatool up to date is. Omvormer: SB2000HF. Ik heb de inv codes ergens op internet gevonden.

    Alvast bedankt voor je reactie!

    Rob Bakker

    • Hoi Rob,

      Hmm, die tabel LiveData was er eerst nog niet. Ik zie hier in de nieuwe broncode dat er op 14 oktober een aantal wijzigingen in de broncode zijn aangebracht in sma_mysql.c die er voor zouden moeten zorgen dat die tabel wordt aangemaakt.

      Ik heb op het moment helaas geen tijd om diep in de code te duiken om te kijken wat er exact zou moeten wijzigen in mijn instructies, kun je de “oude” versie van de code downloaden en gebruiken?

      • Hoi Pierre,

        Ik denk dat ik de “oude” versie nu heb. Omdat ik bij het compilen foutmeldingen kreeg heb alle files die sinds14 okt zijn gewijzigd teruggebracht. Ik loop nu echter tegen hetzelfde UPDATE probleem aan als Kristof hier onder. Is het een optie om de database weg te gooien ( is bij mij toch leeg) en opnieuw aan te maken? Zo ja, hoe doe je dat?

    • kun je de inverer codes van de sb 2000HF op de site plaatsen of even mailen

      alvast bedankt

  26. Heb je enig idee wat deze melding wilt zeggen nadat ik ./smatool ingeef :
    Please Update database schema use –UPDATE

    Ik probeer dan ook ./smatool –UPDATE maar de volgende keer verkrijg ik wederom dezelfde melding

  27. Pierre, is het mogelijk een image van jouw SD kaartje ergens te posten, waarbij ik dan het smatool.conf file kan aanpassen en normaal zou dit dan toch moeten werken. Of niet ?

    • Is niet helemaal zo eenvoudig, omdat dan ook de inhoud van de database mee komt. Moet ik even wat meer tijd voor hebben (en dat is even een probleem op het moment :-()

  28. Had same error on raspberry pi resulting in data not being sent to PVOutput. Something to do with different schemas. Table LiveData is not being created. (see c code in smamysql.c). I was able to fix this in my set up on raspberry pi by just running the create table sql query from the command prompt – once the table was created smatool started uploading to pvoutput.
    In MySQL:
    > use smatool;
    > CREATE TABLE `LiveData` (`id` BIGINT NOT NULL AUTO_INCREMENT , `DateTime` datetime NOT NULL,`Inverter` varchar(10) NOT NULL,`Serial` varchar(40) NOT NULL, `Description` char(20) NOT NULL ,`Value` INT NOT NULL ,`Units` char(20) NOT NULL ,`CHANGETIME` timestamp NOT NULL DEFAULT ‘0000-00-00 00:00:00’ ON UPDATE CURRENT_TIMESTAMP, UNIQUE KEY (`DateTime`,`Inverter`,`Serial`,`Description`),PRIMARY KEY ( `id` ) ) ENGINE = MYISAM;

    Then run smatool again if it is not alreay running and table LiveData is populated and pvoutput is uploaded (Note pvoutput live upload limits)

    • Ik kreeg dezelfde foutmeldingen (LiveData doesnt exist) en ben er achter gekomen dat in sma_mysql.c een fout zit. In de functie update_mysql_tables() wordt als je van schema 2 naar 3 update de tabel LiveData aangemaakt, maar in de functie install_mysql_tables() wordt deze tabel niet aangemaakt. In install_mysql_tables() moet dit dus worden toegevoegd. Na:

      sprintf( SQLQUERY, “CREATE TABLE `DayData` ( \
      `DateTime` datetime NOT NULL, \
      `Inverter` varchar(10) NOT NULL, \
      `Serial` varchar(40) NOT NULL, \
      `CurrentPower` int(11) DEFAULT NULL, \
      `ETotalToday` DECIMAL(10,3) DEFAULT NULL, \
      `Voltage` DECIMAL(10,3) DEFAULT NULL, \
      `PVOutput` datetime DEFAULT NULL, \
      `CHANGETIME` timestamp NOT NULL DEFAULT ‘0000-00-00 00:00:00’ ON UPDATE CURRENT_TIMESTAMP, \
      PRIMARY KEY (`DateTime`,`Inverter`,`Serial`) \
      ) ENGINE=MyISAM” );

      if (debug == 1) printf(“%s\n”,SQLQUERY);
      DoQuery(SQLQUERY);

      moet worden toegevoegd:

      sprintf(SQLQUERY,”CREATE TABLE `LiveData` ( \
      `id` BIGINT NOT NULL AUTO_INCREMENT , \
      `DateTime` datetime NOT NULL, \
      `Inverter` varchar(10) NOT NULL, \
      `Serial` varchar(40) NOT NULL, \
      `Description` char(20) NOT NULL , \
      `Value` INT NOT NULL , \
      `Units` char(20) NOT NULL , \
      `CHANGETIME` timestamp NOT NULL DEFAULT ‘0000-00-00 00:00:00’ ON UPDATE CURRENT_TIMESTAMP, \
      UNIQUE KEY (`DateTime`,`Inverter`,`Serial`,`Description`), \
      PRIMARY KEY ( `id` ) \
      ) ENGINE = MYISAM” );

      if (debug == 1) printf(“%s\n”,SQLQUERY);
      DoQuery(SQLQUERY);

      (Dit is een kopie van de regels uit de functie update_mysql_tables() )
      Dan wordt de tabel bij installatie wel aangemaakt.

      smatool loopt bij mij trouwens nu steeds vast, maar daar stel een een aparte post wel vragen over…

  29. Dit is de foutmelding die ik krijg ???? Ik verkrijg geen upload naar PVoutput. (pvlogger = smatool)

    root@raspberrypi:/home/pi/bin/sf-pvlog# ./pvlogger -d > log.txt
    2012-11-25T13:36:40.319698:INFO:Starting pvlogger
    2012-11-25T13:36:40.408124:DEBUG:Successfully connected to database.
    2012-11-25T13:36:40.413470:DEBUG:variable [Inverter] value [4000TL]
    2012-11-25T13:36:40.416585:DEBUG:variable [Code1] value [0x78]
    2012-11-25T13:36:40.419217:DEBUG:variable [Code2] value [0x21]
    2012-11-25T13:36:40.421540:DEBUG:variable [Code3] value [0xbf]
    2012-11-25T13:36:40.424319:DEBUG:variable [Code4] value [0x3a]
    2012-11-25T13:36:40.426618:DEBUG:variable [InvCode] value [0x4e]
    2012-11-25T13:36:40.429287:DEBUG:variable [InvCode] value []
    2012-11-25T13:36:40.436784:DEBUG:utc=2012-11-25 12:36 local=2012-11-25 13:36 diff 1 hours
    2012-11-25T13:36:40.441407:DEBUG:localOffset=1.000000
    2012-11-25T13:36:40.443992:DEBUG:localOffset=1.000000 isdst=0
    2012-11-25T13:36:40.446535:DEBUG:tzsecs=e11 3601
    2012-11-25T13:36:40.447704:DEBUG:tzsecs=0e 11
    2012-11-25T13:36:40.449967:DEBUG:SQLQuery [SELECT sunrise FROM Almanac WHERE date=DATE_FORMAT( NOW(), “%Y-%m-%d” ) ]
    2012-11-25T13:36:40.457831:DEBUG:SQLQuery [SELECT data FROM settings WHERE value=’schema’ ]
    2012-11-25T13:36:40.463136:INFO:Please Update database schema use –UPDATE
    2012-11-25T13:36:40.465907:DEBUG:Destroying global logger.
    root@raspberrypi:/home/pi/bin/sf-pvlog#

  30. Beste Pierre,
    Ik heb sinds kort ook een Raspberry Pi om mijn SMA omvormer uit te lezen, maar ik krijg het nog niet volledig aan de praat. Er komt maar 1 record in de database en het programma blijft steeds hangen. Ik moet het met c afsluiten.
    De tabel LiveData wordt wel gevuld (na aanpassing in sma_mysql.c, zie mijn eerdere reactie) en in de output van ./smatool -v -d zie ik wel dat alle(?) data uit de omvormer uitgelezen wordt, maar uiteindelijk stopt de output (na c) met:

    len=132 data=34 95 b8 50 5a a4 05 00 00 00 00 00 60 96 b8 50 74 a4 05 00 00 00 00 00 8c 97 b8 50 9c a4 05 00 00 00 00 00 b8 98 b8 50 c2 a4 05 00 00 00 00 00 e4 99 b8 50 e6 a4 05 00 00 00 00 00 10 9b b8 50 0c a5 05 00 00 00 00 00 3c 9c b8 50 33 a5 05 00 00 00 00 00 68 9d b8 50 4a a5 05 00 00 00 00 00 94 9e b8 50 71 a5 05 00 00 00 00 00 c0 9f b8 50 9b a5 05 00 00 00 00 00 c0 9f b8 50 a3 a5 05 00 00 00 00 00

    30/11/2012 12:15:00 total=369.754 Kwh current=372 Watts togo=0 i=11 crc=1
    30/11/2012 12:20:00 total=369.780 Kwh current=312 Watts togo=0 i=23 crc=1
    30/11/2012 12:25:00 total=369.820 Kwh current=480 Watts togo=0 i=35 crc=1
    30/11/2012 12:30:00 total=369.858 Kwh current=456 Watts togo=0 i=47 crc=1
    30/11/2012 12:35:00 total=369.894 Kwh current=432 Watts togo=0 i=59 crc=1
    30/11/2012 12:40:00 total=369.932 Kwh current=456 Watts togo=0 i=71 crc=1
    30/11/2012 12:45:00 total=369.971 Kwh current=468 Watts togo=0 i=83 crc=1
    30/11/2012 12:50:00 total=369.994 Kwh current=276 Watts togo=0 i=95 crc=1
    30/11/2012 12:55:00 total=370.033 Kwh current=468 Watts togo=0 i=107 crc=1
    30/11/2012 13:00:00 total=370.075 Kwh current=504 Watts togo=0 i=1

    Het stopt dus halverwege de regel. Ligt dat aan de manier van afsluiten, of loopt het programma op dat moment vast?

    Ik heb de bluetooth module er vanaf 29 september in zitten, maar sindsdien lang niet alle dagen contact gelegd met de omvormer. Misschien dat dat een probleem is? Er zijn inmiddels toch van heel wat dagen gegevens te downloaden, dus misschien loopt er ergens een buffer vol? Alhoewel, ik heb in de tabel DayData handmatig een record toegevoegd met de datum van gisteren, zodat er maar van 1 dag gegevens toegevoegd zouden moeten worden en dat had geen effect.

    Ik heb de aanpassingen die je voorstelt in smatool.c doorgevoerd, maar niet de versie gebruikt die je ter download aanbiedt. Die blijft nl. klagen over updaten van de database.

    Het lijkt er trouwens op dat alleen het 2e record in de database toegevoegd wordt. Van 29/9/2012 13:30:00, terwijl daarvoor nog een record van 12:25:00 in de log staat.

    Alvast hartelijk bedankt voor he hulp!

  31. Beste Pierre,
    Het probleem is al opgelost. In ieder geval werkt het nu. Ik vermoed dat het het probleem zat in het feit dat ik de bluetooth module al lang in de omvormer had zitten en lang niet alle dagen contact gehad heb met de omvormer, waardoor er ook veel dagen ontbraken. Ik heb namelijk de data die ik met ./smatool -d -v > output.txt wel zag verschijnen er met grep uitgefilterd, aangevuld met de ontbrekende data als serienummer ed en dit handmatig in de database geladen. Daarna werkt het wel!
    Toch hartelijk bedankt, als is het alleen al voor de uitgebreide en duidelijke beschrijving!

  32. Waarom verkrijg ik toch altijd line2: cd: /root/bin/sma-bluetooth: No such file or directory

    root@raspberrypi:/home/pi/bin/sma-bluetooth# ./smatool_run
    ./smatool_run: line 2: cd: /root/bin/sma-bluetooth: No such file or directory
    2012-12-18T12:52:28.128482:INFO:Starting smatool
    enz……

    smatool_run is nochtans :

    #!/bin/bash
    cd ~/bin/sma-bluetooth
    ./smatool

  33. Beste Kristof,

    Ik zal als lamme de blinde proberen te helpen 🙂

    ~ betekent volgens mij “de homedirectory van de user”, dus als je als pi ingelogd bent “/home/pi/”.
    Maar het lijkt erop dat je een “sudo bash” hebt gedaan. (Of op een andere manier als root werkt.)
    In dat geval werk je als root en probeer je met cd ~/bin/sma-bluetooth dus vanuit de home van root de directory /bin/sma-bluetooth te benaderen, en dat is dus /home/root/bin/sma-bluetooth i.p.v. /home/pi/bin/sma-bluetooth.

    Als je “exit” doet uit de bash shell (of inlogt als pi) , is ~ weer “/home/pi” zou het moeten werken.

    Succes.

    Groetjes,
    Peter

  34. bedankt, dit was het probleem
    eveneens mijn crontab -e was in de bash shell geinstalleerd en werkte niet.
    Mijn crontab -e uit de bash shell was leeg en daarom deed hij de update niet meer automatisch
    bedankt hiervoor, ben weer wat wijzer geworden.
    Deze keer ga ik wel mijn image backuppen want vorige keer was mijn SD-kaartje gecrasht en heb een nieuwe moeten bestellen.

  35. had een segmentation fault omdat sma.in.new ontbrak in m n directory

    bedankt voor de guide!

  36. Pierre,

    Thanks for your great instructions you have inspired me to try this.

    Wonder if you can help, I have been trying for days now to get this to work, I’m so close but just can’t finalise it.

    Everything is working, when I type ./smatool all the data comes up right upto todays date then it hangs even if left for hours.

    When I type ./smatool –d > log.txt there are no errors in the log it just ends half way through a line, this is the end of my last one:

    10/2/2013 22:35:00 total=5051.345 Kwh current=0 Watts togo=1 i=455 crc=1
    10/2/2013 22:40:00 total=5051.345 Kwh current=0 Watts togo=1 i=467 crc=1
    Receiving
    00000000: .. .. .. .. .. .. .. .. .. .. .. .. 7e 6d 00 13
    00000010: b3 26 19 25 80 00 2b 01 10 dd 09 00 08 00 7e ff
    00000020: 03 60 65 24 d0 78 00 78 21 bf 3a 00 a0 4e 00 63
    00000030: 75 31 7d 5d 00 00 00 00 00 00 0b 00 01 02 00 70
    00000040: d

    Due to this I added all your changes to smatool.c but still the same result, it just hangs with an incomplete log and no error messages.

    The database is being populated as it finds lines when I follow your database fix instructions.

    Any help will be gratefully received as I’m really at a loss now

    • Hi Anthony,

      You mean, the debug option does not return a full line at the end of the log but it runs/works if you don’t let create a debug file?
      I seem to be missing the problem, you need to re-run the smatool using a cronjob every time to have it update.

      • Hi Pierre,
        It never completes, the Pi just hangs Putty does not return to the command line even when left overnight 8+hours. I have to terminate Putty and log back in to get a command line back.

        When I watch and refresh in winSCP the log files keeps growing unlit it reaches 3,400KiB then stops. When I open the log file the last line is always not far off the current time and date but ends half way through writing a line.

        Many thanks Anthony

      • But why create a log? What happens if you run it without the -d option?

      • Pierre,

        If I do it without making a log the same thing happens but the progress gets shown in the putty window instead, but same thing happens, it stops half way though a line and hangs.

        The only reason I was creating a log was because there is too much information for putty to display and if you scroll up the first part, the progress is missing. In order to see the whole log I was creating a log file.

        I guess putty can only display a set number of lines before removing the earliest ones.

    • I posted earlier allready a post that I experience the same problem.
      I have an SMA SB1200 and also when doing the debug option with log file I don’t get a full logfile.

      It ends with;
      [57] 2013-02-14 16:43:18 Sending
      sum=80
      length change from 3f to 3e diff=80
      new sum=7e
      [57] 2013-02-14 16:43:18 sending:
      00000000: .. .. .. .. .. .. .. .. .. .. .. .. 7e 3e 00 40
      00000010: 30 08 00 81 1f 00 ff ff ff ff ff ff 01 00 7e ff
      00000020: 03 60 65 09 a0 ff ff ff ff ff ff 00 00 78 00 84
      00000030: 9e c1 3a 00 00 00 00 00 00 10 80 00 02 80 51 00
      00000040: 48 21 00 ff 48 21 00 f3 c8 7e cc=62

      [58] 2013-02-14 16:43:18 Waiting for string
      [58] 2013-02-14 16:43:18 waiting for: 7e 5a 00 24 e6 25 a5 25 80 00 30 08 00 81 1f 00 01 00 7e ff 03 60 65

      [58] 2013-02-14 16:43:18 Waiting for data on rfcomm

      I am trying this for months now (not every day) 😉

      Hope we can get it to work together.

      Greetings, Dré
      Netherlands

  37. Hi Anthony and Dre,

    This looks very much like the problems I experienced in the beginning (see post #32 and #33). it’s in Dutch, so I’ll explain in English now.
    I had my converter and solar panels running for a few months before I installed smatool on a RasPi. And at first it also stopped working every time, the log stopping in the middle of a line. To get at least some data in the database and test the rest of the application, I entered the data I could retrieve from the log file manually into the database. To my surprise, after this it started working and has done so without problems up to now. Maybe this could be a solution for you also.

    Just filter the lines from the output containing the data you need, like

    30/11/2012 12:15:00 total=369.754 Kwh current=372 Watts togo=0 i=11 crc=1
    30/11/2012 12:20:00 total=369.780 Kwh current=312 Watts togo=0 i=23 crc=1
    30/11/2012 12:25:00 total=369.820 Kwh current=480 Watts togo=0 i=35 crc=1

    You can use grep for that.

    I used a spreadsheet (Excel) to modify the data by deleting the parts that don’t contain the information, changing the format of the date, adding the converter model and serial number, adding the missing columns and placing it all in the right order. Then saved it as a MS-DOS file.
    You should end up with something like this:

    2012-11-30 12:15:00 2100TL 2002212452 372 369.754 \N \N 0000-00-00 00:00:00
    2012-11-30 12:20:00 2100TL 2002212452 312 369.780 \N \N 0000-00-00 00:00:00
    2012-11-30 12:25:00 2100TL 2002212452 480 369.820 \N \N 0000-00-00 00:00:00

    (just add the last 3 columns, “\N \N 0000-00-00 00:00:00″ on each line in the sheet.)
    The columns should be separated by a Tab character.

    You can import the resulting text file data into the database with de sql statement
    ” LOAD DATA INFILE ‘filename’ INTO TABLE DayData;”

    This may not be the best and easiest way to do it, but it worked for me.

    Regards,
    Peter

    • Hi Peter. (and Pierre maybee?)

      (I am Dutch but will write in English so Anthony can read it to)
      I am totally new at linux. My only experiance is with some live-cd’s for the Computer and not with command line. But I am very willing to learn.. Long time ago a worked with MS-DOS so the command line dos is familiar.

      I have a few questions.
      How and where do I use greb? I also understand that PVoutput does not accept data older as 30 days.

      Is it possible to delete the data from the converter a start from scratch? I have the PV panels working from 24-11-2012 and have only 150 kWh so It’s not important to me to use that also if it is the solution to get this working.

      kind regards
      Dré

  38. Peter,

    You could be right, my inverter has been running for over a year, I might try it a different way first. As my data is already on PVOutput I might clear all the data from the inverter (I don’t need in now) and try again with only a small amount of data to download.

    Thanks for the advice it really does sound the same.

  39. Hi Dre,

    I have no idea how to remove data from the converter. But I’ll explain in detail what I did to get the data in the database.
    First using Putty, login to the Pi and go to the smatool directory:
    cd /bin/smatool
    Then execute smatool and grep the lines with the output data to a file:
    ./smatool | grep “total=” > /tmp/output.txt
    This way the output from smatool will be sent to grep, which will filter out only the lines with “total=” in it. Using the “>” will send all that output to a file in the tmp directory.
    You will now have a file containing only lines like:

    30/11/2012 12:15:00 total=369.754 Kwh current=372 Watts togo=0 i=11 crc=1
    30/11/2012 12:20:00 total=369.780 Kwh current=312 Watts togo=0 i=23 crc=1
    30/11/2012 12:25:00 total=369.820 Kwh current=480 Watts togo=0 i=35 crc=1

    Using WinSCP (explained in Pierre’s article in http://ictoblog.nl/raspberry-pi/raspberrypi-pvoutput) copy the output.txt file in the tmp directory to your Windows PC.
    Start Excel and select Open, select “all files” to also see the .txt files and open the output.txt file.
    The import wizzard will start. Select , so all output is in column A. Widen the column so that column B is “visible”.
    Enter the following functions in the following cells:
    B1: =LEFT(A1;19)
    C1: =MID(A1;FIND(“=”;A1)+1;FIND(” Kwh”;A1)-FIND(“=”;A1)-1)
    D1: =MID(A1;FIND(“current=”;A1)+8;FIND(” Watts”;A1)-FIND(“current=”;A1)-8)
    and copy these 3 cells down until the end of the file. Now column B will contain the date and time, C the Total power and D the current power.
    I think the easiest now is to replace the formulas with plain text, by selecting columns B to D, select and then (using right-click) and select “Values”. You can copy it to the same columns as you don’t need the formulas anymore.
    Now you can remove column A and move the data to the right columns: Date and Time to column A, Total Power to column E and Current Power to column D.
    Column B you will have to fill with the converter model number you entered in the smatool.conf file. This would be “SB1200” in your case?
    Column C you will have to fill with the converter serial number. You can find it on a sticker on your converter.
    Fill columns F and G with “\N” and column H with “0000-00-00 00:00:00” (make sure the last is in this format)
    That’s all the data you need.
    Now, check that all data is in the right format, and if not change it.
    Column A probably isn’t, so select column A and select “Format cells” after a right click. On the “Number” tab make a new type: “jjjj-mm-dd uu:mm:ss”
    Column E should me in format like “369.754”. If not, select the column and format cells, select category , select 0 decimal places and select .
    Column D should contain only digits, so if it’s not change it the same way as column E, except don’t select the .
    Now save this file as a text file using and select a “Text (MS-DOS)(*.txt)” and name the file “daydata.txt”. You will get an error that the file contains features that are not compatible with this type of file, but you can ignore this by selecting . The resulting file should look something like this:

    2012-11-30 12:15:00 2100TL 2002212452 372 369.754 \N \N 0000-00-00 00:00:00
    2012-11-30 12:20:00 2100TL 2002212452 312 369.780 \N \N 0000-00-00 00:00:00
    2012-11-30 12:25:00 2100TL 2002212452 480 369.820 \N \N 0000-00-00 00:00:00

    (with Tab characters between the columns, so the space between the columns could look larger).

    Transfer this file to the /tmp directory on the Pi using WinSCP.
    In Putty, start mysql with the command
    mysql -u root -p
    and enter the root password.
    select the database using
    use smatool
    Now load the text file into the database using
    LOAD DATA INFILE ‘/tmp/daydata.txt’ INTO TABLE DayData;
    (don’t forget the ; at the end!)
    You should get a response stating the number of records entered.
    Exit mysql with D.
    That should be it! Now hope this solves the problem. You can check right away by starting ./smatool as normal.
    Good luck and let me know the results!

    Regards,
    Peter

  40. Hoi,

    Als ik nu mijn SB2500 uitlees krijg een crc=0Date Error
    Op 21 maart gaat het zo te zien goed. Als 22 maart begint krijg ik een crc=0Date Error
    Wie weet raad hoe dit op te lossen.?

    2013-03-25 13:45:46 Unit Serial = 3821139 none
    2013-03-25 13:45:46 NO DATA for 1f 82 = 8001 NO UNITS
    2013-03-25 13:45:46 NO DATA for 20 82 = 9023 NO UNITS
    2013-03-25 13:45:46 NO DATA for 21 82 = 601 NO UNITS
    2013-03-25 13:45:46 NO DATA for 21 82 = 636 NO UNITS
    2013-03-25 13:45:46 Total Power = 1195 Watts
    2013-03-25 13:45:46 Max Phase 1 = 2500 Watts
    2013-03-25 13:45:46 Max Phase 2 = 0 Watts
    2013-03-25 13:45:46 Max Phase 3 = 0 Watts
    2013-03-25 13:45:46 Line Voltage Phase 1Volts = 237 Volts
    2013-03-25 13:45:46 Line Voltage Phase 2Volts = 0 Volts
    2013-03-25 13:45:46 Line Voltage Phase 3Volts = 0 Volts
    2013-03-25 13:45:46 Line Current Phase 1Amps = 5 Amps
    2013-03-25 13:45:46 Line Current Phase 2Amps = 0 Amps
    2013-03-25 13:45:46 Line Current Phase 3Amps = 0 Amps
    2013-03-25 13:45:46 Grid Frequency = 50 Hertz
    2013-03-25 13:45:46 NO DATA for 1f 4a = 80 NO UNITS

    21/1/2013 13:45:00 total=74.821 Kwh current=0 Watts togo=456 i=11 crc=0
    21/1/2013 13:50:00 total=74.828 Kwh current=84 Watts togo=456 i=23 crc=0
    21/1/2013 13:55:00 total=74.836 Kwh current=96 Watts togo=456 i=35 crc=0
    21/1/2013 14:00:00 total=74.844 Kwh current=96 Watts togo=456 i=47 crc=0
    21/1/2013 14:05:00 total=74.853 Kwh current=108 Watts togo=456 i=59 crc=0
    21/1/2013 14:10:00 total=74.863 Kwh current=120 Watts togo=456 i=71 crc=0
    21/1/2013 14:15:00 total=74.872 Kwh current=108 Watts togo=456 i=83 crc=0
    21/1/2013 14:20:00 total=74.881 Kwh current=108 Watts togo=456 i=95 crc=0
    21/1/2013 14:25:00 total=74.888 Kwh current=84 Watts togo=456 i=107 crc=0
    21/1/2013 14:30:00 total=74.894 Kwh current=72 Watts togo=456 i=119 crc=0
    21/1/2013 14:35:00 total=74.901 Kwh current=84 Watts togo=456 i=131 crc=0
    21/1/2013 14:40:00 total=74.907 Kwh current=72 Watts togo=456 i=143 crc=0
    21/1/2013 14:45:00 total=74.914 Kwh current=84 Watts togo=456 i=155 crc=0
    21/1/2013 14:50:00 total=74.920 Kwh current=72 Watts togo=456 i=167 crc=0
    21/1/2013 14:55:00 total=74.925 Kwh current=60 Watts togo=456 i=179 crc=0
    21/1/2013 15:00:00 total=74.931 Kwh current=72 Watts togo=456 i=191 crc=0
    21/1/2013 15:05:00 total=74.936 Kwh current=60 Watts togo=456 i=203 crc=0
    21/1/2013 15:10:00 total=74.940 Kwh current=48 Watts togo=455 i=11 crc=0
    21/1/2013 15:15:00 total=74.944 Kwh current=48 Watts togo=455 i=23 crc=0
    21/1/2013 15:20:00 total=74.948 Kwh current=48 Watts togo=455 i=35 crc=0
    21/1/2013 15:25:00 total=74.951 Kwh current=36 Watts togo=455 i=47 crc=0
    21/1/2013 15:30:00 total=74.954 Kwh current=36 Watts togo=455 i=59 crc=0
    21/1/2013 15:35:00 total=74.957 Kwh current=36 Watts togo=455 i=71 crc=0
    21/1/2013 15:40:00 total=74.961 Kwh current=48 Watts togo=455 i=83 crc=0
    21/1/2013 15:45:00 total=74.963 Kwh current=24 Watts togo=455 i=95 crc=0
    21/1/2013 15:50:00 total=74.967 Kwh current=48 Watts togo=455 i=107 crc=0
    21/1/2013 15:55:00 total=74.970 Kwh current=36 Watts togo=455 i=119 crc=0
    21/1/2013 16:00:00 total=74.973 Kwh current=36 Watts togo=455 i=131 crc=0
    21/1/2013 16:05:00 total=74.975 Kwh current=24 Watts togo=455 i=143 crc=0
    21/1/2013 16:10:00 total=74.978 Kwh current=36 Watts togo=455 i=155 crc=0
    21/1/2013 16:15:00 total=74.979 Kwh current=12 Watts togo=455 i=167 crc=0
    21/1/2013 16:20:00 total=74.981 Kwh current=24 Watts togo=455 i=179 crc=0
    21/1/2013 16:25:00 total=74.982 Kwh current=12 Watts togo=455 i=191 crc=0
    21/1/2013 16:30:00 total=74.982 Kwh current=0 Watts togo=455 i=203 crc=0
    21/1/2013 16:35:00 total=74.982 Kwh current=0 Watts togo=454 i=11 crc=0
    21/1/2013 16:40:00 total=74.982 Kwh current=0 Watts togo=454 i=23 crc=0
    21/1/2013 16:45:00 total=74.982 Kwh current=0 Watts togo=454 i=35 crc=0
    21/1/2013 16:50:00 total=74.982 Kwh current=0 Watts togo=454 i=47 crc=0
    21/1/2013 16:55:00 total=74.982 Kwh current=0 Watts togo=454 i=59 crc=0
    21/1/2013 17:00:00 total=74.982 Kwh current=0 Watts togo=454 i=71 crc=0
    21/1/2013 17:05:00 total=74.982 Kwh current=0 Watts togo=454 i=83 crc=0
    22/1/2013 08:40:00 total=74.982 Kwh current=0 Watts togo=454 i=95 crc=0Date Error! prev=1358784300 current=1358840400

    22/1/2013 09:25:00 total=74.986 Kwh current=48 Watts togo=453 i=11 crc=0Date Error! prev=1358840400 current=1358843100

    22/1/2013 10:50:00 total=75.060 Kwh current=936 Watts togo=452 i=11 crc=0Date Error! prev=1358843100 current=1358848200

    22/1/2013 12:15:00 total=75.206 Kwh current=2688 Watts togo=451 i=11 crc=0Date Error! prev=1358848200 current=1358853300

  41. Handleiding gevold, alles gaat goed tot het draaien van de smatool. onderstaande de logs als ik het draai. lijkt me iets met bluetooth te maken te hebben. bluetoothe ping gaat wel goed.

    Bluetooth ping:
    root@raspberrypi:/home/pi# sudo l2ping -c 10 00:80:25:2E:A8:70
    Ping: 00:80:25:2E:A8:70 from 00:0A:3A:65:CC:11 (data size 44) …
    18 bytes from 00:80:25:2E:A8:70 id 0 time 17.37ms
    18 bytes from 00:80:25:2E:A8:70 id 1 time 10.96ms
    18 bytes from 00:80:25:2E:A8:70 id 2 time 11.16ms
    18 bytes from 00:80:25:2E:A8:70 id 3 time 11.24ms
    18 bytes from 00:80:25:2E:A8:70 id 4 time 11.15ms
    18 bytes from 00:80:25:2E:A8:70 id 5 time 11.19ms
    18 bytes from 00:80:25:2E:A8:70 id 6 time 11.21ms
    18 bytes from 00:80:25:2E:A8:70 id 7 time 11.19ms
    18 bytes from 00:80:25:2E:A8:70 id 8 time 11.16ms
    no response from 00:80:25:2E:A8:70: id 9
    10 sent, 9 received, 10% loss

    smatool foutmelding:
    root@raspberrypi:/home/pi/bin/sma-bluetooth# ./smatool
    Error connecting to 00:80:25:2E:A8:70
    Error connecting to 00:80:25:2E:A8:70
    Error connecting to 00:80:25:2E:A8:70
    Error connecting to 00:80:25:2E:A8:70
    Error connecting to 00:80:25:2E:A8:70
    Error connecting to 00:80:25:2E:A8:70
    Error connecting to 00:80:25:2E:A8:70
    Error connecting to 00:80:25:2E:A8:70
    Error connecting to 00:80:25:2E:A8:70
    Error connecting to 00:80:25:2E:A8:70
    Error connecting to 00:80:25:2E:A8:70
    Error connecting to 00:80:25:2E:A8:70
    Error connecting to 00:80:25:2E:A8:70
    Error connecting to 00:80:25:2E:A8:70
    Error connecting to 00:80:25:2E:A8:70
    Error connecting to 00:80:25:2E:A8:70
    Error connecting to 00:80:25:2E:A8:70
    Error connecting to 00:80:25:2E:A8:70
    Error connecting to 00:80:25:2E:A8:70
    Bad Status

  42. Hallo Pierre,

    Ik vind het een enorme prestatie zoals eerst SMAspot en nu SBFspot in elkaar is gezet.
    In de gebruiksaanwijzing (pdf) staat een foutje doordat /home/pi/sbfspot.3 soms als /home/pi/sbfspot wordt geschreven.
    Ik wil mijn raspberry graag aansluiten bij de groep raspberry op PVoutput.
    Hoe doe ik dat?
    Een virtuele 2e omvormer en de SID van de raspberry groep gebruiken?

    Vr.gr. Hein

 Geef een reactie

Je kan deze HTML tags en attributen gebruiken: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(verplicht)

(verplicht)