Hallo zusammen.
Habe heute endlich meinen Leistungzähler mit S= Schnittstelle und nem WEMOS D1 mini mit EPSEasy in Betrieb genommen.
Dank des ESPEasy Moduls von dev0 funktioniert die Übertragung wunderbar.
Jetzt Habe ich da ein Paar Fragen.
Hier ein List mit den Readings.
IDENT strom_WaMa
INTERVAL 300
IODev espBridge
LASTInputDev espBridge
MSGCNT 481
NAME PowerWamDry
NOTIFYDEV global
NR 389
NTFY_ORDER 50-ESPEasy_strom_WaMa
PORT 80
STATE Cou: 0.00 Tim: 689984.00 Tot: 8.00
SUBTYPE device
TYPE ESPEasy
VERSION 0.81
espBridge_MSGCNT 481
espBridge_TIME 2017-02-05 18:41:01
Readings:
2017-02-05 18:41:01 Count 0.00
2017-02-05 18:41:01 Time 689984.00
2017-02-05 18:41:01 Total 8.00
2017-02-05 18:40:32 presence present
2017-02-05 18:41:01 state Cou: 0.00 Tim: 689984.00 Tot: 8.00
Helper:
fpc 1486304286
Intat:
1:
FN ESPEasy_statusRequest
INTERVAL 302
TRIGGERTIME 05.02.2017 18:45:34
Received:
Count 1486316461
Time 1486316461
Total 1486316461
Attributes:
IODev espBridge
Interval 300
group ESPEasy Device
presenceCheck 1
readingSwitchText 1
room ESPEasy
setState 3
COUNT: Werden wahrscheinlich die aktuell gezählten Impulse sein, die gerade anliegen
TIME: Welche Zeit ist das ????
TOTAL: Gesamt gezählte Impule seit dem Start des WEMOS/ESp8622
Ich würde dies gerne direkt über die Formula des ESP im Device direkt gerne berechnen lassen.
Finde aber im Moment keinen Ansatz dafür.
Es sollte die gerade aktuelle Leistung, Gesamt verbrauchte Leistung berechnet werden !
Der benutzte S0 Zähler hat 1000 Impulse pro KWh.
Gruß
Sascha
Ohne das Plugin zu kennen, ich würde sagen du stellst ein Delay von 60 ein und bekommst alle 60 Sekunden die Anzahl der Pulse. Daran kannst du über Dreisatz die kWh ausrechnen.
Gesendet von iPhone mit Tapatalk
Hallo,
ich hab das auch so, allerdings kommt im espeasy nix an.
Das Wemos blinkt zwar, aber der Pulse Counter zählt nicht hoch!
Wie hast du den PulseCounter im ESPeasy eingerichtet?
Und wie angeschlossen, wobei, das Signal kommt ja scheinbar an!
LG
Marlen
Hallo Marlen,
bei mir laufen zwei S0-Zähler (Strom & Gas) als PulseCounter mit ESPeasy auf der Wemos 1wire-WLAN Bridge einwandfrei.
Gerne vergessen auf dem wemos unter Hardware - GPIO Boot States: entsprechenden GPIO Pin auf Input setzen.
Die Pulse Counter habe ich wie folgt eingerichtet:
Counter Type: Delta/Total/Time
Debounce Time (mSec): 1000
Mode Type: Falling
Siehe auch die Screenshots.
Zitat von: sash.sc am 05 Februar 2017, 18:47:11
COUNT: Werden wahrscheinlich die aktuell gezählten Impulse sein, die gerade anliegen
TIME: Welche Zeit ist das ????
TOTAL: Gesamt gezählte Impule seit dem Start des WEMOS/ESp8622
Ich würde dies gerne direkt über die Formula des ESP im Device direkt gerne berechnen lassen.
Finde aber im Moment keinen Ansatz dafür.
Es sollte die gerade aktuelle Leistung, Gesamt verbrauchte Leistung berechnet werden !
Der benutzte S0 Zähler hat 1000 Impulse pro KWh.
Hallo Sascha,
TIME ist die Zeit in Millisekunden zwischen zwei Impulsen.
Ich berechne die momentane Leistung und den Zählerstand ( Gesamt KWh ) direkt im ESP PulseCounter Device "S0_Strom" mit folgenden userReadings:
TotalKWh:Total.* monotonic { ReadingsVal("S0_Strom","Total",0)/120 },
currentPower:Time.* { 1000 * 3600 / ( 120 * ReadingsVal("S0_Strom","Time",20000) / 1000)}
Mein Zähler liefert 120 Impulse pro KWh, d.h. du mußt jeweis 120 durch 1000 ersetzen.
Stündliche, Tägliche, wöchentliche, monatliche und jährliche Statistiken liefert dann das Modul HourCounter ( siehe Wiki ) bzw. das Hilfsmodul HourCounter Utils ( siehe auch Wiki ). Das sieht dann z.B. so aus, wie unten im Sceenshot.
Gruß
Tobias
Zitat von: tpm88 am 05 Dezember 2017, 15:55:51
Hallo Marlen,
bei mir laufen zwei S0-Zähler (Strom & Gas) als PulseCounter mit ESPeasy auf der Wemos 1wire-WLAN Bridge einwandfrei.
Gerne vergessen auf dem wemos unter Hardware - GPIO Boot States: entsprechenden GPIO Pin auf Input setzen.
Die Pulse Counter habe ich wie folgt eingerichtet:
Counter Type: Delta/Total/Time
Debounce Time (mSec): 1000
Mode Type: Falling
Siehe auch die Screenshots.
Hallo,
Hardwar auf Input setzen.....das hatte ich tatsächlich nicht!
Allerdings hat das nicht's gebracht! :-\
Total count is not persistent! Das hat nicht's zu sagen?
Ganz komisch ist, das wenn ich GPIO15 auf Input setze und mein Kabel auf GPIO15 setze, blinkt der WEMOS nicht mal auf!
Bei dir blinkt der WEMOS aber auch!?
LG
Marlen
Zitat von: Marlen am 05 Dezember 2017, 21:55:05
Total count is not persistent! Das hat nicht's zu sagen?
Nein, das bedeutet nur, daß Total wieder bei 0 anfängt zu zählen, wenn der wemos neu gestartet wird.
Zitat
Ganz komisch ist, das wenn ich GPIO15 auf Input setze und mein Kabel auf GPIO15 setze, blinkt der WEMOS nicht mal auf!
Bei dir blinkt der WEMOS aber auch!?
Nein, mein WEMOS blinkt nicht :D
Schau mal in die Spezifikation: https://wiki.wemos.cc/products:d1:d1_mini (https://wiki.wemos.cc/products:d1:d1_mini)
Die interne LED des WEMOS hängt an D4/GPIO2. Dieser Pin hat auch einen integrierten 10k Pull-up. D8/GPIO15 hingegen hat einen integrierten Pull-10k down.
Hier nochmal der Verweis auf ein wenig Hintergrund zum Thema Pull-Up/Pull-Down: https://www.elektronik-kompendium.de/sites/raspberry-pi/2006051.htm (https://www.elektronik-kompendium.de/sites/raspberry-pi/2006051.htm)
Nicht zufällig nutze ich die PINs D6/GPIO12 und D7 /GPIO13 für meine beiden S0-Counter. Diese haben laut WEMOS spec keine integrierten Pull-Up oder Pull-Down Widerstände. Ich nutze gemäß Empfehlung aus dem obigen Artikel externe Pull-Up Widerstände.
Hi,
danke für den Link, sehr hilfreich!
Aber dann hätte es doch schon an D4 funktionieren müssen ( ohne ext. Pull Up)!?
Es geht mir nicht in den Kopf, warum es nicht funktioniert!!! Ich bin am verzweifeln!
Ich habe an der 1-Wire-Bridge 3 Relaisausgänge angeschlossen auf D5-7 das funktioniert super.
Und natürlich Temp-Sensoren, funktioniert auch super.
Nur an diesen einen Eingang-Signal scheitert es jetzt!?
Ich hab es gestern Abend/Nacht schon mal mit D0-D2 versucht, auch hier ist nicht's angekommen......
Gugst du hier!
Stromzähler S0 → ESP8266 mit ESPEasy → MQTT → FHEM (https://forum.fhem.de/index.php/topic,61731.msg531547.html#msg531547)
Ganz informativ für dich
Der Ausgang S0+ wird mit den 3,3V (VCC) des ESP verbunden.
Der S0- wird mit dem GPIO der als Zähleingang definiert wurde verbunden.
Außerdem wird ein Widerstand 1 bis 5 kOhm von diesem GPIO gegen GND angebracht.
LG
p99p
@Marlen
Hast Du auf die Polung des S0 Anschlusses geachtet. Bei Stromzählern ist der S0 als Open Kollektor ausgeführt. Da ist es wichtig, dass die Polung stimmt.
@tpm88
Die GPIO's für PulseCounter unter Hardware auf input setzen habe ich bei mir noch nie gemacht. Funktionierte immer.
ZitatHast Du auf die Polung des S0 Anschlusses geachtet. Bei Stromzählern ist der S0 als Open Kollektor ausgeführt. Da ist es wichtig, dass die Polung stimmt.
Hmmm..... muss ich mal schauen, aber ich geh doch mit GND in den S0!
Und es geht ja auch nicht, wenn ich die Kabel die in den S0 gehen zusammenhalte.
LG
Marlen
Zitat von: majorshark am 06 Dezember 2017, 08:50:19
Die GPIO's für PulseCounter unter Hardware auf input setzen habe ich bei mir noch nie gemacht. Funktionierte immer.
Ok. Hier hat es unlängst geholfen: https://forum.fhem.de/index.php/topic,78356.msg704027.html#msg704027 (https://forum.fhem.de/index.php/topic,78356.msg704027.html#msg704027)
Die Gegenprobe habe ich tatsächlich auch nicht gemacht.
@Marlen: mir ist noch eingefallen, daß der/die PulseCounter im ESP-Easy Device auf der ersten Device Seite, d.h. lfd. Nr. 1-4 sein müssen. Ich mußte nämlich auch meine 1wire Temperatursensoren nach "hinten" sortieren. Ich weiß aber nicht mehr, ob sich ab Nr. 5 gar keine anlegen lassen oder sie einfach nicht funktionieren??
Tobias
Zitat@Marlen: mir ist noch eingefallen, daß der/die PulseCounter im ESP-Easy Device auf der ersten Device Seite, d.h. lfd. Nr. 1-4 sein müssen. Ich mußte nämlich auch meine 1wire Temperatursensoren nach "hinten" sortieren. Ich weiß aber nicht mehr, ob sich ab Nr. 5 gar keine anlegen lassen oder sie einfach nicht funktionieren??
Ahhh.....meiner ist auch auf Seite 4 oder so......also Nr. 9 oder so.
Werde das heute Abend mal testen!
LG
Marlen
Hallo,
war tatsächlich so, scheinbar gehen Counter-Device nur auf der "1. Seite"
Danke @Tobias :-*
Allerdings ist die Qaulität noch Verbesserungswürdig!
Hab mehr mehr Count's als auf den echten Zähler.
Ich hab ihn jetzt so angeschlossen:
GND --> S0 S0 --> GPIO15
Im ESP-Easy hab ich das Device so angelegt, siehe Screenshot
LG
Marlen
Na - das ist doch immerhin ein Fortschritt.
Bezüglich Beschaltung bist du aber ein wenig "beratungsresistent" ...
Zitat von: Marlen am 09 Dezember 2017, 21:42:03
Ich hab ihn jetzt so angeschlossen:
GND --> S0 S0 --> GPIO15
Warum ausgerechnet der GPIO15? Das ist beim wemos der einzige GPIO PIN mit einem internen "Pull-Down" Widerstand.
Pull-Up ist stabiler, was Störimpulse angeht. Versuche es es doch noch einmal mit einem externen Pull-Up ( NICHT an GPIO15 !) gemäss dem Schatbild im Anhang.
Ne, bin nicht "beratungsresistent".....ich hab an der Bridge eben nur GPIO 2 & 11 -15 herausgeführt. Und 11-14 sind schon belegt!
Und mehr GPIO's sind glaub ich auch nicht auf der Bridge!
Zitat von: tpm88 am 05 Dezember 2017, 16:08:39
Ich berechne die momentane Leistung und den Zählerstand ( Gesamt KWh ) direkt im ESP PulseCounter Device "S0_Strom" mit folgenden userReadings:
TotalKWh:Total.* monotonic { ReadingsVal("S0_Strom","Total",0)/120 },
currentPower:Time.* { 1000 * 3600 / ( 120 * ReadingsVal("S0_Strom","Time",20000) / 1000)}
Mein Zähler liefert 120 Impulse pro KWh, d.h. du mußt jeweis 120 durch 1000 ersetzen.
Hallo Tobias,
ich hänge mich hier mal dran.
Folgender Aufbau:
1. IR Lichtchranke an ESP
2. ESP liefert jede Minute den Count
3. Stromzähler hat 75U/kWh
Könntest Du mir mal bitte deine Formel näher erklären?
Ich habe mit gedacht, mit diesem Reading den Momentanverbrauch zu berechnen:
actual {sprintf("%.3f",ReadingsNum("ESPEasy_Stromzaehler","Count",0)*60/75);;;;}
Irgendwie blicke ich es nicht :-[
und ich habe noch gas und Wasser vor mir...
Zitat von: Mitch am 22 Januar 2018, 22:26:18
Folgender Aufbau:
1. IR Lichtchranke an ESP
2. ESP liefert jede Minute den Count
3. Stromzähler hat 75U/kWh
Könntest Du mir mal bitte deine Formel näher erklären?
Meine Formel funktioniert nur unter folgenden Bedingungen:
- ESP PulseCounter Type: Delta/Total/Time
- Delay (sehr kurz), bei mir: 1s
=> dann ist sichergestellt, dass jeder Impuls sofort an FHEM übertragen wird ( d.h. es gilt stets COUNT=1 ). Im Reading Time erhalte ich also die Zeit in ms zwischen den letzten beiden Impulsen
Und das userReading, welches durch das Reading Time getriggert wird, berechnet dann für jeden Einzelimpuls über die Formel
currentPower:Time.* { 1000 * 3600 / ( 120 * ReadingsVal("S0_Strom","Time",20000) / 1000)}
daraus die momentane Leistung in Watt (W) bezogen auf meinen Zähler, der 120 Impulse pro kWh liefert.
Zitat
Ich habe mit gedacht, mit diesem Reading den Momentanverbrauch zu berechnen:
actual {sprintf("%.3f",ReadingsNum("ESPEasy_Stromzaehler","Count",0)*60/75);;;;}
Deine Formel basiert auf dem festen Intervall 60s und berechnet den Verbrauch eben gemittelt über 60 Sekunden. Spricht auch nichts dagegen.
Gruß
Tobias
Danke, hat mir sehr geholfen.
Habe es jetzt mit deinem Input und einer Formel aus dem Web entsprechend umgebaut.
Ich nutze den Ansatz mit State Format und UserReadings für meinen Gaszähler. Im Gegensatz zum Stromzähler läuft der nicht dauernd. Beim Errechnen des aktuellen Verbrauchs bleibt er auf dem letzten Wert stehen. gibt es eine Möglichkeit das reading nach Zeit X zu nullen?
mein Userreading:
Zaehlerstand monotonic {ReadingsVal("ESPEasy_ESP_Zaehler_Gas","Total",0)/100.0},
Momentanverbrauch:Time.* {ReadingsVal("ESPEasy_ESP_Zaehler_Gas","Time",0)/3600}
device liefert per espeasy alle 60 sek. die readings "Time", "Total" "Count"
Viele Grüße
Matze
Nimm doch Count als Momentanverbrauch, dann geht das auch auf 0
unterliegt der Wert count auch dem 60 sek interval bis zur nullung?
Hab da meistens nur 0,1,2 oder 3 stehen was stellenweise Zu wenig wäre?
Ja, der Count wird nach der Übertragung gelöscht.
Klar steht da nur 0,1,2 oder auch mal 3, sind ja die Umdrehungen.
Bei mir sieht das userreading so aus:
actual {sprintf("%.3f",ReadingsNum("ESPEasy_Gas2","Count",0)/100);;;;}
und dazu das Stateformat:
Momentanverbrauch: Count Liter/min. - actual m³/min.
Ich messe an der letzten Stelle, sprich 1x Count = 0,01 m3 = 1 Liter
Hallo Mitch,
ich habe jetzt mal testweise den Stromzähler mit der Formel versorgt. da kommen aber nur 19Watt raus.
Ich denke der zeit aspekt von 60 sek interval muss noch berücksichtigt werden oder?
Momentanverbrauch {ReadingsVal("ESPEasy_ESP_Zaehler_Strom","Count",0)/1000}
Was ist der Unterschied zwischen ReadingsVal und ReadingsNum ? ergebnis ist das selbe.
grüße
Matze
Zitat von: smoudo am 24 Januar 2018, 20:02:58
Hallo Mitch,
ich habe jetzt mal testweise den Stromzähler mit der Formel versorgt. da kommen aber nur 19Watt raus.
Ich denke der zeit aspekt von 60 sek interval muss noch berücksichtigt werden oder?
Strom ist ja wieder etwas anderes, du hattest Gas geschrieben.
Strom wurde ja hier schon alles aufgezeigt.
Zitat von: smoudo am 24 Januar 2018, 20:02:58
Was ist der Unterschied zwischen ReadingsVal und ReadingsNum ? ergebnis ist das selbe.
Num für Zahlen, schau mal ins CommandRef
ich denke ich habs jetzt für den Strom
Momentanverbrauch {ReadingsVal("ESPEasy_ESP_Zaehler_Strom","Count",0)*60/1000}
Ja Strom ist anders. Aber da seh ich das ergebnis sofort :)
viele Grüße
Matze
ergänzend mein stateFormat:
{sprintf(Momentanverbrauch: %.3f KW", (ReadingsVal($name, "Momentanverbrauch",0)) ) }
grüße
Matze
Zitat von: smoudo am 24 Januar 2018, 20:16:18
ich denke ich habs jetzt für den Strom
Momentanverbrauch {ReadingsVal("ESPEasy_ESP_Zaehler_Strom","Count",0)*60/1000}
Ja Strom ist anders. Aber da seh ich das ergebnis sofort :)
Hatte ich doch in #17 geschrieben ???
Das Ergebnis sehe ich auch sofort bei Gas ;) und Wasser ;D
mein thermchen läuft nicht so häufig ;)
meine auch nicht, hat damit ja auch nichts zu tun ;)
Ich will ja das mir angezeigt wird, wenn Gas verbraucht wird
funktioniert jetzt super! Danke!!
Hallo Zusammen,
nun klinke ich mich hier auch mal mit ein um kein neues Thema aufmachen zu müssen.
Ich würde gerne einen ESP8266 mit einem DRS155D oder zwei oder drei betreiben.
Ist das möglich wenn ESPEasy auf dem ESP8266 ist?
Hat jemand Erfahrungen mit dem DRS155D?Wenn ich das richtig verstanden habe, dann schiebt er 1000Impulse bei 1kWh, also für eine 1Wh dann ein Impuls?
Ich kenne mich mit dem S0 nicht aus.
Wenn ich das richtig verstehe, wird dann ja immer wenn der Counter um eines erhöht wird, das an den RPi / FHEM gesendet und somit hat man einen Echtzeitverbrauch oder sehe ich das falsch?
Zudem stellt sich mir die Frage, beim DRS155D heißt es einen Strom von 0,05 bis 50A macht es mit, was heißen dann die 5A auf dem Gerät? [5(50)A]
Oder gibt es eine günstigere Methode eine Strommessung durchzuführen?
Ich will mir eine Relaisplatine mit dem ESP8266 ansteuern, welche bis zu 4 Steckdosen schalten kann und auch beide Pole, also L und N schaltet, der Sicherheit wegen.
Da würde ich gerne von meinem Streamingrechner, der Workstation und dem Hauptrechner den Verbrauch protokollieren lassen und diese ein und ausschalten können.
Ich danke euch schon mal für eure Hilfe.