NEWS
Ferraris Zähler mit TCRT5000 und esp8266
-
@jmeister79 , das ist Quatsch. Der Counter zählt weiter. Da kann iobroker aus oder kein MQTT connected sein. Was machst du denn da? Man muss auch via Script anweisen was nach einem connect zu machen ist....die Ticks Unterschiede ermitteln.
-
// Stromzähler 1 on({id: 'mqtt.0.Zählerschrank.Stromzähler1.Total', change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("mqtt.0.Zählerschrank.Stromzähler1.Total").val > getState("mqtt.0.Zählerschrank.Stromzähler1.Variable1Total").val) { setStateDelayed("mqtt.0.Zählerschrank.Stromzähler1.Variable2Total"/*Variable2Total*/, (getState("mqtt.0.Zählerschrank.Stromzähler1.Total").val - getState("mqtt.0.Zählerschrank.Stromzähler1.Variable1Total").val), 500, false); setState("0_userdata.0.Zählerschrank.Stromzähler1.Aktueller Monat"/*Aktueller Monat*/, formatDate(new Date(), "OO", "de")); timeout3 = setTimeout(async function () { setState("0_userdata.0.Zählerschrank.Stromzähler1.Variable"/*Variable*/, (getState("0_userdata.0.Zählerschrank.Stromzähler1.Variable").val + getState("mqtt.0.Zählerschrank.Stromzähler1.Variable2Total").val)); timeout4 = setTimeout(async function () { setState("0_userdata.0.Zählerschrank.Stromzähler1.Zähler"/*Zähler*/, (getState("0_userdata.0.Zählerschrank.Stromzähler1.Zählerstand").val + Math.round((getState("0_userdata.0.Zählerschrank.Stromzähler1.Variable").val / 75)*100)/100)); timeout = setTimeout(async function () { setState("mqtt.0.Zählerschrank.Stromzähler1.Variable2Total"/*Variable2Total*/, 0); }, 7000); }, 2000); }, 2000); }
Das ist nur ein Beispiel für dich....da ist auch noch die Nachkommastelle und für dich eine nicht relevante Monatsfuniktion mit drin.
-
@menne Ja, klassischer Inkrementen Zähler, ich hatte zunächst mit der Count Variable gearbeitet und nicht das Inkrement wie Du im ioBroker durch Subtraktion gebildet. Die gehen dir dann flöten sobald Du mal keinen Kontakt hast.
Habe dann angefangen die Inkremente selebr zu Bilden aber theoretisch ist das auch keine Lösung, da der Absolutwert ja regelmäßig vollläuft und wieder bei Null anfängt.LG
Nils -
@jmeister79 , bei mir geht nichts flöten....mein System läuft seit Februar....und schon genügend die SSD ausgelesen, das dauert ca. eine halbe Stunde. Die Ticks werden nach dem Hochfahren wieder säuberlich hinzugefügt. Ich habe das nicht so gern, das ewig auf dem Eprom rumgerödelt wird....
Die 2. Zeitmessung ist in der neusten ESPeasy Version nötig.....und muss via Script angestossen werden, weil sich die Zeit sofort wieder Nullt. Also jetzt ignorieren....sonst gibt es keinen aktuellen Verbrauch mehr.
-
@menne hast du denn mal total im iobroker aufgezeichnet?
Bei mir gibt das n Sägezahn. Man sollte meinen, dass der immer bis zu einem bestimmten Wert läuft und dann auf 0 fällt. Leider tut er das total willkürlich..
Jedes Mal beim Nulldurchgang hätte ich ja Müllwerte, da das Inkrement dann riesig wäre, darum hatte ich mir gedacht dort dann auf das Inkrement auszuweichen aber das ist keine richtige Lösung.
Deshalb möchte ich ja gerne dieses Programm nutzen das @Eisbaeeer geschrieben hat. Das würde die Verbindung als Schwachstelle beseitigen. -
@jmeister79 , ich gehe eher davon aus, das du den Sensor nicht richtig positioniert hast..
Lies dir mal die Wiki über den Pulsecounter (ESPeasy) durch mit der Einstellung High oder Low....
Wenn die nicht 100% stimmt.....gehen dir Ticks verloren. Es geht zwar die LED Aus/Ein aber es findet keine Registrierung statt. Weil der Flag nicht stimmt.....
Ich habe schon Stunden im Keller verbracht, auch mit einer Kamera überwacht. Jetzt habe ich noch eine Abweichung von - 0,3 Kwh in der Woche....heute habe ich nochmal die Sensorposition geändert und zusätzlich mit Klebeband fixiert. Die Klebe Pads sind wohl nicht das ware....
Das Problem besteht aber nur bei dem Zähler, der auch mal gefordert wird. Der andere läuft extrem Stabil bei einer täglichen Last von ca. 41 - 47 Watt....7/24 -
Redet Ihr jetzt über Lösungen per ESPAesy?
Solche habe ich mehrfach implementiert und mit ESPHome (ioBroker Adapter verfügbar) geht das auch, vermutlich auch mit Tasmota. Mit ESPHome kann man noch 20kHz Impulse zählen mit einem ESP8266.
Habe dort was dazu geschrieben. -
@klassisch , hat das auch MQTT Import und eine OLED SSD1306/SH1106 Ansteuerung? Sonst ist das für mich unrelevant.
-
@menne Dieses Display scheint es auch für ESPHome und ESPEasy zu geben. Habe es aber weder da noch dort verwendet. Sowohl mein S0 Zähler als auch meine Wasserzähler kann man nach wie vor auch noch analog ablesen.
-
@klassisch , Merci.
Werde die Tage mein Zähler noch beobachten, dann werde ich mich mal in ESPHome einarbeiten..... -
[OT]
@menne sagte in Ferraris Zähler mit TCRT5000 und esp8266:dann werde ich mich mal in ESPHome einarbeiten.....
Es gibt einen ESPHome Adapter von @Dutchman. Wenn Dein ioBroker auf eine Linux Maschine läuft, instaliert der anscheinend alles automatisch. Ich habe Windows und da mußte ich esphome manuell installieren. Kein Thema, wenn man die passende python Version aktiv hat. Unter Windows gibt es allerdings das "Dashboard" nicht. Geht aber auch so. Konfiguriert wird in einer Sprache namens yaml, die das gleiche kann wie json, nur halt (unnötig) anders ist. Dann wird nur das Erforderliche auf den ESP geflasht. Dadurch erreicht man dann schlankere codes und höhere Arbeitsgeschwindigkeiten. Und zahlt mit einer reduzierten Konfiguriertbarkeit über den ESP Webserver.
-
@klassisch , schon installiert. Mein System läuft auf einem RPI 4....
-
@eisbaeeer komme seit gestern nicht mehr auf das webinterface drauf.... Ip gleich geblieben, alles online , nur kein interface mehr. Neu flashen wird wohl nix bringen denke ich
// Komisch am handy kappts nicht dafur am rechner klappts.... Ich nehme es zurück ... Aber trotzdem er hat in knppen 10 tagen 18 kw mehr gezählt...
-
Ich lese hier mit, kann aber derzeit nicht am Projekt weiterarbeiten. Ich denke in frühestens 3-4 Wochen.
Grüße Eisbaeeer -
@eisbaeeer
Kann man Deinen Ferraris_MQTT_Energy_Counter_Meter_TCRT5000 auch OTA in einen bestehenden Wemos D1 mit EspEasy flashen?
Oder ist initial die Arduino IDE zu nutzen?Gruß
Kai -
@w00dst0ck kannst du direkt flashen. Über OT A oder per upload.
-
@jmeister79 sagte in Ferraris Zähler mit TCRT5000 und esp8266:
Zur Zeit behauptet er, er könne webserver.h nicht finden
Konntest Du das Problem mit der webserver.h in der Arduino IDE lösen?
Komme hier leider auch nicht weiter.. -
@w00dst0ck Das wird mit der Arduino IDE nicht funktionieren! Die Webseite, die er nicht findet, wird dynamisch compiliert. Das kann Arduino IDE nicht. Du musst dafür VSCode verwenden damit das compiliert. Gruß Eisbaeeer
-
@eisbaeeer
Na dann schaue ich mal, ob ich mit VSCode weiter komme.
Die Hinweise unter https://github.com/Eisbaeeer/Ferraris_MQTT_Energy_Counter_Meter_TCRT5000#steps-to-get-running sind dann allerdings veraltet.Kann es sein, dass in dem beigefügten \binary\firmware.bin noch nicht auf D5 umgestellt ist? Oder liegt es eher daran, dass das binary für ein anderes Board kompiliert wurde?
Hab sie zwar OTA aufspielen können, aber im Gegensatz zum bisher verwendeten ESPEasy wurden keine Impulse gezählt.Aber was ich schon sehen konnte, gefällt mir sehr gut!
-
@w00dst0ck Oh sorry. Ja der Part ist veraltet. Wichtig ist auch, nach dem Installieren von VSCode die Schritte vom Framework zu machen. Das ist in der Anleitung vom Framework beschrieben. Das muss zwingend gemacht werden, sonst compiliert er die Webseite nicht. Also nur 1. Und 2 ist nötig!
Bei Fragen einfach melden!
Gruß Eisbaeeer