Raspberry als ip Stechdose nutzen für Solarlog

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo zusammen, ich ebenfals neu hier.
    Kleine Grundkenntnisse bringe ich mit.

    Jedoch bin ich auf der Suche nach einer Lösung, wie man über eine Solarlog 200/500.... einen Stromüberschuß ansteuern kann.

    Es gibt ein fertiges Relais, welche eigentlich viel zu teuer ist.

    SolarLog Smart-Home Relais Station 1x16 SolarLog ca 250€
    oder
    Smart Relais Station 3x16 A (3x3,5 kW) ca 450€

    so etwas muss sich doch mit dem Rasperry lösen lassen.

    Wie würdet Ihr hier ran gehen?
    Zur Zeit bin ich bei FHEM, dort muss ich meinen Stromüberschuß selber auswerten.

    Ich möchte nur schalten.
    Sprich als SMARTHOME Steckdose für den Solarlog

    Danke
    Rainer

  • Also wenn ich Deine Frage richtig verstehe und auf einen Punkt bringe, willst Du in Abhängigkeit des Ladestroms Lasten zu oder Abschalten?

    Wenn dem so ist, könntest Du mit z.B. so etwas oder ähnliches

    http://www.ebay.de/itm/1414546548…K%3AMEBIDX%3AIT

    Der liefert 66mV/A. Jetzt brauchst Du noch einen Analog /Digital Wandler und musst ein Programm (Python) schreiben, welches bei bestimmten Werten bestimmte GPIO's schaltet, an denen Relais hängen.

    Ich würde mal sagen, alles nicht so einfach.

    EDIT// Willst Du eigentlich Gleich- oder Wechselstrom messen?

    Einmal editiert, zuletzt von rmjspa (2. Mai 2015 um 13:02)

  • Soso, eine Solaranlage :)
    Kannst du nochmal genau schreiben was du wie schalten möchtest? Wenn ich dich richtig verstehe, möchtest du bei einem bestimmten Strom X eine Steckdose schalten können. Ich weiß nicht welchen Wechselrichter du hast, die SMA's haben ein Multifunktionsrelais eingebaut, allerdings bin ich mir gerade nicht genau sicher worauf man da den Schaltpunkt legen kann. Glaube aber ziemlich sicher, dass das für sowas geeignet ist.
    Welchen Solarlog hast du jetzt genau? 200 und 500 sind ja schon ganz andere Geräte mit anderen Funktionionen. Ich bin mir nicht sicher, aber haben die Solarlogs nicht alle eine S0 oder RS232 Schnittstelle um daran die Daten auch auszulesen? Wenn ja, könnte man daran einen Pi hängen und darüber auswerten.
    Andere Möglichkeit die aufjedenfall funktioniert: Der Solarlog hat ja ein Webportal in dem auch die Livedaten verfügbar sind. Dieses könnte man mit dem Pi öffnen und auswerten. Habe schon lange nichtmehr da reingeschaut, aber da gibt es doch eine Livedatenabfrage (bzw. alle X-Sekunden wird der Wert neu geladen), da könnte man den Quelltext nach dem bestimmten Wert durchsuchen und wenn Höher als X, einen GPIO schalten lassen am Pi oder eine Funksteckdose ansteuern.
    Ansonsten hast du noch die Möglichkeit mit kapazitiven Strommessern (gibts ziemlich günstig in China), den Strom ungefähr zu erfassen und darüber etwas zu machen (habe ich mal mit einem Arduino gebastelt). Aber: Greife auf keinen Fall irgendwo wirklich den Strom an Klemmen ab, also keine Lösung die direkt mit dem hohen Strom/Spannung in Berührung kommt. Erstens wäre mir das zu gefährlich im Eigenbau, da geht nämlich richtig ordentlich Saft durch die Leitung, außerdem darfst du als nicht zertifizierte Elektro Fachkraft mit Zulassung beim EVU für Photovoltaik absolut nichts daran machen, wenn was passiert ist jegliche Versicherung aus der Sache raus!

    EDIT: Gerade nachgesehen: Wenn das ein Solarlog 200 ist, hat dieser keinen s0 Ausgang, der SL500 hat einen S0-Impulsausgang. Daran könntest du also die S0-Impulse mit einem Pi zählen und somit die aktuelle Leistung errechnen und Verbraucher schalten. Die Idee von oben über das vorhandene Webinterface geht natürlich trotzdem.

  • Hallo Jummpy,
    Du hats den Nagel auf dem Kopf getroffen.

    Nun noch einmal von vorne.
    Wir haben zwei Wechselrichter- Power One (Ost/Westausrichtung) mit einer Solarlog 500 kompiert.
    Der Verbrauchszähler ist am S0 angeschlossen.
    Nun haben wir ja die Möglichkeit, bei einem Überschuss, über die Spezialfunktion der Solarlog diverse Schaltvorgänge vorzunehmen.

    Wärmepumpe
    Kühlschrank
    Heizstab.
    Zeitschaltuhr..
    etc.... .

    Dafür wollte ich den Raspberry nutzen.

    Dafür suche ich eine Lösung.

    Rainer

  • Dazu musst Du an die RS485 ran und mal schauen, was das Teil so auswirft. RS485 gibt es für den Raspberry Pi als USB-Lösung (kann dann natürlich auch mit andern Rechnern genutzt werden) oder als spezielle Module, wie die RasPiComm (nicht gerade günstig, aber Industrieerprobt) oder auch diese etwas günstigere für den "Heimgebrauch".

  • Wenn ich das Datenblatt richtig lese, hat der SL500 garkeine Möglichkeit einen externen Verbraucher zu steuern? Zumindest ist die Option "EEG-Eigenverbrauch: Steuerung ext. Verbraucher" nur beim SL1000 angehakt.
    Du sagst am S0 hängt ein Verbrauchszähler, wofür genau wird der eingesetzt? Ihr müsstet von eurem EVU ja einen Zweirichtungszähler eingesetzt bekommen haben, der den Unterschied zwischen gekauft und verkauftem Strom sicherstellt, habt ihr da jetzt einen Zähler installiert der lediglich die produzierte Leistung anzeigt, also quasi nur zur Veranschaulichung obwohl das im Webinterface bestens zu sehen wäre? :)

    Somit fällt die S0-Schnittstelle eigentlich raus, was sehr schade ist, weil die Funktion wie bereits angesprochen ja im Web zu sehen ist.
    Die RS485 Schnittstelle ist nach meiner Erkenntniss nur eine Schnittstelle für einen Wechselrichter, also quasi ein Eingang aus dem der Solarlog Daten ziehen könnte, keine Schnittstelle um die eingelesenen Daten abzufragen. Wenn dem nicht so ist (worüber ich nichts finden kann) wäre das eine Möglichkeit. Dazu gibt es wie oben angesprochen günstige USB->RS485 Adapter, davon habe ich hier gerade welche im Einsatz :P

    Zitat

    Nun haben wir ja die Möglichkeit, bei einem Überschuss, über die Spezialfunktion der Solarlog diverse Schaltvorgänge vorzunehmen.


    Wo genau hast du dazu etwas gelesen in Verbindung zum SL500? Kann das nicht finden :(

  • Hallo JumpY,
    anbei ein Screenshot von meiner Solarlog500.
    Firmware: 3.3.0 Build 74

    Demnach müßte es doch etwas geben;)

    Rainer

    Hallo Raspiprojekt,
    bin mir nicht ganz sicher, aber da wir zwei Wechselrichter am Solarlog500 über die RS485 angeschlossen haben, sind hier die Anschlußmöglichkeiten begrenzt. Der S0 wird vom Verbraucherszähler verwendet.
    Die Spezialfunktionen verwenden irgend ein Protokoll, welches übers Netzwerk geht.
    SMART HOME eben.
    Habe mal etwas über MODBUS gelesen, dies bezog sich aber auf FritzBox/FHEM und einer Solarlog.
    Dort muss man jedoch alles selber auswerten. Was die Solalog ja schon kann.

    Gruss

    Einmal editiert, zuletzt von Raibal (2. Mai 2015 um 17:59)

  • Nana, da sind doch Schnittstellen implementiert. Lade dir mal folgendes Handbuch zum Solarlog runter: http://www.solar-log.com/index.php?eID=…925543fe87ddd49

    Dann ab Seite 232 ; Einmal Modbus und einmal JSON. Somit kommst du an alle Daten von außerhalb ran.

    Dazu auch folgende Links:
    http://www.photovoltaikforum.com/sds-allgemein-…en-t102053.html
    http://homematic-forum.de/forum/viewtopic.php?f=43&t=23437
    http://constey.de/2014/10/solarl…zeile-auslesen/

    Da wird sicherlich etwas dabei sein, hatte bislang keine Zeit das genauer durchzulesen aber das werden wir schon hinbekommen! :)

  • Hallo Jumpy,
    dass hat ja schon einmal geklappt.

    ./solarlog.sh
    PAC Leistung WR 3.862 kWh
    PAC Leistung aller WR 3.999 kWh
    Spannung U AC Wechselspannung 0 Volt
    Spannung U DC Gleichspannung 322 Volt
    Tages-Ertrag der WR 8.434 kWh
    Tages-Ertrag der WR von gestern 57.203 kWh
    Monats-Ertrag der WR 117.753 kWh
    Jahres-Ertrag der WR 2387.51 kWh
    Gesamtertrag aller WR 20509.7 kWh
    momentaner Verbrauch 0.545 kWh
    Tages-Verbrauch 6.51 kWh
    Tages-Verbrauch von gestern 20.553 kWh
    Monats-Verbrauch 44.004 kWh
    Jahres-Verbrauch 345.933 kWh
    Summe aller Verbraucher 345.933 kWh
    Installierte Generatorleistung 10.64 kWp

    und wgit gibt mir folgendes raus.
    +-----+-----+---------+------+---+-Model B1-+---+------+---------+-----+-----+
    | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
    +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
    | | | 3.3v | | | 1 || 2 | | | 5v | | |
    | 0 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5V | | |
    | 1 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | |
    | 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 |
    | | | 0v | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 |
    | 17 | 0 | GPIO. 0 | IN | 0 | 11 || 12 | 0 | IN | GPIO. 1 | 1 | 18 |
    | 21 | 2 | GPIO. 2 | IN | 0 | 13 || 14 | | | 0v | | |
    | 22 | 3 | GPIO. 3 | IN | 0 | 15 || 16 | 0 | IN | GPIO. 4 | 4 | 23 |
    | | | 3.3v | | | 17 || 18 | 0 | IN | GPIO. 5 | 5 | 24 |
    | 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | |
    | 9 | 13 | MISO | IN | 0 | 21 || 22 | 0 | IN | GPIO. 6 | 6 | 25 |
    | 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 |
    | | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 |
    +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
    | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
    +-----+-----+---------+------+---+-Model B1-+---+------+---------+-----+-----+

    Jetzt muss ich diese noch kombieren und in der crontab intregieren, richtig ?
    Leider bin ich mit der bash programierung nicht stark vertraut.
    Hier habe ich nachholbedarf , komme noch aus den ganz alten DOS :wallbash:

    PAC Leistung WR 3.862 kWh - momentaner Verbrauch 0.545 kWh = Überschuss
    wenn der Überschuss größer als WERTX dann schlate z.B.: goip 17

    Bei einem Überschuß von 2 KW könnte ich mir so etwas vorstellen.

    if (101-110)>=(110+"2") then gpio -g write 17 1
    and
    if (101-110)<(110+"2") then gpio -g write 17 0

    Gruss

  • Ich kapiere dass nicht.

    Ich habe versucht die Werte auszulesen und zuzuweisen.
    Irgendwie klappt dass nicht.
    Wo liegt der Fehler? Sch.. Anfänger

    $leistungallewr und $momentvbr wird zwar zugewiesen jedoch nicht durch 1000 geteilt


    -------------------
    #!/bin/sh
    wget -qO- --post-data='{"801":{"170":null}}' http://192.168.1.103/getjp \
    |sed -e 's/[{},]/\n/g' \
    |awk -F : '{if($1=="\"102\"") leistungallewr="$($2/1000)"};
    {if($1=="\"102\"") {print "Derzeitige Leistung " $leistungallewr " kWh" }};
    {if($1=="\"102\"") {print "Derzeitige Leistung " ($2/1000) " kWh" }};
    {if($1=="\"110\"") momentvbr="$($2/1000)"};
    {if($1=="\"110\"") {print "Momentaner Verbrauch " $momentvbr " kWh" }};
    {if($1=="\"110\"") {print "momentaner Verbrauch " ($2/1000) " kWh" }};'

    uberschuss=$(($leistungallewr-$momentvbr))

    ---------------------
    Derzeitige Leistung "102":889 kWh
    Derzeitige Leistung 0.889 kWh
    Momentaner Verbrauch "110":773 kWh
    momentaner Verbrauch 0.773 kWh
    ./solar-gpio2.sh: Zeile 11: -: Syntax Fehler: Operator erwartet. (Fehlerverursachendes Zeichen ist \"-\").

  • Ich kann mir das morgen mal genauer anschauen, die Fragen bitte noch beantworten:

    - Was willst du damit schalten? Also, was hängt an der Steckdose? Es macht wenig Sinn eine Waschmaschine anzuschalten wenn die Sonne 10 Sekunden voll drauf scheint, die Leistung hochschnellt und die Sonne danach für 3 Stunden hinter Wolken versinkt. Abgesehen davon, wenn du es sofort wieder ausschaltest, nachdem kein Überschuss da ist, würde das Gerät unsanft abgeschaltet. Da müsste man wissen was du da dranhängen willst ;)
    - Woher bezieht der Solarlog den Momentanverbrauch? Ist der HAUPTZÄHLER, also der Einspeise/Bezugszähler (gehe mal von kombiniertem 2-Richtungszähler aus), an dem Solarlog dran, oder sind das irgendwelche Scheinwerte die der Realität nicht enstprechen? Ich habe zumindest an keiner Anlage den Solarlog an den Hauptzähler geklemmt, immer nur an Zwischenzähler die nicht den wirklichen Verbrauch darstellen. (Ja ich bin "Solarteur" ;))

    Danach schaue ich mir den Code einmal an und könnte mit dir zusammen (und gerne anderen) etwas "entwerfen" :)

  • Hallo Jumpy,
    erst noch einmal einen schönen Dank,

    Zu der Frage was ich schalten möchte.
    1. Zentrale Ladestation für 3 Notebooks
    2. Heizstab (wenn es auch eine teure Art ist Energie zu nutzen).
    (Im Frühjahr und Herbst würde es bei uns Sinn machen, dort packt unsere Thermische Solaranlage es leider nicht ganz)
    (Paradigma CPC45)
    4. Ich hätte die Möglichkeit an Gabelstaplerbatterien zu kommen.
    Im Außengehege wäre dort noch Platz.:rolleyes:
    (Wirtschaftlich? Die Anlage ist von Ende 2012)
    5. Mein Wunschtraum. Einen Wasserstoffspeicher.
    Leider derzeit nur von Fronius zu erwerben und zur Zeit noch nicht bezahlbar.
    Für Camper gibts dieses schon: Firma Brunton, alles in klein.
    6. Ein Elektroauto, in den nächsten drei Jahren.

    Wenn Die Funktion da ist finde ich schon eine Anwendug.

    Der Momentanverbrauch errechnet sich aus dem momentanen Solarertrag - Bezug.

    siehe Bild



    Zum Zähler. Es ist ein Verbraucherzähler der nach dem Hauptzähler (zwei Richtung) installiert worden ist.

    Einmal editiert, zuletzt von Raibal (3. Mai 2015 um 22:04)

  • Alles klar, danke für die Auflistung.
    - Ob ein natürlich im Frühjahr und Herbst genügend Sonne da ist um den Rest elektrisch zu laden muss man dann mal sehen.
    - Mit Akkutechnik hatte ich noch nicht viel zu tun, eigentlich nur mit den Plug&Play Lösungen von SMA z.B. wo alles im WR integriert ist. Staplerbatterien sind glaube ich tickende Zeitbomben, hat schon einen Grund weswegen die Akkutechnik nicht auf sowas zurückgreift, bzw. sitzen da viele Leute die sich über die Sicherheit Gedanken machen, weiß nicht ob ein Privatmann sowas bauen sollte. Hab da schon so einiges im Keller stehen gesehen :P
    - Wasserstoffspeicher, sehr gut aber noch absolut unbezahlbar in größerer Ausführung. Aber in ein paar Jahren sicherlich auch für Privat rentabel.
    - Elektroauto ist natürlich das beste dafür :)

    So jetzt kommen wir zu dem anderen:
    Ich muss mal raussuchen (wenn das nicht auf Anhieb jemand anders hier weiß), wie man das in einer anderen Programmiersprache umsetzen könnte, wie z.B. Python, oder hast du eine bestimmte Vorliebe? Ist immerhin dein Projekt und du willst das ja sicherlich auch verstehen und evtl. anpassen können. Ich selber habe kaum was mit Bash gemacht und bin auch kein sonderlicher Freund davon, aber: Das wird nicht funktionieren, weil Bash im Grundprinzip keine Fließkommazahlen kann, also Integer erwartet. Man kann zwar mit Fließkomma rechnen, aber immer "umständlich". Da die Werte aber von Grund auf sowieso in Watt übergeben werden, kannst du ganz einfach mit den Wattzahlen rechnen und damit die Vergleiche anstellen. Wenn du sowas irgendwo loggen willst, was ich für den ersten Betrieb empfehle, kannst du das Logging immernoch in kW machen.

    Bei dir ist aber soweit ich das sehe der Fehler, dass ein Dollarzeichen zu viel vor der Rechnung ist. Variable = ($2/1000) sollte normalerweise funktionieren.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!