SMA-Wechselrichter und Raspberry Pi

Wie im letzten Beitrag geschrieben, war ja mein Plan, dass ich mit dem Raspberry Pi die Daten von meinem SMA-Wechselrichter auslese und somit die aktuelle Stromerzeugung einsehen kann.

Der SMA-Wechselrichter hat nur eine Bluetooth-Schnittstelle und somit kann man die Daten nicht direkt über Ethernet auslesen. Andererseits ist der Raspberry standardmäßig mit keinem Bluetooth-Modul ausgestattet. Aber es gibt ja die zwei USB-Schnittstellen.

Nach ein bisschen Recherche habe ich man dann für einen Bluetooth-Stick entschieden. Der Däumling wurde dann in eine USB-Schnittstelle des Pi gesteckt und ohne Probleme von Raspbian erkannt und war somit einsatzbereit.

Um nun die Daten vom Wechselrichter (in Echtzeit) auszulesen, habe ich die bereits im letzten Beitrag erwähnte Software SMAspot (Update 29.06.2014: heißt jetzt SBFspot) benutzt. Es gibt auch eine mehr oder weniger vollständige Anleitung zur Installation von SBFspot auf dem Pi. Gut, man muss es halt selber kompilieren, aber nach der Überwindung einiger kleiner Hürden war es dann geschafft. SBFspot kommunizierte über die Bluetooth-Schnittstelle mit dem Wechselrichter und liefert die Daten in die Konsole.

SBFspot wurde primär entwickelt, um historische Daten aufzuzeichnen. Aber das ist nicht, was ich wollte. Der Plan war ja, die aktuellen Daten in einer menschenlesbaren Form auf einer Internetseite zur Verfügung zu stellen.

Also habe ich zum Schluss noch eine PHP-Seite geschrieben, welche die Konsolenausgabe in HTML verwandelt.

Und so sieht das Ganze dann aus:

power

13 Gedanken zu „SMA-Wechselrichter und Raspberry Pi“

  1. Hallo Andreas,

    danke für deine Anleitung, ich werde mich demnächst auch an mit nem ähnlichen Projekt beschäftigen.

    Der Link zu deinem verwendeten Raspberry PI Bluetooth Stick scheint nicht zu funktionieren! Könntest du den fixen?

    danke!

    1. Hallo Andy!

      Ich habe den Link gefixt. Es ist ein „CSL – USB nano Bluetooth-Adapter V4.0 mit LED“ zu finden bei Amazon. Am besten ist es, wenn man den Stick über einen USB-Hub mit externer Stromversorgung betreibt. Ich hatte da Probleme mit Abstürzen, wenn ich den Stick direkt am Raspberry betrieben habe.

      mfg
      Andreas

  2. Hey danke! Ich seh ihn mir an, werd wohl noch weitersuchen ob’s auch einen ohne externe Stromversorgung gibt.

    Und danke für den vorausschauenden Fix für den Smaspot Link fix 😉

  3. Hallo Andreas,
    habe mir SBFSpot installiert und suche nun eine einfache möglichkeit, die Daten anzeigen zu lassen, eigentlich genau wie in deinem php script.
    Würdest Du Dein PHP Script evtl. teilen bzw. auch kurz beschreiben wie man es anwendet?
    Gruß
    Chris

  4. Hallo Andreas
    wie Chris schon geschrieben hat würde mich das PHP Script auch interessieren. Da ich auch gern die Daten anzeigen lassen möchte.
    Gruß Tim

  5. Hallo Andreas,

    genau diesen Ansatz, nur das Auslesen des Wechselrichters, verfolge ich auch, kannst du mir das PHP Script zur Verfügung stellen?

    Grüße Klaus

    1. Hallo Alexander!

      Hier nochmals das Schnipsel:

      $output2 = shell_exec('/home/pi/readfrommt174.py');

      $purchase = between($output2, "1-0:1.7.0*255(", "*kW)");
      $delivery = between($output2, "1-0:2.7.0*255(", "*kW)");
      $totalpurchase = between($output2, "1-0:1.8.0*255(", "*kWh)");
      $totaldelivery = between($output2, "1-0:2.8.0*255(", "*kWh)");

      echo "".$purchase."kW|".$delivery."kW"."|".$totalpurchase."kWh|".$totaldelivery."kWh";

      // this function gets a string between to other strings, used
      // to get only the information, that is interesting
      function between($src,$start,$end){
      $txt=explode($start,$src);
      $txt2=explode($end,$txt[1]);
      return trim($txt2[0]);
      }

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert