Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| de:tech:powermeter [2021/01/21 08:05] – [SO Signal] bullar | de:tech:powermeter [2026/08/12 12:15] (aktuell) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Zeile 6: | Zeile 6: | ||
| Ein Verfahren ist direkt in den Verteiler einen Drehstromzähler einzubauen. Die gibt unter anderem [[https:// | Ein Verfahren ist direkt in den Verteiler einen Drehstromzähler einzubauen. Die gibt unter anderem [[https:// | ||
| - | {{ : | + | {{ :media:tech:solarvilla: |
| Der Elektriker des Vertrauens hilft beim Einbau in den Sicherungskasten, | Der Elektriker des Vertrauens hilft beim Einbau in den Sicherungskasten, | ||
| Zeile 13: | Zeile 13: | ||
| ===== S0 Signal ===== | ===== S0 Signal ===== | ||
| - | Die erste Aufgabe ist das S0 Interface auszuwerten und dann im heimischen WLAN für die Auswertung zur Verfügung zu stellen. Schauen wir uns dazu mal das S0 Signal an, was einem Drehstromzähler kommt: | + | Die erste Aufgabe ist das S0 Interface auszuwerten und dann im heimischen WLAN für die Auswertung zur Verfügung zu stellen. Schauen wir uns dazu mal das S0 Signal an, was von einem Drehstromzähler kommt: |
| - | {{ : | + | {{ :media:tech:powermeter: |
| - | Es kommt also ein Impuls | + | Es kommen |
| '' | '' | ||
| Zeile 26: | Zeile 26: | ||
| ===== Aufbau ===== | ===== Aufbau ===== | ||
| - | Will man mit eigenen Projekten ins WLAN so bietet sich immer erst ein Blick auf die ESP8266 Module. | + | Will man mit eigenen Projekten ins WLAN so bietet sich immer erst ein Blick auf die ESP8266 Module |
| - | {{ : | + | {{ :media:tech:ut71: |
| - | Eine der einfachsten ist ein ESP-07 mit der Open-Source Firmware [[https:// | + | Eine der einfachsten |
| Doch zuerst zum elektrischen und mechanischen Aufbau. Der Schaltplan ist sehr übersichtlich und ähnelt dem [[de: | Doch zuerst zum elektrischen und mechanischen Aufbau. Der Schaltplan ist sehr übersichtlich und ähnelt dem [[de: | ||
| - | {{ : | + | {{ :media:tech:powermeter: |
| Die internen Pullups versorgen den Optokoppler im Drehstromzähler und so lässt sich der Impuls an den jeweiligen Pins erkennen. Die Dioden D1-D3 dienen nur dem Verpolungsschutz und sind nicht unbedingt nötig. | Die internen Pullups versorgen den Optokoppler im Drehstromzähler und so lässt sich der Impuls an den jeweiligen Pins erkennen. Die Dioden D1-D3 dienen nur dem Verpolungsschutz und sind nicht unbedingt nötig. | ||
| Natürlich kann man die S0 Leitungen auch direkt an das Modul anschliessen und umgeht so die Platine mit einer Freiverdrahtung. Für meine Lösung habe ich allerdings ein PCB erstellt. | Natürlich kann man die S0 Leitungen auch direkt an das Modul anschliessen und umgeht so die Platine mit einer Freiverdrahtung. Für meine Lösung habe ich allerdings ein PCB erstellt. | ||
| - | {{ : | + | {{ :media:tech:powermeter: |
| - | {{ : | + | {{ :media:tech:powermeter: |
| Der Anschluss der S0 Leitungen erfolgt über Schraubklemmen. Die Spannungsversorgung ist auch steckbar mit einer 5.5/2.1mm Hohlbuchse. Hierzu findet man sehr preiswerte Steckernetzteile mit stabilisiertem 3.3V Gleichspannungsausgang. Mehr drahtgebundene Konnektivität benötigt das PowerMeter nicht. | Der Anschluss der S0 Leitungen erfolgt über Schraubklemmen. Die Spannungsversorgung ist auch steckbar mit einer 5.5/2.1mm Hohlbuchse. Hierzu findet man sehr preiswerte Steckernetzteile mit stabilisiertem 3.3V Gleichspannungsausgang. Mehr drahtgebundene Konnektivität benötigt das PowerMeter nicht. | ||
| Zeile 45: | Zeile 45: | ||
| Mit einem 3D Drucker lässt sich dann noch ein unauffälliges Gehäuse verwirklichen was man leicht mit doppelseitigen Klebeband ausserhalb des Sicherungskastens befestigen kann. | Mit einem 3D Drucker lässt sich dann noch ein unauffälliges Gehäuse verwirklichen was man leicht mit doppelseitigen Klebeband ausserhalb des Sicherungskastens befestigen kann. | ||
| - | {{ : | + | {{ :media:tech:powermeter: |
| - | {{ : | + | {{ :media:tech:powermeter: |
| - | ===== Programmierung ===== | + | ===== Programmierung |
| Nachdem die Hardware erstellt ist müssen wir noch das ESP Modul programmieren. Wir schon erwähnt basiert das PowerMeter auf [[https:// | Nachdem die Hardware erstellt ist müssen wir noch das ESP Modul programmieren. Wir schon erwähnt basiert das PowerMeter auf [[https:// | ||
| Zeile 63: | Zeile 63: | ||
| ==== Controler Setup ==== | ==== Controler Setup ==== | ||
| + | In meinem Fall sende ich die Daten zur Aufzeichnung und Auswertung an meinem [[https:// | ||
| + | Um den aktuellen Verbrauchswert zum Beispiel auf einem Panel (ich nutze [[https:// | ||
| === HTTP === | === HTTP === | ||
| + | Die grauen Stellen sind die Anonymisierung der Hosts und der UUID des Volkszählers. Dort dann einfach die eigenen Werte eintragen. Natürlich kann mann auch jedes andere Format senden. An den Wert kommt man mit '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | {{ : | ||
| === MQTT === | === MQTT === | ||
| + | |||
| + | Jetzt wählen wir MQTT aus und tragen die entsprechende Daten ein. Dazu gehören u.a. die IP Adresse des MQTT Servers sowie die Account Daten für die Anmeldung. Das Resultat sollte ähnlich dem folgenden Beispiel aussehen. Hier ist nur die IP des eigenen MQTT Servers anonymisiert und muss entsprechend angepasst werden. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | |||
| ==== Hardware Setup ==== | ==== Hardware Setup ==== | ||
| Auf diesem Reiter müssen wir nur die Pull-Ups an den verwendeten Eingängen einschalten. | Auf diesem Reiter müssen wir nur die Pull-Ups an den verwendeten Eingängen einschalten. | ||
| - | {{ : | + | {{ :media:tech:powermeter: |
| ==== Device Setup ==== | ==== Device Setup ==== | ||
| Zeile 78: | Zeile 91: | ||
| Als nächstes brauchen wir ein Device was den Zeit zwischen den Pulsen misst und speichert. Das lässt sich über den Reiter Devices erreichen. Für jeden S0 Input braucht es ein eigenes Device. Hier ist wie in meiner Lösung nur eins gezeigt. | Als nächstes brauchen wir ein Device was den Zeit zwischen den Pulsen misst und speichert. Das lässt sich über den Reiter Devices erreichen. Für jeden S0 Input braucht es ein eigenes Device. Hier ist wie in meiner Lösung nur eins gezeigt. | ||
| - | {{ : | + | {{ :media:tech:powermeter: |
| Die grünen Zahlen rechts geben übrigens die aktuellen Messwerte wieder. In dem Beispiel liegt die Zeit bei 25991ms was einem Verbrauch von 138.5 Watt entspricht. | Die grünen Zahlen rechts geben übrigens die aktuellen Messwerte wieder. In dem Beispiel liegt die Zeit bei 25991ms was einem Verbrauch von 138.5 Watt entspricht. | ||
| - | Hier die Einstellungen für das den Pulse Counter: | + | Hier die Einstellungen für den Pulse Counter: |
| - | {{ : | + | {{ :media:tech:powermeter: |
| ==== Rules ==== | ==== Rules ==== | ||
| Zeile 98: | Zeile 111: | ||
| Bei jedem beendeten Messintervall wird das berechnete Ergebnis an den MQTT Server geschickt. | Bei jedem beendeten Messintervall wird das berechnete Ergebnis an den MQTT Server geschickt. | ||
| + | ===== Programmierung (ESPHome)===== | ||
| + | Das PowerMeter lässt sich auch einfach über [[https:// | ||
| + | |||
| + | <code yaml> | ||
| + | esphome: | ||
| + | name: powermeter | ||
| + | |||
| + | esp8266: | ||
| + | board: esp01_1m | ||
| + | |||
| + | # Enable logging | ||
| + | logger: | ||
| + | |||
| + | # Enable Home Assistant API | ||
| + | api: | ||
| + | encryption: | ||
| + | key: " | ||
| + | |||
| + | ota: | ||
| + | password: " | ||
| + | |||
| + | wifi: | ||
| + | ssid: !secret wifi_ssid | ||
| + | password: !secret wifi_password | ||
| + | |||
| + | # Enable fallback hotspot (captive portal) in case wifi connection fails | ||
| + | ap: | ||
| + | ssid: " | ||
| + | password: " | ||
| + | |||
| + | captive_portal: | ||
| + | |||
| + | time: | ||
| + | - platform: sntp | ||
| + | id: my_time | ||
| + | |||
| + | sensor: | ||
| + | - platform: pulse_counter | ||
| + | pin: | ||
| + | number: GPIO14 | ||
| + | inverted: true | ||
| + | mode: | ||
| + | input: true | ||
| + | pullup: true | ||
| + | unit_of_measurement: | ||
| + | name: 'Power Meter Flat' | ||
| + | id: powermeter_flat | ||
| + | internal_filter: | ||
| + | filters: | ||
| + | - multiply: 0.06 # (60s/1000 pulses per kWh) | ||
| + | |||
| + | - platform: total_daily_energy | ||
| + | name: "Total Daily Energy" | ||
| + | power_id: powermeter_flat | ||
| + | </ | ||
| + | |||
| + | Anstatt die Zeit zwischen den Pulsen zu messen wird hier die Anzahl der Pulse pro Zeiteinheit gezählt. | ||
| ===== Fazit ===== | ===== Fazit ===== | ||
| + | |||
| + | Das PowerMeter läuft jetzt bei mir seit mehr als einem Jahr ohne Probleme und übermittelt die Daten. Ein typischer Verbrauchsverlauf sieht so aus (Screen shot aus meinem [[https:// | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Die Peaks sind unter anderem der Backofen, der Herd und der Wasserkocher. Die regelmässigen Pulse kommen von der Kühl/ | ||
| + | |||
| + | |||
| + | |||
| ===== Downloads ===== | ===== Downloads ===== | ||
| - | * {{| Schaltplan}} | + | * {{: |
| - | * {{| Bestückungsliste (BOM)}} | + | * {{: |
| - | * {{| Eagle File (.brd)}} | + | * {{: |
| - | * {{| Gehäuse (.stl)}} | + | * {{: |