[Stromzähler (Ferraris)] Smart machen für unter 10€ mit ioBroker und NodeMCU [Tutorial] [HD]

  • Danke für die Info.
    Wenn das Zeug da ist, werde ich testen.
    Das dauert aber noch mindestens 20 Tage

    Gesendet von meinem SM-N915FY mit Tapatalk

    Raspberrymatic 3.41.11.20181126 auf Tinkerboard S, Reservesystem auf Tinkerboard, 80 Aktoren und Sensoren, IObroker auf Beebox I5 mit 8GB-RAM, 120GB-HDD, viele Xiaomi-Sensoren, Xiaomi [definition='70','0']Roborock[/definition] I,

  • Javascript (statt Blocky) zur Auswertung des Stromzählers.

    Unterschiede zu den bisher hier geposteten Skripten

    1.) Geflasht mit ESP-Easy mega (aktuelle Version Stand 25.06.2018)

    2.) Es wird nicht Count benutzt, sondern Total. Dafür gibt es 2 Gründe. Ersterer ist, daß count bei 2 Senderintervallen gleich sein kann; dann würde der Trigger auf Änderung nicht greifen. Zweitens kann es Aussetze bei MQTT geben, oder Neustart des ESP, oder oder. Also findet die DIfferenzberechnung aufgrund des TotalCOunter statt.

    So sieht dann die Config aus:

    schimmer-media.de/index.php?attachment/3204/


    Da ich zumeist mit virtuellen Geräten arbeite hier erstmal das Skript um so ein Gerät anzulegen.

    Das müßte ggfs. auf die eigenen Bedürfnisse angepaßt werden.

    Der Wert "total" kann dabei angepaßt werden und sollte auf den aktuellen Zählerstand gesetzt werden.


    Nun das Skript zum Auswerten der Counter des Wemos am Stromzähler:

    Zu guter letzt sollte man noch die StartVariablen für total und den Start von Jahr/Monat/Woche/Tag setzen.

    "total "ist dabei der aktueller Zählerstand.

    "start_year" der Start des Jahres (sollte in letzter Rechnung stehen).

    "start_month", "start_week" und "start_today" muß man in etwa schätzen.

    Das Skript dazu kann nach Ausführung deaktiviert oder gelöscht werden; die Werte sind Beispielhaft.

    Code
    const device = 'HWR_Stromzähler';
    const namespace = 'virtualDevice.Sonstiges.'+device;
    
    setState(namespace+'.total', 10000, true);
    setState(namespace+'.start_today', 99992, true);
    setState(namespace+'.start_week', 99977, true);
    setState(namespace+'.start_month', 99701, true);
    setState(namespace+'.start_year', 98200, true);

    MfG Markus

  • Sehr schön 8)

    Einen Tipp hätte ich aber noch: ich würde den Strompreis noch zentral in einen Datenpunkt packen. Somit hast du nur eine Stelle die du ändern musst, sämtliche Skripte haben sofort den aktuellen Preis, nebst VIS usw.

    Solange dies dein einziges Skript mit dem Strompreis bleibt ist die Änderung noch überschaubar.

    Wenn du dann aber x Stellen z.B in der VIS hast, y Skripte und z Pows usw. wirst du wahnsinnig jeden Quelltext zu durchsuchen und zu ändern (wenn du dann überhaupt an alle denkst ^^ ).

    Die letzten Worte vor dem Weltuntergang: "...das ist technisch völlig unmöglich..."

    aktuelle Projekte: <<< Magic Mirror +++ RMS +++ Wetterstation +++ Somfy Fernbedienung >>>

  • Viele dank dafür. Habe deine Skripte bei mir eingefügt. Nur irgendwie gehen die kWh nicht hoch, obwohl per MQTT Daten gezählt werden.

  • War mein Tipp richtig ... Es liegt an der Gross- und Kleinschreibung .. das ist wichtig bei den Skripten....

    In der ESP config fangen die Werte mit Großbuchstaben an ... In meinem Skripten mit Kleinbuchstaben .... Also im Skript die mqtt Werte entsprechend anpassen ... oder auf dem ESP selber, dann also "Count" durch "count" ersetzen, und "Total" durch total ....

    Auf jeden Fall müssen die Werte im mqtt-Adapter auf jeden Fall den MQTT-Werten aus dem Skript entsprechen; mit der ganzen Groß- und Kleinschreibung.

    Einmal editiert, zuletzt von spackmack (27. Juni 2018 um 21:36)

  • War mein Tipp richtig ... Es liegt an der Gross- und Kleinschreibung .. das ist wichtig bei den Skripten....

    In der ESP config fangen die Werte mit Großbuchstaben an ... In meinem Skripten mit Kleinbuchstaben .... Also im Skript die mqtt Werte entsprechend anpassen ... oder auf dem ESP selber, dann also "Count" durch "count" ersetzen, und "Total" durch total ....

    Auf jeden Fall müssen die Werte im mqtt-Adapter auf jeden Fall den MQTT-Werten aus dem Skript entsprechen; mit der ganzen Groß- und Kleinschreibung.

    Ah, ok. Super danke, jetzt geht es :thumbup::thumbup:

  • War mein Tipp richtig ... Es liegt an der Gross- und Kleinschreibung .. das ist wichtig bei den Skripten....

    In der ESP config fangen die Werte mit Großbuchstaben an ... In meinem Skripten mit Kleinbuchstaben .... Also im Skript die mqtt Werte entsprechend anpassen ... oder auf dem ESP selber, dann also "Count" durch "count" ersetzen, und "Total" durch total ....

    Auf jeden Fall müssen die Werte im mqtt-Adapter auf jeden Fall den MQTT-Werten aus dem Skript entsprechen; mit der ganzen Groß- und Kleinschreibung.

    Also bei Total wird jetzt gezählt, aber beim Today Zähler und bei den anderen wird nichts gezählt, muss noch irgendwas angepasst werden?

  • nruesch

    Neben den Schreibfehler bei "usage_yesterdeay" hatte ich noch 2 Fehler beim Pushover-Senden; falls Du das überhaupt nutzt.

    Das wären dann folgende Änderungen:

    Code
    var costsWeek = price * usageLastWeek;
            var msgWeek = 'Der Stromverbrauch in der letzten Woche betrug ' + usageLastWeek + ' kWh. ';
            msgWeek = msgWeek + 'Die Kosten dafür betragen ' + costsWeek + ' EUR.';
    Code
    var costsMonth = price * usageLastMonth;        
            var msgMonth = 'Der Stromverbrauch im letzten Monat betrug ' + usageLastMonth + ' kWh. ';
            msgMonth = msgMonth + 'Die Kosten dafür betragen ' + costsMonth + ' EUR.';

    Wenn Total richtig gezählt wird, dann sollten auch die anderen Werte für "usage*" richtig gerechnet werden.

    Vorausgesetzt immer, Du hast die Zählerstände "start_*" auch richtig eingegeben, auch wenn nur geschätzt.

    Alle Berechnung für "usage*" finden nämlich auf Grundlage vom total-Wert ab, wovon der jeweilige Start-Wert abgezogen wird.

    MfG Markus

  • Ah, jetzt gehts. Nochmal danke ^^

  • Danke für die Info.
    Wenn das Zeug da ist, werde ich testen.
    Das dauert aber noch mindestens 20 Tage

    Gesendet von meinem SM-N915FY mit Tapatalk

    WO hast du bestellt ?

    Gearbest liefert viele Dinge (die man hier benötigt) ja leider nicht nach Deutschland.

  • Gearbest liefert eigentlich fast alles nach Deutschland.

    Hab aber die Erfahrung gemacht, daß manchmal ein Vergleich zwischen Banggood, GearBest und ebay gut tut. Gerade bei ebay sind viele China-Verkäufer unterwegs, die auch nach Deutschland verschicken. Und das teilweise günstiger als Banggood oder Gearbest.

    Noch günstiger wird es, wenn man einen VK nimmt, der keinen kostenlosen Versand anbietet, dafür aber nur einmal Versandkosten berechnet. Bei kostenlosem Versand, sind die Versandkosten nämlich immer schon im Preis drin. Bestellt man dan bei einem VK z.B. 10 Artikel, hat man dadrin schon 10 mal Versandkosten drin. Daher entweder bei einem VK kaufen, der extra Versand ausweist, oder nachfragen, ob der bei kumulierter Bestellung Versandrabatt gewährt.

    MfG Markus

  • Nicht wirklich. Dafür brauchst du den aktuellen Stromfluss, den gibt der Zähler aber so nicht her.

    Du kannst ihn nur ungefähr berechnen anhand der Dauer für eine Umdrehung der Scheibe. Das spiegelt aber nie den aktuellen Wert wieder.

    Die letzten Worte vor dem Weltuntergang: "...das ist technisch völlig unmöglich..."

    aktuelle Projekte: <<< Magic Mirror +++ RMS +++ Wetterstation +++ Somfy Fernbedienung >>>

  • Wenn du den Verbrauchszähler, statt mit einem Sonoff basic mit z.B. einem M3, WMEMO o.ä. aufbaust,

    könntest du mit einem, induktiven Stromwandler über den Analog Eingang den aktuellen Stromverbrauch

    bzw. auch die Leistung anzeigen lassen;)

    Was nicht passt wird passend gemacht ! :D

    Es giebt immer verschiedene Wege zum Ziel, man muß sie nur finden;)

  • Das dürfte aber nicht ganz billig und einfach werden:

    3x Sensor (selbst mit 30A noch ~8,-€)

    Dann braucht es aber auch drei Analogeingänge (+ keine Ahnung ob mit einem Port-Expander Tasmota/ESPEasy zurecht kommt? ).

    Ich überlege schon die ganze Zeit, wie genau die Berechnung eigentlich ist?

    Wenn der Zähler 75 Umdrehungen pro kWh braucht, wäre das eine Auflösung von ~13,3 Wh pro Umdrehung. Über die Zeit die er nun für die Umdrehung braucht kann ich die aktuelle Leistung berechnen.

    Wenn er jetzt bspw. 60 Sekunden für eine Runde braucht, würden das 798 Watt entsprechen.

    Damit zeigt sich aber auch der Nachteil: je weniger Strom verbraucht wird >>> desto länger braucht es für eine Runde >>> desto "ungenauer" ist die Anzeige

    Sie ist natürlich schon genau, nur eben nicht so ganz aktuell...

    Also Gerät einschalten ("elektrische Zahnbürste") und sofort sehen was es verbraucht ist nicht. Man muss immer einen Augenblick warten, oder das Teil zieht so viel, dass der Zähler "rast" ^^

    Die letzten Worte vor dem Weltuntergang: "...das ist technisch völlig unmöglich..."

    aktuelle Projekte: <<< Magic Mirror +++ RMS +++ Wetterstation +++ Somfy Fernbedienung >>>

  • An und für sich sollte ein Wandler, für einen normalen Haushalt reichen, wenn man den Wandler in den N hängt ;)

    Was nicht passt wird passend gemacht ! :D

    Es giebt immer verschiedene Wege zum Ziel, man muß sie nur finden;)

  • Stimmt auch wieder ^^

    Bin ja kein Elektriker und weiß nicht was Standard ist, habe aber auch nur 63 Ampere, da würde der 100er dicke genügen :)

    Die letzten Worte vor dem Weltuntergang: "...das ist technisch völlig unmöglich..."

    aktuelle Projekte: <<< Magic Mirror +++ RMS +++ Wetterstation +++ Somfy Fernbedienung >>>

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!