S0 über Arduino an VZ möglich?

  • Hallo,


    ich bräuchte eure Einschätzung, ob folgendes Vorhaben möglich ist.
    Ich möchte einen E-Verbraucher über einen Energiezähler mit S0-Schnittstelle protokollieren.
    Aktuell lese ich diese S0-Schnittstelle mit einem Arduino aus, und speichert die Daten (Anzahl der Impulse) alle 15 Minuten auf eine integrierte SD-Karte.


    Was mir noch fehlt, ist ein Frontend zur grafischen Aufbereitung der Messwerte.
    Ich habe schon das Tutorial für VZ auf Apache unter Windows gesehen.
    Da ich in meinem Netzwerk einen 24/7 Windows7-Rechner immer am Laufen habe, würde ich gerne den Weg gehen, die vom Arduino geloggten Impulse alle x Minuten an den "Server" zu senden, die Daten werden dann von der VZ-Software in einem File gespeichert und können über eine Oberfläche grafisch ausgewertet werden. (Ethernet-Schnittstelle hat der Arduino bereits)


    Wäre das grundsätzlich möglich?
    Eigentlich würde es doch reichen, wenn ich der VZ-Software alle x Minuten ein definiertes "Telegramm" mit den geloggten Impulsen sende, oder? Dazu habe ich aber noch nichts auf der sehr umfangreichen Volkszähler Webseite gefunden.


    Danke vorab für eure Antworten.
    Gruß/hk007

  • Hast du Ethernet am Arduino?


    Wenn ja könntest du direkt die Komandos im JSON Format an den VZ senden.
    http://wiki.volkszaehler.org/development/api/reference


    Wenn nicht - kannst du den Arduino per USB an die serielle Schnittstelle des Rechners hängen und dort via Script alle x Minuten über einen cronjob den Arduino abfragen. Der Arduino sendet dann die Anzahl der Impulse zurück.
    Bist du etwas versiert beim Programmieren?


    Oder direkt über die serielle Schnittstelle:
    http://wiki.volkszaehler.org/h…controllers/s0-an-rs232?s[]=s0&s[]=schnittstelle

    24x Hareon 235, Kostal Piko 5.5, 24x Hareon 240, Fronius Symo 5.0, volkszaehler, open EVSE (Arduino), Open Energy Meter (Arduino)

  • Hi martingraml
    danke für deine Antwort.


    Zitat von martingraml

    Hast du Ethernet am Arduino?


    Yep, hab ich geschrieben :P


    Zitat von martingraml


    Wenn ja könntest du direkt die Komandos im JSON Format an den VZ senden.
    http://wiki.volkszaehler.org/development/api/reference


    Ich glaub, das ist genau das, was ich brauche. Bin jetzt mal oberflächlich drüber. Auf Anhieb zwar noch nicht so schlau geworden, aber man kann sich ja einlesen.


    Evtl. ist das ja schon was ich suche.

    Code
    Messwerte loggen
    Mit dieser Operation ist es möglich Pulse oder Messwerte für einen Kanal zu loggen.
    Beispiel:
    POST http://demo.volkszaehler.org/middleware.php/data/550e8400-e29b-11d4-a716-446655441352.json?ts=1284677961150&value=12


    Seh ich das richtig, dass dies ein "Telegramm" von meinem Arduino zum "Server" sein könnte, mit dem ich die Anzahl der Impulse übergeben könnte?
    Timestamp: Da müsste ich dann mit dem Arduino wieder einen NTP-Server anzapfen. Aber der Parameter wäre ja optional.


    Gruß/hk007

  • Beim Arduino brauchst du quasi nur den http:\..... ohne den post glaube ich.
    wenn du den richtigen Kanal eingerichtet hast (Counter) dann kannst du mit diesem Befehl die Anzahl Counts übergeben.
    Die Zeit ist Optional, ich würde nicht den Arduino Zeit nehmen, ausser du hast RTC (real time clock) weil sonst wie bei mir nach einem Stromausfall eine falsche Zeit eingetragen und dann der volkszähler das natürlich falsch anzeigt. Beim Windows Rechner hat man immer die richtige Zeit.
    http://demo.volkszaehler.org/m…46655441352.json?value=12
    Du kannst das im Browser auch probieren, einfach eingeben und wenn es die richtige UUID ist kommt eine Meldung ohne Fehler. Weiß gerade nicht mehr wie die genau aussieht.

    24x Hareon 235, Kostal Piko 5.5, 24x Hareon 240, Fronius Symo 5.0, volkszaehler, open EVSE (Arduino), Open Energy Meter (Arduino)

  • martingraml


    In deiner Signatur steht, dass du auch "open energy meter mit arduino" nutzt. Das ist ja so was ähnliches. Ich steh noch am Anfang. Welches Projekt (Volkszähler <-> open energy monitor) würdest du bevorzugen?


    Ich möchte einen (später evtl. mehrere) S0-Zähler auf einem Windows-Rechner protokollieren, und die Daten grafisch abrufen können. Grafen über einen Tag, Woche, Monat, Jahr wären schön.

  • Momentan habe ich noch den Stromzähler des Energieversorgers angezapft, bin aber gerade dabei diesen durch einen Arduino basierenden Smart Meter zu ersetzten. Dazu verwende ich die Idee von Strom- und Spannungsmessung von Open Energy Meter. Abrufen werde ich die Daten von Arduino mit der seriellen Schnittstelle wie beim Stromzähler. Ich sende /?! an den Arduino und der sendet 1.7.0(0.447*kW) - wie mein jetziger Zähler.


    Volkszähler läuft bei mir auf einem Raspberry und ich finde es für die grafische Aufbereitung sehr gut.
    Für das Smartphone gibt es von andi eine Implementierung von Emon CMS, die ganz gut ausschaut.
    Ausserdem ist das Forum und die Entwicklersprache deutsch, somit bevorzuge ich vz.

    24x Hareon 235, Kostal Piko 5.5, 24x Hareon 240, Fronius Symo 5.0, volkszaehler, open EVSE (Arduino), Open Energy Meter (Arduino)

  • Hi,


    ich hab jetzt mal den Volkszähler auf meinem Windows PC mit Apache und MySql installiert. Dank der Anleitung in den FAQs ging das relativ problemlos. Sonst hätte ich das nie auf die Reihe bekommen. :danke:
    Ich konnte nur nicht die Demodaten importieren, da ist er mir immer abgeschmiert. :(


    Dann hab ich mal einen Kanal erstellt, und per Rest-Plugin mittels Firefox Daten an die API übergeben.
    Und man glaubt es nicht, es ist sogar eine plausible Grafik erschienen :D:D:D
    Jetzt nur noch meinem Arduino bespassen, und fertig.



    Mein Fazit:
    Von der Funktion genau das was ich brauche. Allerdings ist einiges zu installieren, bis das Gebilde mal steht.
    Die API-Schnittstelle trifft mein Vorhaben genau auf den Punkt.


    Ich frag mich nur, wieso die UUID so kryptisch sein muss? Mann hab ich gesucht wo ich die wieder finde, nachdem ich einen Kanal angelegt habe, und den String nicht mehr in der Zwischenablage hatte.


    gruß/hk007

  • Die UUID ist deswegen so kryptisch, da der öffentliche Server auch genutzt werden kann. Und wenn man seine Daten nicht öffentlich haben möchte, ist es mit dieser langen UUID sehr unwahrscheinlich, dass diese jemand findet.
    Es gibt zwei möglichkeiten die UUID wieder zu finden:
    - Erstens in der MySQLDatenbank
    - Zweitens man definiert beim anlegen über das Frontend die Kanäle als öffentlich, dann kann man sie Kanal hinzufügen -> öffentliche Kanäle ins Fronend holen.
    Neben dem Kanal ist ein i-Symbol, hier wird die UUID angezeigt.


    lg
    Martin

    24x Hareon 235, Kostal Piko 5.5, 24x Hareon 240, Fronius Symo 5.0, volkszaehler, open EVSE (Arduino), Open Energy Meter (Arduino)

  • Für den Raspberry gibt es fix fertige Images, da ist es relativ einfach hier den vz aufzusetzen.
    lg
    Martin

    24x Hareon 235, Kostal Piko 5.5, 24x Hareon 240, Fronius Symo 5.0, volkszaehler, open EVSE (Arduino), Open Energy Meter (Arduino)

  • Hi,


    ich hab mir jetzt mal beide (Volkszähler und emoncms) etwas genauer angeschaut.


    Also: emoncms ist schon sehr viel variabler in der Gestaltung. V.a. mit dem dashboard hat man einige Möglichkeiten.
    Von da her gefällt mir das System eigentlich um einiges besser.
    Auch die Speicherung der Daten aus der Datenbank in "normale" Dateien finde ich nicht schlecht.
    Allerdings ist es m.E. etwas buggy. Mit der aktuellen Version (8.3.2) konnte ich gar keine Kanäle erstellen. Erst ein undokumentierter Tip aus dem Forum hat mir nach tagelangem Suchen weitergeholfen. Wobei das Forum (englischsprachig) nicht allzu stark frequentiert ist. Irgendwie bin ich mir mit der Software ziemlich allein gelassen vorgekommen.
    Allerdings, wenns mal läuft...


    Mal schauen, wofür ich mich dann entscheide