Wie kann ich einige S0-Zähler mit fhem auf einer Fritz!Box 7390 auslesen?

Begonnen von Christian., 03 Juni 2013, 15:29:39

Vorheriges Thema - Nächstes Thema

Christian.

Zusammenfassung

Das Problem ist gelöst und in einem Wiki-Artikel beschrieben.
Wer lieber in diesem Forum bleiben möchte und nur an der Lösung und nicht an der Historie interessiert ist, dem empfehle ich als Einstieg Post #107.




Hallo fhem-Gemeinde,

ich möchte zunächst mich und mein Anliegen kurz vorstellen.

Zu meiner Person: Ich bin habe Erfahrung mit Softwareentwicklung (Java), mit Hardware-Basteleien habe ich aber eigentlich nichts am Hut. Ich besitze einen Lötkolben, von dem ich aber nur unter zwingenden Umständen Gebrauch mache. Ich bin ein Freund offener Systeme und Schnittstellen, deshalb ist mir fhem mit seinem 'integrativem' Charakter sehr sympatisch.

Zum Projekt: Ich möchte mit wenig Aufwand, wenig Kosten und wenig stromhungriger Hardware in die Hausautomation einsteigen, mir dabei aber nichts für zukünftige Projekte verbauen. Konkret geht es darum, meinen Sicherungskasten um einige (ich denke derzeit so an 5) Stromzähler zu ergänzen, um einige Stromkreise meines Haushaltes zu überwachen. Ich habe preiswerte Exemplare zwischen 15€ und 30€ mit LC-Display (Swissnox und Konsorten) gesehen; die bringen eine S0-Schnittstelle mit. Ich betreibe eine Fritz!Box 7390 und habe die über die AVM-Homepage die aktuelle Laborversion samt fhem installiert. Ich suche nun einen Weg, die Stromzähler auszulesen und die Zählerstände zu loggen. Die Fritz!Box steht in der Nähe des Verteilerkastens und könnte per Kabel verbunden werden.

Ich habe einige Stunden mit Web-Recherche verbracht und sehe folgende Möglichkeiten:
1.a) S0-Sensor von ELV (ESA1000-WZ-S0 oder S0-Sensor für ESA2000 oder EM 1000-HSM) mit Funksender 868MHz
1.b) CUL (oder alternativ CUNO) von busware.de als Funkempfänger per USB in die 7390
Kosten: 20€ (S0-Zähler) + 40€ (Sender) = 60€ je Zähler, zusätzlich einmalig 50€ (CUL); für 5 Zähler also 350€.

2.a) 1-Wire Zählermodul von eservice-online für 2 S0-Zähler
2.b) 1-Wire-Busmaster-USB-Stick von eservice-online (oder alternativ CUNO) per USB in die 7390
Kosten: 20€ (S0-Zähler) + 50€/2 (Sender) = 45€ je Zähler, zusätzlich einmalig 40€ (Busmaster); für 5 Zähler also 265€.

3.a) SD0-Erweiterung für 4 S0-Zähler an einem Raspberry Pi von busware.de
3.b) Raspberry Pi (anstelle der Fritz!Box)
Kosten: 20€ (S0-Zähler) + 70€/4 (Sender) = 37,50€ je Zähler, zusätzlich einmalig 50€ (Raspberry Pi); für 5 Zähler also theoretisch 200€.
Problem: nur 4 Zähler möglich

4) AVR Net-IO mit 4 digitalen Eingängen für je einen S0-Zähler; per USB oder LAN an die 7390
Kosten: 20€ (S0-Zähler) je Zähler, zusätzlich einmalig 30€ (Net-IO); für 5 Zähler also theoretisch 130€.
Problem: nur 4 Zähler möglich

5) Arduino Mega2560 mit 54 digitalen Eingängen für je einen S0-Zähler; per USB an die 7390
Kosten: 20€ (S0-Zähler) je Zähler, zusätzlich einmalig 30€ (Arduino); für 5 Zähler also 130€.

Mein klarer Favorit ist Option 5, weil es die günstigste Lösung ist und viele Möglichkeiten für die Zukunft bietet. Da ich aber noch überhaupt keine Erfahrung habe, bitte ich euch um eine Einschätzung. Ist etwas falsch? Habe ich etwas übersehen? Was denkt ihr?

Christian
Raspberry Pi 3 mit FHEM; Arduino Nano mit ConfigurableFirmata (S0-Stromzähler); nanoCUL (MAX!); SIGNALduino (RXB6, 433 MHz); eBus; RS485 & D0 (SolarView); DVB-T (Thermo-/Hygrometer); Z-Wave; ZigBee

jodamm

Hallo Christian,
Ich bin gerade dabei einen Arduino Uno an einen S0 Zähler anzuschliessen. Angefangen hat es damit das mein EM1010PC immer mal wieder Empfangsprobleme hat. Da ich noch einen 868MHz Empfänger hier liegen hatte, habe ich mir gedacht, ich bastel endlich mal was damit. Der Arduino gibt sich dabei als CUL aus und gibt die empfangenen Pakete an FHEM weiter, die dann mit dem CUL_EM Modul ausgewertet werden. Dieser Teil funktioniert schon, jetzt soll aber noch ein S0 Zähler angeschlossen werden. Ich habe vor die Auswertung der Impulse im Arduino zu machen und dann alle 5 Minuten eine Nachricht zu senden, die wie die von einem EM1000 Sensor aufgebaut ist. Dann brauche ich nichts in FHEM anzupassen und das sollte dann auch mit der FB funktionieren. Ob das so klappt, wie ich mir das vorstelle, werde ich wohl erst gegen Ende der Woche rausfinden. Wenn es funktioniert, lässt sich das sicher auch auf 5 Zähler erweitern.

Joachim

Christian.

Hallo Joachim,

danke für die Info. Nachdem keine Reaktion auf meinen Eintrag kam, habe ich inzwischen selbst Hand angelegt und ein kleines Arduino-Skript sowie ein passendes FHEM-Modul geschrieben. Im Arduino-Sketch geht das Signal wahlweise per Interrupt ein oder wird über Polling (Busy Waiting) abgefragt; daraus berechne ich die Dauer und sende sie an die serielle Schnittstelle. Das FHEM-Modul wird automatisch beim Eintreffen von Daten aktiv und wandelt die Dauer in eine passende Einheit, z.B. Kilowattstunden, um. Ich werde das Ergebnis hier veröffentlichen, wenn ich fertig bin.
Raspberry Pi 3 mit FHEM; Arduino Nano mit ConfigurableFirmata (S0-Stromzähler); nanoCUL (MAX!); SIGNALduino (RXB6, 433 MHz); eBus; RS485 & D0 (SolarView); DVB-T (Thermo-/Hygrometer); Z-Wave; ZigBee

Christian.

Eine weitere Möglichkeit:

6.a) USB/Serial-Adapter mit 1 Leitung für einen S0-Zähler
6.b) USB-Hub, z.B. 13-Port
Kosten: 20€ (S0-Zähler) + 10€ (Adapter) = 30€ je Zähler, zusätzlich einmalig 15€ (USB-Hub); für 5 Zähler also theoretisch 165€.
Raspberry Pi 3 mit FHEM; Arduino Nano mit ConfigurableFirmata (S0-Stromzähler); nanoCUL (MAX!); SIGNALduino (RXB6, 433 MHz); eBus; RS485 & D0 (SolarView); DVB-T (Thermo-/Hygrometer); Z-Wave; ZigBee

Christian.

#4
Ich habe mich für Möglichkeit 5, die Anbindung über einen Arduino, entschieden. Meine Erfahrungen und die entstandene Software möchte ich hier mit Euch teilen.

Da die notwendige Software teils auf dem Arduino und teils in fhem läuft, habe ich mir zunächst Gedanken über die Aufteilung gemacht. Ich denke, die Hauptarbeit sollte in fhem und nicht auf dem Arduino laufen. Zum einen dürfte die CPU der Fritz!Box leistungsstärker sein als der ATmega-Prozessor des Arduino; zum anderen darf der Arduino nicht lange beschäftigt sein, um keine Signale zu verpassen.

Arduino
Hier läuft hier das kleine Programm impcount, das auf digitalen Ports lauscht, beim Anliegen eines Signals die Dauer seit dem vorigen Signal berechnet und diese auf die serielle Schnittstelle schreibt.

Das Lauschen könnte über Polling ("Busy Waiting") implementiert werden, d.h. das Programm prüft regelmäßig, ob ein Signal anliegt. Der Arduino kennt aber auch das Konzept von Interrupts: damit wird automatisch beim Anliegen eines Signals eine Funktion aufgerufen. Interrupts gibt es nur für ausgewählte Pins, die von der Arduino-Hardware abhängen. Ich habe mich für einen Mega2560 entschieden, dieser erlaubt 6 Interrupt-Pins. Die kleineren Modelle haben 2, beim Modell Due sind alle Pins Interrupt-fähig.

Das Programm impcount verwendet Interrupts, sofern der Zähler an einem dafür geeigneten Pin angeschlossen ist. An allen anderen Pins wird per Busy Waiting verfahren. Wenn man nicht mehr Zähler anschließen möchte als Interrupt-Pins zur Verfügung stehen, kann man natürlich die loop()-Funktion auch anderweitig nutzen.

fhem
Jetzt müssen die Werte von der seriellen Schnittstelle noch in fhem eingelesen werden. Ich habe folgende Module gefunden, die mir hilfreich erscheinen.

ECMD
Mit ECMD habe ich es geschafft, die Daten vom Arduino abzufragen. Ich war damit aber nicht ganz zufrieden, weil ECMD für "Request/Response-like communication" gedacht ist. Das heißt, fhem muss regelmäßig aktiv Werte vom Arduino abfragen. Dieses Vorgehen ist völlig in Ordnung, wenn ein Sensor dauerhaft einen Wert liefert, wie z.B. ein Thermometer. Für Impulssignale passt es aber leider nicht, weil man zur richtigen Zeit abfragen müsste. Man kann natürlich die Daten auch auf dem Arduino zwischenspeichern; das Programm dort wird dadurch aber komplexer, und man muss sich dann auch um Pufferüberläufe kümmern, auf dem seriellen Port lauschen, etc.

WHR962
Im Foreneintrag zum Modul WHR962 habe ich gelernt, dass man wohl auch in FHEM automatisch auf das Eintreffen von Daten über die serielle Schnittstelle reagieren kann. Ich habe das Modul als Vorlage genommen und möchte an dieser Stelle herzlich beim Autor, Joachim, für die Veröffentlichung bedanken.

IMPCOUNT
Mit Hilfe von WHR962 habe ich ein Modul namens IMPCOUNT geschrieben, das auf meinen Anwendungsfall passt; es ist so weit verallgemeinert, dass es auch für andere impuls-basierte Zähler verwendet werden kann. Es passiert eigentlich nicht viel: die Werte des Arduino werden gepuffert, auf Wunsch umgerechnet und gespeichert. Details zur Implementierung sind im Modul dokumentiert.

Konfiguration
Was jetzt noch fehlt, sind ein paar Einträge in der fhem.cfg und Skript zum Zeichnen von Diagrammen namens my_impcount.gplot.

Ich habe alle notwendigen Dateien an diesen Beitrag angehängt; darunter ist auch ein Arduino-Sketch zum Testen namens s0_dummy_sender. Es gibt in regelmäßigen Abständen zufällige Werte aus, sodass das fhem-Modul IMPCOUNT auch ohne S0-Zähler getestet werden kann.


Hinweis: impcount hat ein neues Zuhause.



Da das hier meine ersten Erfahrungen mit fhem und Arduino sind, bin ich dankbar für Feedback und Verbessungsvorschläge. Vielleicht macht es inzwischen auch Sinn, diesen Beitrag in ein anderes Unterforum zu verschieben.
Raspberry Pi 3 mit FHEM; Arduino Nano mit ConfigurableFirmata (S0-Stromzähler); nanoCUL (MAX!); SIGNALduino (RXB6, 433 MHz); eBus; RS485 & D0 (SolarView); DVB-T (Thermo-/Hygrometer); Z-Wave; ZigBee

Christian.

ZitatHallo Christian,

ich habe Deine Ausführungen über die Einbindung von mehreren s0-Zählern mit Interesse gelesen.

Ich selber habe die Forums-fhem-Version auf einer Fritzbox 7390 laufen. Über eine HM-Lan-Schnittstelle werden verschiedene Devices(Raumthermostate, Heizkörperventile, Drehgriff- und Fensterkontakte) mit fhem überwacht und gesteuert. Über eine 1-wire-Busmaster-Schittstelle habe ich Thermometer zu Testzwecken eingebunden, da ich bis zu Ihren Ausführungen noch die Vorstellung hatte, über den 1w-Bus mehrere Verbrauchszähler in fhem einzubinden und die geloggten Daten in eine log-Datei schreiben zu lassen. Zurzeit logge ich die Impulse über eine USB-Serielle-Schnittstelle(solarview@Fritzbox von Michael Richter). Hier ist aber das gleiche Problem wie beim AVR-Net, es können nur bis zu 4 s0-Zähler geloggt werden. Auch habe ich bereits mehrfach und stundenlang im Internet nach einer preiswerten, fertigen Lösung gesucht. Bin aber bisher nicht fündig geworden. Zwischenzeitlich hatte ich auch schon an einen Raspberry PI gedacht, aber gemäß Ihrer Aussage ist der auch auf 4 s0-Schnittstellen begrenzt.
Nun lese ich das Sie mehrere s0-Schnittstellen über den Arduino Mega 2560 auslesen. Ich habe wie Sie keine Erfahrung mit Hardwarebasteleien, ich besitze nicht mal einen Lötkolben. Auch Erfahrung im Schreiben von Software ist nicht vorhanden, daher benötige entsprechende Unterstützung bei meiner Herausforderung.
Ich möchte im ersten Schritt 4 s0-Wechselstromzähler und 3 Reed-Kontakte loggen, d.h. bei jedem Impuls der jeweiligen s0-Schnittstelle und Reed-Kontakt benötige ich nur einen Zeitstempel. Dieser Zeitstempel, der einen Impuls repräsentiert, soll für jede Schnittstelle in eine log/csv-Datei gespeichert werden. Diese log-Datei soll von 0 bis 24 Uhr geschrieben werden, anschließend beginnt ein neuer tag. Während des Schreibens bzw. danach kann diese Datei mit fhem bzw. Excel ausgewertet werden. Ich bin der gleichen Meinung wie Sie, dass die Auswertung der Impulse extern erfolgen sollte und den Arduino nur für die Überwachung der Pins einsetzen sollte. Da ich mehr als 6 Zähler einsetzen möchte, ist wohl der Arduino Due die richtige Wahl.

Für mich ergeben sich nunmehr folgende Fragen.
1. Wieviele s0-Schnittstellen können an den Arduino 2560 angeschlossen werden?
2. Ist es sinnvoll Pins über polling zu überwachen oder mittels einer Interrauptfunktion die Impulse zu loggen?
3. Wie sind die Ausgänge der s0-Zähler und Reddkontakte(jeweils 2 Draht) auf den Arduino anzuschließen?
4. Wie wird der Arduino an die Fritzbox angeschlossen, mittels Lan oder USB?
5. Ist der Arduino noch zu programmieren?
6. Wie ist Ihr Programm für 6, 7 oder 8 s0-Schnittstellen zu verändern und wie muß das Programm bezgl. der einzeln zu schreibenden log-Dateien geändert werden?
7. Wie ist die Programmierung auf den Arduino zu installieren?

Sollte das mit mehreren s0-Schnittstellen auf einem Arduino möglich sein ist m.E. ein Counter(DS2423 bzw. eine Softwarelösung) nicht mehr notwendig und ich kann den 1w Bus nur für Temperaturmessungen einsetzen.
Dein Vorhaben klingt meinem ganz ähnlich. Das sollte aus meiner Sicht machbar sein.

ZitatIch möchte im ersten Schritt 4 s0-Wechselstromzähler und 3 Reed-Kontakte loggen, d.h. bei jedem Impuls der jeweiligen s0-Schnittstelle und Reed-Kontakt benötige ich nur einen Zeitstempel. Dieser Zeitstempel, der einen Impuls repräsentiert, soll für jede Schnittstelle in eine log/csv-Datei gespeichert werden.
Meine Implementierung schreibt pro Zähler und Tag eine Log-Datei. Neben dem Zeitstempel wird auch noch der Stromverbrauch ausgegeben. Das passt also.

ZitatDa ich mehr als 6 Zähler einsetzen möchte, ist wohl der Arduino Due die richtige Wahl.
Das würde auch gehen. Das Modell Due hat den Vorteil, dass alle Pins Interrupt-fähig sind. Es ist aber zu beachten, dass die Betriebsspannung 3,3V statt 5V beträgt.

ZitatZwischenzeitlich hatte ich auch schon an einen Raspberry PI gedacht, aber gemäß Ihrer Aussage ist der auch auf 4 s0-Schnittstellen begrenzt.
Diese Aussage kann ich so allgemein formuliert nicht stehen lassen: da der Pi ein vollständiger Computer ist, kann man ihn sicher auch so erweitern, dass man mehr als 4 Signale anschließen kann. Meine Aussage bezieht sich auf ein Modul, dass bereits fertig im Internet bezogen werden kann. Möglicherweise gibt es hier noch Alternativen. In Summe dürfte ein Pi mit Zubehör teurer sein als die Arduino-Variante.

Zu Deinen Fragen:
  • Das Modell Mega 2560 hat 52 digitale Pins. Ich habe jetzt nicht alle durchprobiert, aber theoretisch sollten die alle auch für S0-Schnittstellen nutzbar sein. Wenn Du den Arduino für andere Zwecke um sog.
Shields erweitern möchtest, benötigen die je nach Shield einige davon.
  • Das hängt von mehreren Faktoren ab. Grundsätzlich ist die Programmierung ohne Interrupts einfacher. Der Arduino kann aber keine Aufgaben parallel ausführen. Er kann also entweder einen Pin auf ein Signal hin abhören oder ein Signal verarbeiten. Während er mit der Verarbeitung beschäftigt ist, bekommt er nichts von neuen Signalen mit. Es können also Signale verlorengehen, wenn
    • die Verarbeitung sehr lang dauert,
    • die Anzahl der Impulse sehr hoch ist,
    • die Dauer der Impulse sehr kurz ist.
    Diesem Problem kann man mit Interrupts begegnen. Wenn ein Gerät an einem Interrupt-fähigen Pin angeschlossen ist und man eine sog. Interrupt Service Routine (ISR) dafür angegeben hat, wird die Verarbeitung sofort unterbrochen, sobald ein Signal anliegt. Dann wird die ISR ausgeführt. Wenn während der Ausführung einer ISR ein weiterer Interrupt auftritt, wird dieser gepuffert und anschließend durchgeführt. Der Puffer ist nur begrenzt groß, d.h. theoretisch können auch hier Signale verloren gehen.
    Die gute Nachricht: in meinen Tests waren all diese Überlegungen irrelevant. Die Impulsdauer meiner Stromzähler beträgt ca. 60ms. Das ist eine Menge Zeit, viel länger als die Verarbeitung für alle Pins zusammen dauert. Deshalb würde ich für meinen Anwendungsfall auch ohne Interrupts auskommen.
  • Der Stromzähler hat zwei Kontakte, S0+ und S0-. S0+ wird mit einem digitalen Pin des Arduino verbunden, S0- mit Masse. Reed-Kontakte habe ich nicht im Einsatz, da wird es aber vermutlich ähnlich sein.
  • Ich habe mich für USB entschieden, weil ich dafür kein Ethernet-Shield für den Arduino kaufen musste. Es wäre übrigens auch denkbar, stattdessen über Ethernet zu kommunizieren. Das Arduino-Programm müsste dafür nur minimal angepasst werden. Ich kann aber nicht sagen, wie es mit der automatischen Benachrichtigung des FHEM-Moduls IMPCOUNT durch den FHEM-Kern aussieht.
  • Auf den Arduino muss das Programm impcount.ino hochgeladen werden.
  • Im aktuellen Zustand wird eine Log-Datei pro Pin und Tag erstellt. Für weitere Pins sind folgende Änderungen notwendig.
    Arduino: In der Liste der S0-Pins (Zeile 51 in impcount.ino) müssen alle zu überwachenden Pins eingetragen werden. Der Inhalt der Liste "10, 2, 3, 17, 18" ist ein Beispiel für 5 Zähler. Für 3 weitere Zähler an den Pins 19, 20 und 21 wäre die Zeile zu erweitern inconst byte          S0_PINS[] = { 10, 2, 3, 17, 18, 19, 20, 21 };
  • FHEM: Für jeden Pin <P> wird die FHEM-Konfiguration fhem.cfg erweitert umdefine log_arduino_pin_<P> FileLog /var/log/fhem/arduino-pin-<P>-%Y-%m-%d.log impulse_counter:(set|id-<P>).*
    attr log_arduino_pin_<P> room Arduino
    Beispiel für ein Gerät an Pin 19:define log_arduino_pin_19 FileLog /var/log/fhem/arduino-pin-19-%Y-%m-%d.log impulse_counter:(set|id-19).*[/list]
  • Das geht mit der Arduino-Software. Ich habe die Software installiert und danach den Arduino per USB an den PC angeschlossen. Unter Windows musste ich dann den USB-Treiber installieren, der im Arduino-Software-Verzeichnis unter drivers liegt. Danach kann man die Software starten und das Programm impcount.ino öffnen. Im Menü unter Tools / Serieller Port muss jetzt der Anschluss ausgewählt werden (es sollte nur einen geben). Dann kann man das Programm per Knopfdruck hochladen. Über den Menüpunkt Tools / Serial Monitor kann man nun sehen, wie die Signale eingehen.[/list]
    Raspberry Pi 3 mit FHEM; Arduino Nano mit ConfigurableFirmata (S0-Stromzähler); nanoCUL (MAX!); SIGNALduino (RXB6, 433 MHz); eBus; RS485 & D0 (SolarView); DVB-T (Thermo-/Hygrometer); Z-Wave; ZigBee

    fhainz

    Hallo!

    Ich bin auch schon länger auf der suche nach einer Möglichkeit meinen Stromverbrauch mitzuloggen. Das mit dem 1-phasigen S0 Zählern (amazon < 20€) und der arduino mega ist wirklich eine günstige Möglichkeit.  Mein Problem ist das mein Raspi, auf dem fhem läuft, nicht in der nähe des Verteiler ist. Gibts eine möglichkeit das ganze via wlan zum raspi zu übertragen?

    Grüße

    Puschel74

    Hallo,

    Andere Möglichkeit (so hab ichs bei mir gelöst - zwar mit einem AVR-NET-IO aber das sollte egal sein):

    Der Arduino benötigt ein Netzteil für die Spannungsversorgung
    Der Zähler ist doch im Verteilerkasten
    Der RasPi benötigt ein Netzteil für die Spannungsversorgung
    (das war jetzt nur rhetorisch ^^)

    Im Zählerkasten vom Elektriker seines Vertrauens einen devolo Hutschienenadapter (3-phasig) installieren lassen und eine Hutschienen-Steckdose (gibt es relativ günstig).
    Auf den Adapter (3-phasig) kann zur Not auch verzichtet werden da die 3 Phasen mit viel Glück auch das Signal einkoppeln können.
    Die Signalübertragung wird durch diesen Adapter aber auf alle Fälle besser.
    Am RasPi einen devolo dLan500 davor stecken und das Netzwerkkabel in den dLan-Adapter und den Arduino (bei vorhandenem Hutschienenadapter) die Spannungsversorgung über die Hutschienensteckdose abgreifen und am devolo-Adapter das Netzwerkkabel anschliessen, oder (bei verzicht auf den Hutschienenadapter) an der Hutschienensteckdose ebenfalls einen dLan500 nehmen und dort das Netzwerkkabel des Arduino dran.

    Vorteil des dLan Hutschienen-Adapters:
    Man hat auf einen Schlag an jeder Steckdose im Haus, Garten, Garage, Dachboden, sprich an jeder Steckdose die von diesem Zählerkasten abgenommen wird Netzwerkzugriff per dLan-Adapter.
    Der Zähler "sperrt" die Signale nach aussen und wenn nicht kann man am dLan-Netzwerk immer noch die Verschlüsselung einschalten.
    Dann können sich nur authorisierte Geräte anmelden.

    Ich betreibe über einen devolo dLan 500 tripple unseren Fernseher, Blue-Ray-Player und MediaPlayer im Schlafzimmer.
    Ein Stream von unserer Netzwerkfestplatte im Keller ist locker drin und auch maxdome in HD läuft einwandfrei.
    Anders hätte ich keinen Netzwerkanschluss in unser Schlafzimmer bekommen.

    Mein AVR-NET-IO hängt auf der Terrasse an einer Aussen-Steckdose mit einem dLan-Adapter und liefert mir brav die Bodenfeuchte der Sensoren an den Haupt-RasPi-FHEM im Obergeschoss.
    Ein RasPi hängt im Heizraum an so einer dLan-Steckdose, sammelt die Temperaturen von 3 I2C-Sensoren und kümmert sich um die Datenbank.
    Das alles läuft einwandfrei.

    Nur mal so als Gedankenstoss.

    Grüße

    Edith: Was ich noch erwähnen wollte.
    Vom Hutschienenadapter im Zählerkasten geht bei mir ein Netzwerkkabel direkt an den Switch und dieser ist per Lan mit dem Router verbunden.
    Zotac BI323 als Server mit DBLog
    CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
    Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

    fhainz

    Hallo!

    An die Powerline Dinger hab ich noch gar nicht gedacht. Gute Idee um lan in den Verteiler/Sicherungskasten zu bekommen. Verstehe ich das richtig, ich kauf mir einen dLAN 200 AVplus an den stöpsle ich das LAN Kabel vom Router dran. An das Hutschienen Modul kommt dann ein lan kabel zum arduino mit ethernet shield. Da brauch ich die Hutschienen Steckdose nicht.
    Kann das so klappen?

    nusselt

    Hallo Christian,

    vielen Dank für die zügige Beantwortung meiner Fragen. Ich denke, daß damit meine Herausforderung bei entsprechender Umsetzung gelöst sein sollte.

    Aufgrund Deiner Ausführung (alle digitalen Pins sollten theoretisch für s0 nutzbar sein, Pins für Shields werden nicht benötigt) werde ich mich wohl für einen Arduino 2560 entscheiden.

    Ob ich die Signale der Schnittstellen mittels polling oder Interrupt-Routine verarbeite, muß ich noch entscheiden. Nur einen Zeitstempel zu vergeben und diesen in eine Datei zu schreiben, dürfte dem Arduino kaum Zeit kosten.

    Die Anzahl der eingehenden Impulse ist auch nicht sehr hoch (Wasseruhr= 1 Imp/ltr, Gaszähler= 1 Imp/100 ltr, 4 Wechselstromzähler(B+G)= 1.000 Imp/kWh). Die Dauer der Impulse liegt bei den Wechslstromzählern bei ca. 90 ms. Für die Reedkontakte ist mir nur die Schaltzeit bekannt und liegt bei ca. 1ms. Ich denke mir, daß das Abhören der Pins mittels polling somit möglich sein sollte.

    Für die  D0-Schnittstelle(SMA für Hager ehz)= 10.000 Imp/kWh. Wie kann ich diese Schnittstelle mit dem Arduino auslesen?

    Der Anschluß an eine USB-Schnittstelle z.B. Fritzbox 7xxx kommt mir gelegen, da dann die Spannungsversorgung der Schnittstellen nicht extern erfolgen muß.

    Das Deine log-Dateien pro PIN und Tag erstellt werden, entspricht meinen aktuellen log-Dateien (s.a. Datei). Die Auswertung meiner aktuellen log-Dateien erfolgt mit Excel (s. a. Beispiel).

    Mit Deiner Lösung sollte es mir nun möglich sein alle meine Schnittstellen abzufragen und meine Verbräuche wie gewohnt täglich, monatlich und jährlich grafisch darzustellen.

    Ich werde mir jetzt den Arduino Mega 2560 bestellen, alle Schnittstellen anschließen, die Software ergänzen, anpassen und anschließend aufspielen.

    Bei Fragen werde ich mich wieder wie gehabt hier im Forum melden und wenn dann alles geklappt hat, werde ich berichten.








    Puschel74

    Hallo,

    ZitatdLAN 200 AVplus an den stöpsle ich das LAN Kabel vom Router dran

    Ich hab diese Variante nicht im Einsatz - bei meinem Bruder funktioniert das aber (mehr schlecht als recht auch über alle 3 Phasen).

    ZitatAn das Hutschienen Modul kommt dann ein lan kabel zum arduino mit ethernet shield.

    Genau so.

    ZitatDa brauch ich die Hutschienen Steckdose nicht.

    Hätte den Vorteil das du den Sicherungskasten wieder zumachen kannst (also die Tür).
    Oder wo steckst du das Netzteil für den Arduino ein?

    Was evtl. auch noch gehen würde (das muss ich mal versuchen).
    Den Router per dLan-Adapter ans Stromnetz bringen.
    Im Sicherungskasten einen dLan-Adapter und einen Hutschienenadapter montieren und beide per Netzwerkkabel verbinden.
    Der Router sendet das Signal über den dLan-Adapter per Stromnetz in den Sicherungskasten (logischerweise) - von dort über den dLanAdapter an den Hutschienen-Adapter und der koppelt das Signal auf alle 3 Phasen.
    Ich vermute dann aber Probleme mit anderen dLan-Adaptern die an der selben Phase hängen wie der Router-dLan-Adapter da die das Signal dann zweimal bekommen.
    Aber Versuch macht kluch ^^

    Grüße

    P.S.: So eine Hutschienen-Steckdose ist nie verkehrt im Sicherungskasten ;-)
    Ich hab 2 davon im Haupt-Sicherungskasten im Keller und jeweils eine in den Etagen-Sicherungskästen.
    Ja. Ich bin Elektriker und hab lieber dreimal etwas zuviel als auch nur einmal zuwenig ^^
    Zotac BI323 als Server mit DBLog
    CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
    Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

    justme1968

    noch ein denkanstoss falls es mit netzwerk und usb im sicherungkasten aus irgendeinem grund nicht geht (so wie bei mir :): nimm einen panstamp und mach es per funk. zur not sogar ohne hutschinen steckdose per batterie.

    habs grad eben probehalber mal zusammengesteckt (Link) und er zählt munter vor sich hin. grad zwar nur eine 50 watt birne aber immerhin :)

    (siehe Anhang / see attachement)


    gruss
      andre

    mit den dlan teilen habe ich beim mir nur so bescheidene erfahrungen gemacht das das sie direkt wieder zurück gegangen sind. und nur zum zählen wären die mir auch zu teuer.
    hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

    https://github.com/sponsors/justme-1968

    Puschel74

    Hallo,

    @nusselt

    ZitatDer Anschluß an eine USB-Schnittstelle z.B. Fritzbox 7xxx kommt mir gelegen, da dann die Spannungsversorgung der Schnittstellen nicht extern erfolgen muß.

    Das würde ich etwas vorsichtig betrachten.
    Eine externe Spannungsversorgung für USB-Geräte ist nie verkehrt.

    Ich kann nur von meienr Erfahrung sprechen.
    Laut Spezifikation darf am USB-Port 500 mA bezogen werden (USB3.0 evtl. auch höher meine ich wenn es unterstütz wird).

    USB-Festplatten haben gerne mal ein "Doppel"-USB-Kabel beiliegend um 2 Ports anzapfen zu können.
    Selbst an manchen Mainboards habe ich USB-Festplatten nur ans laufen gebracht nachdem ich einen aktiven Hub angeschlossen hatte.

    Daher würde ich die FritzBox evtl. nicht unnötig mehr belasten als notwendig.
    Es kann klappen - muss aber nicht.
    Besser einen billigen aktiven USB-Hub dazwischen und du hast deine Ruhe.

    justmy2cents

    Grüße
    Zotac BI323 als Server mit DBLog
    CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
    Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

    Puschel74

    Hallo,

    @andre

    Kannst du kein Netzwerkkabel in den Sicherungskasten bringen oder warum geht das bei dir nicht?

    Wie gesagt - ich versuch mal die Variante mit
    vom Router per dLan-Adapter über Strom in den Sicherungskasten und dann per Hutschienenadapter auf die restlichen 2 Phasen.
    Voraussetzung dafür: der dLanAdapter am Router und im Sicherungskasten hängen an der selben Phase.

    Grüße

    Edith: Ok, grad deinen ganzen Beitrag gelesen ^^
    Also mit den devolo-Dingern habe ich bisher (bei mir und meinem Bruder) nur gute Erfahrungen gemacht.
    Wie gesagt - Fernseher dran und HD-Stream von maxdome klappt einwandfrei.
    Zotac BI323 als Server mit DBLog
    CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
    Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

    fhainz

    Zitat von: Puschel74 schrieb am Sa, 29 Juni 2013 20:01Was evtl. auch noch gehen würde (das muss ich mal versuchen).
    Den Router per dLan-Adapter ans Stromnetz bringen.
    Das hab ich vorher gemeint.

    Zitat von: Puschel74 schrieb am Sa, 29 Juni 2013 20:01Im Sicherungskasten einen dLan-Adapter und einen Hutschienenadapter montieren und beide per Netzwerkkabel verbinden.
    Koppelt der Hutschienenadapter nur das Signal auf alle 3 Phasen? Oder kann man davon auch ein Lan Signal abgreifen?

    Zitat von: Puschel74 schrieb am Sa, 29 Juni 2013 20:01P.S.: So eine Hutschienen-Steckdose ist nie verkehrt im Sicherungskasten ;-)
    Ich hab 2 davon im Haupt-Sicherungskasten im Keller und jeweils eine in den Etagen-Sicherungskästen.
    Ja. Ich bin Elektriker und hab lieber dreimal etwas zuviel als auch nur einmal zuwenig ^^
    Bin auch Elektriker/Verteilerbauer (ich kenn das mit den reserven ;) ) aber ich baue größere Anlagen. Kann ich ein z.B. ein altes Netzteil anstecken (für die Spannungsversorgung) und die Türe geht trotzdem noch zu? Hab das bisher noch nie ausprobiert