[HowTo] Sonoff POW an Fhem anbinden

Begonnen von Reinhart, 07 November 2016, 16:53:53

Vorheriges Thema - Nächstes Thema

Elektrofreak

#165
Hallo zusammen,

hat schon jemand mal den Stromverbrauch vom Sonoff POW gemessen? Ich befürchte, dass aufgrund des verwendeten internen Netzteiles (Kondensatornetzteil?) recht viel Energie verloren geht. Idealerweise kann der ESP8266 ja um oder unter 0.5W bleiben. Ich würde jetzt so 1-2W vermuten.

Kann das jemand mal nachmessen? Am Besten nicht als "Inception" mit einem weiteren Sonoff POW, sondern mit einem recht genauen Messgerät, dass auch <1W messen kann  ;)

Edit: Immerhin ist es ein sparsamer Flyback-Converter, jedoch mit nachgeschaltetem LDO  :(

https://www.itead.cc/wiki/images/5/52/Sonoff_POW_Schematic.pdf

Welche Spannung liegt denn vor dem LDO an? Hat das schonmal jemand (ohne Stromschlag) gemesssen?  ;D

LG

Reinhart

#166
Ich habe heute versucht das mit einem EKM265 nachzumessen, ist mir allerdings nicht gelungen.

Wenn ich den POW alleine anhänge, zeigt es mir 0 W an, hänge ich ein Steckerladegerät am POW an dann geht es auf 1.2 W.

Mach ich einen Gegentest, also POW + EKM265 + Handy Ladegerät dann habe ich 2,5 W + 1,2 Watt Eigenverbrauch EKM und der POW zeigt dann 4 Watt. Fällt die Leistung allerdings unter 3 Watt, dann pendelt der POW zwischen 0-3 Watt hin und her.

Das EKM265 kann eine Leistung bis 2650 Watt messen, entsprechend klein ist daher der interne Shunt, was sich dann bei kleinen Leistungen negativ auswirkt.

Wenn man hier genauere Daten haben will, muss man schon auf ein entsprechend geeichtes Messgerät zurück greifen. Für mich allerdings ist bei dem Preis des POW die Genauigkeit soweit ok und auch der Eigenverbrauch hält sich in Grenzen.

LG
Reinhart
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Elektrofreak

Zitat von: Reinhart am 19 März 2017, 10:46:26
Ich habe heute versucht das mit einem EKM265 nachzumessen, ist mir allerdings nicht gelungen.

Hallo Reinhart,

vielen Dank für deine Bemühung. Vielleicht hat jemand ein besseres Messgerät  ::).

Ich hatte noch überlegt, ob es sinnvoll sein könnte, das Relay per PWM anzusteuern, sobald es einmal angezogen hat. Damit könnte man auch etwas Energie sparen  ;). Ich weiß aber nicht, wie gut die interne Versorgungsspannung gepuffert ist  ;D. Laut Schaltplan sind es 330µF. Bei 1kHz Schaltfrequenz (bei der ESPEasy-Firmware) müsste das doch reichen  ;D

http://embeddedgurus.com/stack-overflow/2009/11/lowering-power-consumption-tip-3-using-relays/

Reinhart

Ich für meinen Weg geh da eine andere Richtung. Es ist schon richtig, wenn viele solcher Geräte sich im Einsatz befinden sind Sparmaßnahmen schon interessant, aber oft handelt man sich dabei zusätzliche Probleme ein und bei den kleinen Leistungen ist im Normalfall nicht viel zu holen, auch wenn sie 7 x 24 Stunden laufen. Ich lasse auch das Rasenmäher Netzteil den ganzen Winter durchlaufen (1,5-3 Watt) da einerseits die geringe Eigenwärme die Elektronik der Ladestation schützt und gleichzeitig eine Art kathodischer Korrosionsschutz am vergrabenen Draht liegt. Hier stellt sich die Frage, ob der Energieaufwand nicht doch besser zu verschmerzen ist und dafür die Lebensdauer um einige Jahre erhöht werden kann. Es kommt daher immer auf die Sichtweise an, auf was man mehr den Schwerpunkt legt.

Ich versuche daher an anderer Stelle Energie zu sparen, Austausch sämtlicher Heizungspumpen gegen Hocheffizienzpumpen, Überall nur mehr Led Lampen und wenn möglich das Licht mit Bewegungsmeldern rechtzeitig wieder abschalten. Bei Neuanschaffung hauptsächlich A+++, obwohl hier manchmal nachgerechnet werden sollte ob der Mehrpreis in den nächsten 10 Jahren sich rechnet. Meist haben solche Geräte nur einen psychische Wirkung und beruhigen einen das man wenigstens was dagegen unternommen hat. Das beste negative Beispiel waren hier die Energiesparlampen die schlechten Komfort boten und die Umwelt belasten. Habe auch alle 4 TV Geräte gegen moderne getauscht (Plasma und Bildröhren Geräte alle entsorgt).

Der Tausch einer einzigen Heizungspumpe erlaubt mir dafür Fhem mit allen Sensoren mehrere Jahrzehnte zu betreiben.
Jeder sieht das ein wenig anders, aber das ist meine persönliche Sichtweise.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Capricornus73

Zitat von: Elektrofreak am 16 März 2017, 10:05:27
Hallo zusammen,

hat schon jemand mal den Stromverbrauch vom Sonoff POW gemessen? Ich befürchte, dass aufgrund des verwendeten internen Netzteiles (Kondensatornetzteil?) recht viel Energie verloren geht. Idealerweise kann der ESP8266 ja um oder unter 0.5W bleiben. Ich würde jetzt so 1-2W vermuten.

Kann das jemand mal nachmessen? Am Besten nicht als "Inception" mit einem weiteren Sonoff POW, sondern mit einem recht genauen Messgerät, dass auch <1W messen kann  ;)

Edit: Immerhin ist es ein sparsamer Flyback-Converter, jedoch mit nachgeschaltetem LDO  :(

https://www.itead.cc/wiki/images/5/52/Sonoff_POW_Schematic.pdf

Welche Spannung liegt denn vor dem LDO an? Hat das schonmal jemand (ohne Stromschlag) gemesssen?  ;D

LG

Hallo, ich habe auf der Herstellerseite nachgeschaut und dort wird eine Stby. Leistungsaufnahme von < 1mW (1 milli Watt) angegeben.

https://www.itead.cc/wiki/Sonoff_Pow

Im Diagramm sieht man eindeutig, dass dies kein Kondensatornetzteil ist, sondern ein effizientes Schaltnetzeil welches aus einem Gleichrichter ASB8 mit anschließender Glättung C2, L1 und C3; einem Anschwingkreis bestehend aus R6, C6 und D1; Trafo EE10, welcher aus einer Primärspule (Pin 1 und 2), eine Spule (Pin 3 und 4) für den Regelkreis bestehen aus dem IC IW1700 und dem Schalttransistor Q1 und einer Sekundärspule mit anschließender Gleichrichtung, Glättung und einem 3,3V Spannungsregeler für den Betrieb der Logic. Daher ist eine Standby Leistungsaufnahme durch aus möglich und die geringe Leistungsaufnahme des ESP8266 spricht auch dafür.

http://dl.itead.cc/IM151116002/0A-ESP8266_Specifications_v4.1.pdf

Ich hoffe ich konnte ein wenig das Netzteil erklären und etwaige bedenken eines erhöhtem Standby Verbrauchs beseitigen.

Viele Grüße

Jörg

Reinhart

Danke für deine ausführliche Erklärung des Schaltnetzteils!

Hast du eine Idee warum beim getackteten Netzteil die 230V Minus hinter dem Gleichrichter mit dem Ground des 3.3V Reglers mit einem Kondensator verbunden sind? Das kann nämlich eine sehr gefährliche Sache werden wenn hier jemand basteln anfängt und weitere GPIOs nach außen führt. Was mir auffällt, ist das nur beim POW so ausgeführt.

LG
Reinhart
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Elektrofreak

Der POW ist mit den 230V verbunden, da das messende IC direkt mit 230V verbunden ist. Deshalb sollte man den POW nicht mit weiteren Sensoren verwenden, die nicht isoliert sind!

KernSani

Ich habe mir den POW jetzt auch mal genauer angesehen und einen zum Testen bestellt... Aber mal ganz dumme Frage: Wie setzt ihr den ein? In die UP-Dose passt er ja wohl nicht, also Netzkabel durchschneiden und zwischen rein klemmen oder wie?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Reinhart

FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Christian Uhlmann

Hallo zusammen,

ich habe nun auch 2 Sonoff Pow's und einen davon auch schon im Einsatz.
Danke für den Wiki Beitrag der hat gut geholfen.

Jetzt kenne ich das von meinen anderen Steckdosen mit Leistungsmessung so, dass immer der Gesamtverbrauch übermittelt wird.
Bei Arends Sketch ist es ja so, dass Today und Yesterday übermittelt werden.

Für die Ermittlung wie wie Energie ein Waschgang verbraucht hat, würde ich jetzt den Today Wert vorher und nachher nehmen und die Differenz ist das was ich suche.
Habe zu Testzwecken eingestellt, dass mqtt alle 10 Sekunden Werte liefert.
Wisst ihr, wie oft der Pow die Messwerte an den Broker übermitteln kann?

Außerdem möchte ich in FHEM auch den Gesamtverbrauch mit in einem Reading des Devices haben.
Wie habt ihr das gelöst?
Bei jeder Änderung des Readings Yesterday diesen in ein neues userReading aufaddieren?

Wenn jemand soetwas schon umgesetzt hat dann wäre ich froh über Eure definition des Devices.
Ggf. habe ich da ja noch das ein oder andere zu optimieren.

Bisher sieht das device bei mir so aus:

defmod KG.wr.SPow.Waschmaschine MQTT_DEVICE
attr KG.wr.SPow.Waschmaschine IODev SYS.gw.MQTT.01
attr KG.wr.SPow.Waschmaschine devStateIcon on:message_socket_on_off@green off:message_socket_off@red
attr KG.wr.SPow.Waschmaschine eventMap ON:on OFF:off
attr KG.wr.SPow.Waschmaschine group Steckdosen
attr KG.wr.SPow.Waschmaschine icon measure_power
attr KG.wr.SPow.Waschmaschine publishSet ON OFF cmnd/KG.wr.SPow.Waschmaschine/POWER
attr KG.wr.SPow.Waschmaschine qos exactly-once
attr KG.wr.SPow.Waschmaschine retain 1
attr KG.wr.SPow.Waschmaschine room Keller,MQTT
attr KG.wr.SPow.Waschmaschine subscribeReading_ENERGY tele/KG.wr.SPow.Waschmaschine/ENERGY
attr KG.wr.SPow.Waschmaschine subscribeReading_LIGHT stat/KG.wr.SPow.Waschmaschine/LIGHT
attr KG.wr.SPow.Waschmaschine subscribeReading_state stat/KG.wr.SPow.Waschmaschine/STATE
attr KG.wr.SPow.Waschmaschine userReadings power:Power.* { ReadingsVal($name,"Power",0);; }
attr KG.wr.SPow.Waschmaschine webCmd on:off


Ist halt mein erstes MQTT Device von daher tu ich mich schwer und bin unsicher.


Grüße Christian
Host: Debian Buster als VM / XCP-NG
Gateways: DuoFern Stick, CUL433 Revolt, CUL MAX, HMLan, HM-USB 2, LaCrosseGateway
Devices: 12x Rademacher Rollos, 6x TX 29 DT-HT, 10x HM-CC-RT-DN, 14x MAX Fensterkontakte, Diverse HM Aktoren für Licht, Klingel, Gong, Eingangstür, ESPEasy, Sonoff mit Tasmota

Reinhart

Hallo Christian!

Zur Ermittlung deiner Waschmaschine ist dein Gedankengang völlig richtig, die Schwierigkeit ist nur das du ein Programm brauchst, dass ermittelt wenn die Waschmaschine fertig ist. Dazu gibt es hier einige gute Beispiel im Forum. Ich habe auch so eines mit einem Pow laufen.

Dein zweiter Wunsch ist ebenfalls realisierbar.
Nimm dazu als Beispiel das Modul "average", dann hast du einmal einen fortlaufenden Zählerstand ( Power_cum_day ).
Dann nimm dem ElectricityCalculator und schon hast jede Menge an Verbrauchsdaten die du wünschst (Tag, Monat, Jahr, Preis etc.)

so etwa:
define KG.wr.SPow.Waschmaschine_CURRENT_POWER average KG.wr.SPow.Waschmaschine:Power.*
erzeugt Zähler für den KG.wr.SPow.Waschmaschine.

define myElectricityCalculator ElectricityCalculator KG.wr.SPow.Waschmaschine:Power_cum_day:.*
attr myElectricityCalculator BasicPricePerAnnum 102
attr myElectricityCalculator Currency €;
attr myElectricityCalculator ElectricityCounterOffset 0
attr myElectricityCalculator ElectricityKwhPerCounts 0.001
attr myElectricityCalculator ElectricityPricePerKWh 0.17
attr myElectricityCalculator MonthOfAnnualReading 5
attr myElectricityCalculator MonthlyPayment 150
attr myElectricityCalculator ReadingDestination CounterDevice
attr myElectricityCalculator SiPrefixPower W
attr myElectricityCalculator room Energie

das aktiviert dann den Kalkulator und du erhältst deine gewünschten Daten mit denen kannst du dann machen was du willst. Plot, als Log speichern. etc. Lies dir dazu den entsprechenden Thread damit du besser verstehst was das Modul alles macht.

LG
Reinhart
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Reinhart

#176
Betreffend der Waschmaschine ist das mein Code:


###########################################
##        Waschmaschine Überwachung      ##
###########################################

#Dummy HR_WaschmaschineWatt für die Anzeige des aktuellen Watt-Verbrauchs definieren
define HR_WaschmaschineWatt dummy
attr HR_WaschmaschineWatt room Waschmaschine

#Dummy HR_WaschmaschineWatt mit Werten versorgen
define HRWaschmaschineWattSet notify Sonoff_Pow4:Power.* {my $power =ReadingsVal("Sonoff_Pow4","Power","");; fhem ("set HR_WaschmaschineWatt $power");; fhem ("set HR_Waschmaschine_Pwr $power")}

define HR_Waschmaschine_Pwr dummy
attr HR_Waschmaschine_Pwr room Waschmaschine

#Dummy HR_WaschmaschineBetrieb definieren
define HR_WaschmaschineBetrieb dummy
attr HR_WaschmaschineBetrieb devStateIcon on:general_an off:general_aus
attr HR_WaschmaschineBetrieb event-on-change-reading state
attr HR_WaschmaschineBetrieb room Waschmaschine

#Dummy HR_WaschmaschineBetrieb einschalten bei Verbrauch größer 30 Watt
define HRWaschmaschineBetriebAn notify Sonoff_Pow4:Power.* {fhem ("set HR_WaschmaschineBetrieb on;; setstate HRWaschmaschineAutoOff defined") if (ReadingsVal("Sonoff_Pow4","Power","") >= 30 && Value("HR_WaschmaschineBetrieb") ne "on")}

#Dummy HR_WaschmaschineHoherVerbrauch definieren
define HR_WaschmaschineHoherVerbrauch dummy
attr HR_WaschmaschineHoherVerbrauch devStateIcon on:general_an off:general_aus
attr HR_WaschmaschineHoherVerbrauch event-on-change-reading state
attr HR_WaschmaschineHoherVerbrauch room Waschmaschine

# HR_Waschmaschine_Pwr
#Dummy HR_WaschmaschineHoherVerbrauch einschalten bei Verbrauch größer 5 Watt bei laufendem Betrieb
define HRWaschmaschineHoherVerbrauchAn notify Sonoff_Pow4:Power.* {fhem ("set HR_WaschmaschineHoherVerbrauch on;; setstate HRWaschmaschineAutoStandby defined") if (ReadingsVal("Sonoff_Pow4","Power","") >= 5 && Value("HR_WaschmaschineBetrieb") eq "on")}

#Wert aus dem Reading "energy" von HR_Waschmaschine_Pwr in das Reading "energy" von HR_WaschmaschineBetrieb schreiben sobald der Betrieb startet
define HRWaschmaschineBetriebEnergyAktualisieren notify HR_WaschmaschineBetrieb:on {my $power=ReadingsVal("Sonoff_Pow4","Today","0");; fhem ("setreading HR_WaschmaschineBetrieb energy $power")}

#Dummy HR_WaschmaschineHoherVerbrauch ausschalten bei Verbrauch kleiner gleich 5 Watt bei laufendem Betrieb
define HRWaschmaschineHoherVerbrauchAus notify Sonoff_Pow4:Power.* {fhem ("set HR_WaschmaschineHoherVerbrauch off") if (ReadingsVal("Sonoff_Pow4","Power","") < 5 && Value("HR_WaschmaschineBetrieb") eq "on")}

#Wenn der Verbrauchswert für mindestens 5 Minuten bei laufendem Betrieb unter obigem Schwellwert (5 Watt) verbleibt, wird angenommen, dass der Waschvorgang tatsächlich abgeschlossen ist
define HRWaschmaschineAutoStandby watchdog HR_WaschmaschineHoherVerbrauch:off 00:15 HR_WaschmaschineHoherVerbrauch:on set HR_WaschmaschineBetrieb standby;; set MyTTS tts die Waschmaschine ist nun fertig
attr HRWaschmaschineAutoStandby regexp1WontReactivate 1
attr HRWaschmaschineAutoStandby room Waschmaschine

###############################
#Pushover-Notification bei abgeschlossenem Waschvorgang verschicken - token und user ist bei jedem anders und muss entsprechend geändert werden
define HRWaschmaschineWaschvorgangAbgeschlossenPushover notify HR_WaschmaschineBetrieb:standby {my $aktuellerbetriebeur=(ReadingsVal("Sonoff_Pow4","Today","0")-ReadingsVal("HR_WaschmaschineBetrieb","energy","0"))*ReadingsVal("HA.EuroProKWH","state","");; my $aktuellerbetriebeur=int(100*$aktuellerbetriebeur+0.5)/100 ;; fhem("setreading HR_WaschmaschineBetrieb AktuellerBetriebEur $aktuellerbetriebeur");; DebianMail("FHEM Waschmaschine ist fertig","Die Waschmaschine ist fertig! Betriebskosten: $aktuellerbetriebeur€") }


#HR.Waschmaschine 5 (15) Minuten nach dem letzten Waschgang vom Strom trennen
define HRWaschmaschineAutoOff watchdog HR_WaschmaschineBetrieb:standby 00:15 HR_WaschmaschineBetrieb:on set HR_WaschmaschineBetrieb off
attr HRWaschmaschineAutoOff regexp1WontReactivate 1
attr HRWaschmaschineAutoOff room Waschmaschine

#Dummy für Euro pro KWH definieren
define HA.EuroProKWH dummy
attr HA.EuroProKWH room Waschmaschine


Du musst natürlich das für deine Devicenamen anpassen, hier heißt der POW "Sonoff_Pow4". Die Berechnung der Kosten änderst halt in der Pushover-Notification in KWH. Das Problem bei der ganzen Sache ist, dass sich jede Waschmaschine anders verhält und somit die Ende Erkennung unterschiedlich sein kann. Dazu einfach die Zeiten anpassen, hier sind es 15 Minuten wenn kleiner 5 Watt. Der Code ist nicht von mir, sondern wurde lediglich aus dem Forum für den Pow angepasst. Ich musste ihn mehrmals lesen um ihn richtig zu verstehen und ist eigentlich schon sehr hintereinander verschachtelt.

Ich muss dazu aber sagen, dass ich vorher mit einem HM Leistungsmesser experimentiert habe und da war die Ende Erkennung wesentlich besser, weil der auch kleinere Leistungen besser erkannt hat. Der Pow tut sich bei Werten < 5 Watt schon sehr schwer.

In der Grafik siehst du eine typische Leistungskurve meiner Waschmaschine, die je nach Programm und Waschmaschine unterschiedlich aussehen kann. Meine Waschmaschine hängt zB. am Warmwasser und benötigt weniger elektrische Heizenergie.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

fl_Indigo

wie löst ihr bei euren POWs die sommerzeitumstellung?
momentan ists ja so das der POW mit unveränderter NTP zeit den tageszähler erst um 01:00 zurücksetzt
ein manuelles setzen der timzone auf 2 funktioniert ja, aber praktisch ists halt nicht...

Billy

Zitat von: fl_Indigo am 12 Mai 2017, 08:41:10
wie löst ihr bei euren POWs die sommerzeitumstellung?
momentan ists ja so das der POW mit unveränderter NTP zeit den tageszähler erst um 01:00 zurücksetzt
ein manuelles setzen der timzone auf 2 funktioniert ja, aber praktisch ists halt nicht...

Mit Sonoff Tasmota Command --> Timezone        | 99       | Use Daylight müsste das gehen.

Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

Christian Uhlmann

Hallo,

Zitat von: Reinhart am 08 Mai 2017, 21:32:44
Nimm dazu als Beispiel das Modul "average", dann hast du einmal einen fortlaufenden Zählerstand ( Power_cum_day ).
Dann nimm dem ElectricityCalculator und schon hast jede Menge an Verbrauchsdaten die du wünschst (Tag, Monat, Jahr, Preis etc.)

das waren die richtigen Hinweise, vielen Dank dafür.
Das Script den Waschmaschinenstatus habe hier hierher: https://forum.fhem.de/index.php/topic,39498.0.html das passt auch alles sehr gut.
Jetzt muss ich mal beobachten wie es läuft.

Danke
Host: Debian Buster als VM / XCP-NG
Gateways: DuoFern Stick, CUL433 Revolt, CUL MAX, HMLan, HM-USB 2, LaCrosseGateway
Devices: 12x Rademacher Rollos, 6x TX 29 DT-HT, 10x HM-CC-RT-DN, 14x MAX Fensterkontakte, Diverse HM Aktoren für Licht, Klingel, Gong, Eingangstür, ESPEasy, Sonoff mit Tasmota