Da ich leider noch einen alten Ferraris-Zähler besitze musste ich mir was einfallen lassen
um auch diesen im meinem FHEM einbinden zu können.
Nach etwas googeln hab ich doch recht schnell paar Lösungsansätze gefunden, ich habe mich dann für die Variante mit einer Reflektionslichtschranke entschieden.
Was wird benötigt:
- Wemos D1 mini*
- TCRT5000 (Reflektionslichtschranke)*
- Ferraris-Stromzähler Pulse Counter Gehäuse oder ähnliches
- Abzweigdose*
Den Wemos D1 mini* habe ich in einer Abzweigdose* untergebracht und mit einen Kabel (was ich so noch liegen hatte) mit dem Sensor verbunden.
Der Aufbau:
Der Aufbau ist bei diesem Projekt recht simpel, wie man hier sieht.
Hier noch paar Bilder als Anregung wie man den Aufbau gestalten könne.
Die ESPEasy Config:
Unter Controllers muss FHEM HTTP angelegt werden:
Nun muss noch die Reflektionslichtschranke konfiguriert werden:
In FHEM:
In FHEM wird der Sensor dann über das espBridge Modul eingebunden, das dann so in etwa aussieht.
Die Definition wäre diese:
defmod HA.Sensor.Strom ESPEasy 192.168.0.103 80 espBridge HA.Sensor.Strom_EG_Rechts attr HA.Sensor.Strom IODev espBridge attr HA.Sensor.Strom Interval 0 attr HA.Sensor.Strom group ESPEasy Device attr HA.Sensor.Strom icon measure_power_meter attr HA.Sensor.Strom presenceCheck 1 attr HA.Sensor.Strom room 2.1_Sensoren,6.0_Haus
Jetzt bekommen wir zwar die die Impulse (Drehungen) der Drehscheibe, mit den können wir aber aber so noch nicht viel anfangen.
Daher habe ich mir mal wieder ein DOIF gebaut das mir die Impulse aufsummiert um diese dann in den Modul ElectricityCalculator weiter verarbeiten zu können.
Ich habe im DOIF noch eine Funktionalität konfiguriert um den Impulse zu entboucen, nämlich das wait 0:3 Attribut.
Das wait 0:3 Attribut bewirkt das der Zustand cmd_1 erst nach wieder nach 3 Sekunden nach der Auslösung wieder erreicht werden kann.
Die DOIF Definition wäre dann diese:
defmod HA.DOIF.Sensor.Strom DOIF ([HA.Sensor.Strom:Pulse] eq "on") \ (\ set $SELF TotalCount {(ReadingsVal("$SELF","TotalCount",0) + 1)}\ )\ DOELSE\ () attr HA.DOIF.Sensor.Strom icon helper_doif attr HA.DOIF.Sensor.Strom readingList TotalCount attr HA.DOIF.Sensor.Strom wait 0:3
Jetzt haben wir einen brauchbaren TotalCount den wir an den ElectricityCalculator übergeben können.
Um jetzt das ganze Modul hier zu erklären würden den Rahmen sprengen, was aber noch zu erwähnen ist wie sich der Wert für das Attribut ElectricityKwhPerCounts errechnet.
Hierfür müssen wir auf unseren Zähler schauen dort ist nämlich angeben wie viele Umdrehungen die Scheibe pro kWh macht.
Wie in meinen und wahrscheinlich auch den meisten Fällen macht die Scheibe 75 Umdrehungen pro kWh das macht dann die Rechnung 1/75 = 0.0133333333333333 .
Und schon haben wir unseren wer für das Attribut ElectricityKwhPerCounts.
Hier noch die Definition meines ElectricityCalculator:
defmod HA.Calculator.Strom ElectricityCalculator HA.DOIF.Sensor.Strom:TotalCount.* attr HA.Calculator.Strom BasicPricePerAnnum 119.00 attr HA.Calculator.Strom Currency € attr HA.Calculator.Strom ElectricityCounterOffset 46999.037 attr HA.Calculator.Strom ElectricityKwhPerCounts 0.0133333333333333 attr HA.Calculator.Strom ElectricityPricePerKWh 0.2998 attr HA.Calculator.Strom MonthOfAnnualReading 11 attr HA.Calculator.Strom MonthlyPayment 94.00 attr HA.Calculator.Strom ReadingDestination CalculatorDevice attr HA.Calculator.Strom SiPrefixPower W attr HA.Calculator.Strom room 6.0_Haus attr HA.Calculator.Strom userReadings Nachzahlung\ {\ if (ReadingsVal("$name","HA.DOIF.Sensor.Strom_TotalCount_FinanceReserve",0) < 0)\ {\ "true";;;;\ }\ else\ {\ "false";;;;\ }\ }
Dann viel Spaß beim nachbauen 😀
Mit * markierte Links sind Amazon ParnerNet Affiliate Links
17 Kommentare
Tim · 26. September 2020 um 10:07
Funktioniert die Installation auch bei totaler Dunkelheit ?
IdleBit · 14. Oktober 2020 um 19:04
Ja klar, da der Sensor mit seiner eigenen IR-Diode arbeitet.
SG · 22. April 2019 um 09:36
Hallo,
danke für diese Anleitung, funktioniert super! Benutze das Auslesemodul von stall.biz, damit habe ich keine Reflektionsprobleme.
Nun zu meiner Frage: Der ElectricityCalculator von FHEM schneidet Counts die innerhalb von 10 s kommen einfach weg, siehe auch die Commandref („Intervalle kleienr als 10s werden ignoriert um Spitzen zu verhindern die von Blockaden des fhem Systems hervorgerufen werden“).
–> Problem: Sollte mal mehr als 1/75*3600*1000/10=4800 W abgenommen werden (Beispiel: Herd mit 4 Platten komplett an), verpasst ElectricityCalculator mit dem hier diskutierten Ansatz etwas. Hat jemand eine Lösung? Die 10 s kann man (soweit ich gesehen habe) leider nicht verstellen. Möchte auch ungern mit meinem ESP die Counts sammeln und dann erst übergeben, da dann die Leistungsauswertung falsch wäre.
Danke Euch und viele Grüße!
Robert Schier · 17. Februar 2019 um 11:18
Hallo,
habe das gleiche Problem wie Michael (Scheibe reflektiert zu stark)
Hat da jemand schon eine Lösung gefunden?
Bevor ich da mit Werkzeug rangehe.
An sonsten funtioniert die Schaltung sehr gut!
Grüße,
Rob
Michael · 5. Januar 2019 um 20:02
Hallo,
habs nachgebaut und soweit echt super.
Leider reflektiert die Scheibe vom Zähler stark so das es nicht funktioniert. Hab am Poti gedreht das bringt nix.
Wie habt ihr das gemacht?
Grüße
mmn · 7. Dezember 2018 um 00:26
… dann geh ich’s mal an, ESPEasy ist bei mir auch seit einiger Zeit produktiv.
Ist schon faszinierend, daß eine pfiffige Lösung für unter 10EUR die 80EUR-Homematic-Variante ablösen kann ..
Deine Anleitung ist erste Klasse, auch von mir vielen Dank dafür.
Ana · 27. November 2018 um 13:04
Hallo Dennis,
wie genau errechnet man den ElectricityCounterOffset kannst du mir eventuell ein Bsp geben?
Danke
Shojo · 29. November 2018 um 22:18
Hi Ana,
der ElectricityCounterOffset ist die Differenz zu deinen echten Zählerstand.
Also [echten Zählerstand] – [****_CounterCurrent] = ElectricityCounterOffset.
Ana · 4. Dezember 2018 um 12:25
Dankeschön
Dominik · 8. November 2018 um 19:29
Hast du ein Bild wie du die Lichtschranke in das gedruckte Teil gezwängt hast?
Habe beides hier aber irgendwie würde ich das nie da hineinbekommen.
Shojo · 8. November 2018 um 19:44
Das habe ich jetzt so nicht, aber meine Fällt dort förmlich rein.
Dominik · 8. November 2018 um 19:45
Ah ich habs, habe das Falsche bestellt.
Dein Link führ hierhin:
https://www.amazon.de/AZDelivery-KY-033-Tracking-TCRT5000-Arduino/dp/B07CN8GX18/ref=as_li_ss_tl?ie=UTF8&qid=1537777488&sr=8-2&keywords=Tcrt5000&linkCode=sl1&tag=intvs140-21&linkId=df1dc9305be458f5cbe51d93c36784f7&language=de_DE
sollte aber eher hierhin führen.
https://www.amazon.de/dp/B07DRCKV3X/ref=psdc_1626220031_t1_B07CN8GX18
Shojo · 8. November 2018 um 19:47
Ich bekomme oben unter meinen Link die richtigen angezeigt o.O
Dominik · 8. November 2018 um 19:49
Hab jetzt auf jeden Fall den richtigen bestellt.:) Danke auf jeden Fall für die Anleitung.
Shojo · 8. November 2018 um 19:51
OK 🙂
Kannst ja (wenn noch nicht verlötet) die alten zurückschicken.
Oder für ein anderes cooles Projekt verwenden 😉
Gruß
Dennis
mmn · 6. Dezember 2018 um 13:09
Hallo Dennis,
kannst Du etwas zur Abweichung vom Sollwert im Laufe zur Zeit sagen ?
Ich habe seit ca. 1Jahr die bekannte Homematic-Lsg. im Einsatz und da habe ich es bisher nicht hinbekommen, daß sich kein Offset zw. Anzeige im FHEM und der Anzeige auf dem Zähler bildet. Das ist natürlich lästig. Ich weiß natürlich auch, das es dafür 1000 Gründe geben kann, habe aber die Abtastung selbst (Lesekopf, Ferraris-Scheibe, Glas dazwischen, …) im Verdacht.
Tritt sowas auch bei Deiner Lösung auf ? Ich überlege nämlich, Deine Lösung (auf Basis der mir sehr recht bekannten ESP’s) nachzubauen, falls der besagte Sensor gut funktioniert.
Gruß mmn
Shojo · 6. Dezember 2018 um 19:23
Moin mmn,
bis jetzt (ca. 5 Monate) habe ich noch keine Abweichung.
Wollen wir mal hoffen das es so bleibt
Gruß
Dennis