Funk Schaltaktor mit Lastmessung (HM-ES-PMSw1-Pl)

Begonnen von Wuck, 31 März 2017, 01:27:44

Vorheriges Thema - Nächstes Thema

Wuck

Hallo Forum!

Ich habe mir den HM-ES-PMSw1-Pl von HomeMatic zugelegt. Ich möchte damit eine nette kleine Spielerei realisieren: Lastmessung am PC und wenn dieser eingeschaltet ist (also ein bestimmter gemessener "power"-Wert überschritten ist) soll eine zweite Steckdose geschaltet werden, an der meine PC-Bildschirme hängen.

Komischerweise fragt FHEM die readings nicht in Echtzeit ab, sondern immer nur so alle 1,5 Minuten (habe ich im Event monitor nachgeschaut). Im Logfile stehen keine Fehler von der Steckdose. Ist das normal oder gibt es da einen Trick?

Gruß
Dominik

Brockmann

Wenn beides Homematic-Schalter sind, kannst Du Dir die Steuerung über FHEM sparen und die beiden direkt pairen, so dass der erste Aktor den zweiten einschaltet, wenn der Verbrauch eine bestimmte Schaltschwelle überschreitet.
https://wiki.fhem.de/wiki/HM-ES-PMSw1-Pl_Funk-Schaltaktor_1-fach_mit_Leistungsmessung#Beispielkonfiguration

(Ich frage mich allerdings, ob der Standby-Verbrauch Deiner PC-Bildschirme überhaupt höher als der Eigenverbrauch der beiden Aktoren ist. Eventuell bastelst Du Dir da eine Lösung, die unterm Strich mehr Strom verbraucht. ;) )

Otto123

Hi Dominik,

da kann ich mich Brockmann nur anschließen, siehe z.B. auch hier -> https://forum.fhem.de/index.php/topic,66671.msg606048.html#msg606048

Man muss wirklich genau prüfen, viele Geräte sind heute besser als man denkt.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Wuck

Danke für eure Antworten. Das Problem meiner Monitore ist, dass im Standby eine LED anfängt zu blinken. Wenn die Monitore in Betrieb sind geht diese aus. Irgendwie ziemlich blöd entwickelt, aber gut. Um das zu umgehen schalte ich die Monitore aktuell mit einer "Baumarkt"-Funksteckdose an und aus. Das ist aber irgendwie nervig und außerdem baut man sich ja ein Hausautomationssystem zum automatisieren  ;) . Deshalb habe ich mir das so überlegt wie oben beschrieben. Der Stromverbrauch wird sich denke ich in etwa die Waage halten. Aber hauptsächlich geht es um den Komfort bei dieser kleinen Spielerei.

Deshalb auch meine Frage: Ist es normal, dass die Werte nicht in Echtzeit oder einen annehmbaren Verzögerung von wenigen Sekunden abgefragt werden? In anderen Tutorials und Foren habe ich gelesen, dass es  in Echtzeit funktioniert. Deshalb habe ich angenommen, dass ich evtl. etwas falsch konfiguriert habe.

Sollte sich da aber keine Lösung finden lassen, habe ich eine weitere Frage: Kann ich die Steckdosen sowohl untereinander als auch mit FHEM paaren? Dann könnte ich die Monitore manuell ein- und ausschalten aber auch automatisch durch die Lastmessung am PC.

Wuck

Für alle, die es interessiert und auch sowas bauen wollen, habe ich eine Lösung erarbeitet.

Kurze Beschreibung:
1. Steckdose mit Lastmessung mit FHEM pairen
2. Zu schaltende Steckdose mit FHEM pairen
3. Virtuellen Aktor mit einem Kanal anlegen
4. Steckdose mit Lastmessung channel_03 (= Lastmessung in Watt) mit dem virtuellen Aktor Kanal 1 peeren
5. Schwellwerte für das Ein- und Ausschalten im virtuellen Aktor festlegen
6. Notify erstellen, dass auf Änderung des virtuellen Aktors reagiert und eine Funktion aufruft
7. Funktion in die myUtils Datei schreiben


Eingesetzte Geräte:

Steckdose mit Lastmessung
Name: Wz.Steckdose.PC
channel_03 Name: Wz.Steckdose.PC.Power

Zu schaltende Steckdose
Name: Wz.Steckdose.Monitore




Mein Vorgehen:

1. Pairen der Steckdosen und benennen wie oben beschrieben


2. Erstellen eines virtuellen Aktors mit einem Kanal


define Virtuell.Aktor.Wz.Steckdose.PC.Power CUL_HM 111156;
set Virtuell.Aktor.Wz.Steckdose.PC.Power virtual 1


Die Zahl am Ende "111156" ist ein ausgedachte hmID. Diese darf NICHT existieren. In der Regel hat man einen Homematic Adapter (z.B. die HM LAN Bride oder einen CUL Stick). Diese haben eine bestimmte ID mit "1F...", wenn man die nicht anders gesetzt hat. Also einfach eine freie ID ausdenken.

Hat das geklappt, existiert jetzt ein virtueller Aktor mit dem Namen "Virtuell.Aktor.Wz.Steckdose.PC.Power"


3. Steckdose mit Lastmessung channel_03 mit dem virtuellen Aktor peeren (NICHT "pairen"!!! Das ist etwas anderes.)

set Wz.Steckdose.PC.Power peerChan 0 Virtuell.Aktor.Wz.Steckdose.PC.Power_Btn1 single set


4. Die Konfiguration der Steckdose mit Lastmessung updaten

set Wz.Steckdose.PC getConfig

Die LED an der Steckdose blinkt jetzt ein paar Mal schnell orange. Wenn das ganze fertig ist, ist das Peering beendet. Ggf. muss getConfig nochmal ausgeführt werden.


5. Minimum- und Maximum-Werte festlegen

In den Readings von "Wz.Steckdose.PC.Power" sind folgende Werte zu finden:
R-cndTxDecAbove
R-cndTxDecBelow
R-txThrHiPwr
R-txThrLoPwr

txThrHiPwr und txThrLoPwr legen den unteren und oberen Schwellwert fest, also den Wert, ab dem später die andere Steckdose ein bzw. aus geschaltet werden soll.

cndTxDecAbove und cndTxDecBelow sind die Werte, die bei überschreiten von "txThrHiPwr" bzw. unterschreiten von "txThrLoPwr" an den virtuellen Aktor übergeben werden sollen.

Ich habe das ganze mit einer Schreibtischlampe getestet, die nur 5 Watt braucht. Demnach habe ich die Werte auch gering gesetzt. Für größere Verbraucher müssen die Werte natürlich angepasst werden.

set Wz.Steckdose.PC.Power regSet txThrHiPwr 4;
set Wz.Steckdose.PC.Power regSet txThrLoPwr 1;
set Wz.Steckdose.PC.Power regSet cndTxDecAbove 200;
set Wz.Steckdose.PC.Power regSet cndTxDecBelow 0


ACHTUNG: Für regSet die Readings ohne vorangestelltes "R-" angeben!!!


6. Prüfen, ob das Peering funktioniert hat und Werte übergeben werden.

Es sollte nun in dem Device "Virtuell.Aktor.Wz.Steckdose.PC.Power_Btn1", welches wir gepeert haben, unter Readings der Punkt "trigLast" erscheinen. Dort wird jedes mal, wenn sich der gemessene Power-Wert (also Leistung in Watt) ändert so etwas wie "Wz.Steckdose.PC.Power:200" stehen.


7. Notify definieren

define Wz.Steckdose.PC.notify notify Virtuell.Aktor.Wz.Steckdose.PC.Power_Btn1:trigLast:.* {WzSteckdosePC()}

Damit wird bei einer Änderung des trigLast Readings des virtuellen Aktors die Funktion "WzSteckdosePC()" ausgeführt


8. Funktion in die Datei "99_myUtils.pm" schreiben

sub WzSteckdosePC(){

if(ReadingsVal("Virtuell.Aktor.Wz.Steckdose.PC.Power_Btn1","trigLast","Wz.Steckdose.PC.Power:200") eq "Wz.Steckdose.PC.Power:200"){
fhem("set Wz.Steckdose.Monitore on")
}else{
fhem("set Wz.Steckdose.Monitore off")
}

}


Es wird geprüft, ob der Schwellwert für das Einschalten der zweiten Steckdose erreicht ist und dann geschaltet. Wenn der Schwellwert nicht erreicht ist, wird die Steckdose ausgeschaltet. Diese Prüfung zieht dazu das trigLast Reading des virtuellen Aktors heran.


9. FERTIG

Nun schaltet sich die zweite Steckdose ein, sobald ein Verbraucher an der Steckdose mit Lastmessung eingeschaltet wird.

martinp876

Genau so funktioniert es. Zu deinen Kommentaren:
Fhem fragt die Werte nicht ab, der Aktor liefert diese. Das passiert nur alle paar Minuten, da sonst der Funkverkehr überlastet wäre. Geht nicht wirklich anders. Um Schwellwertüberschreitungen sofort (oder überhaupt) zu sehen gibt es die Trigger.
Eleganter ist es, statt des virtuellen Aktors einen virtuellen Kanal der vccu zu nutzen. Dieser sendet das ACK. Das notify kann man auch auf den Messekanal legen. Da kommt der Trigger her. Ist nicht so durch die Brust ins Auge. Myutils ist dann nicht notwendig.

Wuck

Das mit der virtuellen CCU habe ich probiert aber irgendwie hat das nicht geklappt. Dann habe ich diesen Weg gefunden und es funktioniert. Und so kann ich jetzt ggf auch noch andere Aktionen ausführen lassen, die ich in die Funktion einbaue.

Aber zur Ausgangsfrage: WIeso ist der Funkverkehr überlastet, wenn die Dose einfach jedes Mal bei einer Laständerung den Wert übermittelt. Meine Thermometer z.B. senden auch jede Änderung.

Brockmann

Zitat von: Wuck am 31 März 2017, 13:57:39
Das Problem meiner Monitore ist, dass im Standby eine LED anfängt zu blinken. Wenn die Monitore in Betrieb sind geht diese aus.
Solche Probleme kenne ich auch.
Ich greife da gerne mal zu einem kleinen Stück Isoband. Schwarzes Band auf schwarzem Gehäuse fällt gar nicht auf.  ;)

Otto123

Zitat von: Brockmann am 01 April 2017, 10:50:33
Solche Probleme kenne ich auch.
Ich greife da gerne mal zu einem kleinen Stück Isoband. Schwarzes Band auf schwarzem Gehäuse fällt gar nicht auf.  ;)
Wollte ich vorhin auch schon schreiben. Und als Zugabe: Ein Freund von mir sagt immer, was man nicht verbergen kann soll man betonen -> Passende Sticker die aus bedrucktem Alu bestehen sind absolut lichtdicht. Gibts ja technisch oder peppig - wie man mag.
Aber automatisiert nicht.  ;)

Mich nerve diese Blinker Dinger auch immer  >:(

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Wuck

Schwarzes Tape ist die Wunderwaffe für alles  ;) . Mache ich auch schonmal. Aber hier finde ich das nicht so hübsch. Bin ganz zufrieden mit meiner Lösung. Auch wenn es etwas umständlich ist. Es funktioniert  :D

Otto123

Zitat von: Wuck am 01 April 2017, 12:39:59
Schwarzes Tape ist die Wunderwaffe für alles  ;) . Mache ich auch schonmal. Aber hier finde ich das nicht so hübsch. Bin ganz zufrieden mit meiner Lösung. Auch wenn es etwas umständlich ist. Es funktioniert  :D
Das ist die Hauptsache  8)
Schönen Sonntag
Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Tiedi

#11
Hallo,

habe ein anderes Problem mit dem Zwischenstecker mit Leistungsmessung.
Habe mir eine Grafik gemacht, die den Stromverbrauch visualisiert. Es ist eine 5w LED Lampe angeschlossen, die den ganzen Tag lang an ist. Ich schalte den Zwischenstecker aktuell garnicht. Ist auf Dauer On.
Trotzdem sind in der Grafik immer wieder Aussetzer. Die geloggten Werte stimmen auch mit der Grafik überein. Es werden dann teilweise 5 Min lang nur 0,07w als Stromverbrauch geloggt.

frank

ich würde behaupten, dass die lampe auf alle fälle während dieser phasen nicht leuchtet, wenn der aktor richtig funktioniert. für plots nutze ich immer den strom, aber hier gab es noch nie aussetzer.
wie sieht der strom oder die spannung aus?
wackelkontakt in der zuleitung zur lampe oder katze schaltet aus.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Otto123

Zitat von: frank am 03 April 2017, 16:23:16
wackelkontakt in der zuleitung zur lampe oder katze schaltet aus.
Ich dachte an Nachleuchtphase der Super LED in der Energiesparpause - aber den hätte ich nur am Samstag bringen können.  ;D

Ich habe auch schon Power über längeren Zeitraum geloggt, ohne Aussetzer.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Tiedi

OK, ich habe mal meine KWL (Lüftungsanlage) an den Zwischenstecker angeschlossen, die braucht so um die 80 Watt. Das funktioniert ohne Probleme.
Liegt wohl an der LED Lampe, warum auch immer. Egal.

Otto123

Da lag ich mit meinem Scherz nicht so daneben? Ist ja komisch.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Tiedi

noch eine Frage, die aufgetaucht ist: Ich habe mir den Schaltaktor mit Leistungsmessung gekauft, um den Stromertrag meiner 3 Photovoltaikmodule zu loggen. Registriert das Gerät auch produzierten Strom oder nur verbrauchten Strom?

Otto123

Hi,

Du hast lustige Vorstellungen :)
Aber ein Blick in die Beschreibung sagt es deutlich
ZitatZusätzlicher Messkanal für die Erfassung von Spannung, Strom, Frequenz, Wirkleistung und Energieverbrauch einer angeschlossenen Last

Was Du willst geht mit einem Zweirichtungs Zähler z.B.  SDM630

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Tiedi

Der erzeugten Strom anzeigen macht doch jedes billige 10€ Baumarkt Strommessgerät.
Der HM müsste ja nur eine Richtung loggen, nicht beide.
Das muss doch gehen!?

Otto123

Zitat von: Tiedi am 05 April 2017, 15:03:04
Registriert das Gerät auch produzierten Strom oder nur verbrauchten Strom?
Das war Deine Frage.
Wenn Du deinen produzierten Strom auch verbrauchst sage ich ja.

Wo geht denn Dein produzierter Strom hin?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Tiedi

In der Steckdose des HM stecken die Solarmodule, diese speisen den Strom in meine Unterverteilung und somit an all meine Geräte im Haushalt.

Der HM braucht nur die produzierte Menge Strom messen. Der Stromverbrauch findet ganz woanders statt.

Otto123

Du hast Stecker an den Solarmodulen? Bist Du wahnsinnig? :'(

Und genau so rum geht der Messkreis nicht. Der geht von hinten nach vorne und nicht von vorne nach hinten.  ;D
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Tiedi

Am Wechselrichter (jedes Modul hat einen eigenen) ist der Stecker, der Wechselrichter hat natürlich eine Abschaltung, die keinen Strom mehr ausgibt, sobald keine Verbindung mit dem Stromnetz besteht. Daher ist das ganze auch sicher. Sonst wäre es tatsächlich wahnsinnig

Tiedi

Zitat von: Otto123 am 05 April 2017, 21:55:30
Und genau so rum geht der Messkreis nicht. Der geht von hinten nach vorne und nicht von vorne nach hinten.  ;D

OK, Das heißt theoretisch, wenn ich den Zwischenstecker umdrehe, dann würde es gehen? Hmmm, keine gute Lösung aber gut zu wissen

Otto123

#24
Naja, er misst den Strom: Hinten Einspeisung, vorne Verbraucher.

Was es nicht alles gibt  :o

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Tiedi

Ich habe es mal testweise laufen lassen:

Habe in die Steckdose den HM mit Lastmessung darein ein Baumarkt Strommessgerät und darein den Stecker, der zum Wechselrichter des PV Moduls führt.
Morgens scheint noch keine Sonne, es wird kein Strom produziert. Der HM zeigt 0,3w Stromverbrauch an. Das Baumarktmessgerät schluckt als die 0,3w.
Als die Sonne zu scheinen beginnt, werden anfangs 100w produziert. Der HM zeigt nun einen Stromverbrauch von 0,0w an. Das Baumarktmessgerät wird also vom PV Modul versorgt.
Der HM geht aber nicht in den Minsbereich rein. Misst also nur den Stromverbrauch. Das Baumarktmessgerät zeigt brav an, was gerade produziert wird.

Habe mir daher nun diesen Zähler für meinen Sicherungsschrank gekauft. Das PV System mit 3 Modulen wird mit gesondertem Kabel/Sicherungsautomat und eben diesem Zähler angeschlossen.
Der Zähler lässt sich mit einem Youless LS110 oder LS120 super einfach auslesen.

http://bg-etech.de/os/product_info.php/cPath/24_27/products_id/172

Adriano

Hallo, ich hänge mich hier mal mit an trotz 120 Tage Frist. Ich habe mein HM-LC-SW1-BA-PCB an mein HM-ES-PMSw1-Pl-DN-R1 gepeert mit:


set PoolPumpe_SenPwr peerChan 0 PoolChlorinator single set
set PoolPumpe_SenPwr getConfig
set PoolPumpe_SenPwr regSet cndTxFalling on
set PoolChlorinator getConfig


Die Peerings sehen auch soweit gut aus, es soll erreicht werden, dass unter 100 Watt der Chlorinator abgeschaltet wird direkt vom Pool-Pumpen-Stecker.

List vom PoolPumpe_SenPwr
   
     2017-08-13 16:53:14   R-PoolChlorinator_chn-01-expectAES off
     2017-08-13 16:53:14   R-PoolChlorinator_chn-01-peerNeedsBurst off
     2017-08-13 16:53:13   R-cndTxCycAbove off
     2017-08-13 16:53:13   R-cndTxCycBelow off
     2017-06-24 12:45:30   R-cndTxDecAbove 200
     2017-06-24 12:45:30   R-cndTxDecBelow 0
     2017-08-13 16:53:13   R-cndTxFalling  on
     2017-08-13 16:53:13   R-cndTxRising   off
     2017-06-24 12:45:30   R-sign          off


List vom PoolChlorinator


     2017-08-13 16:20:04   R-PoolPumpe_SenPwr-lgActionType jmpToTarget
     2017-08-13 16:20:04   R-PoolPumpe_SenPwr-shActionType jmpToTarget
     2017-08-10 10:28:18   R-pairCentral   0x...........
     2017-08-10 10:28:29   R-sign          off
     2017-08-13 19:38:50   RegL_00.          ...........................
     2017-08-13 19:38:51   RegL_01.         08:00 00:00
     2017-08-13 19:38:53   RegL_03.PoolPumpe_SenPwr  .................................
     2017-08-13 19:53:27   battery         low
     2017-08-13 19:53:27   deviceMsg       off (to HMLAN1)
     2017-08-13 19:53:27   level           0
     2017-08-13 19:53:27   pct             0
     2017-08-13 19:38:52   peerList        PoolPumpe_SenPwr,


Habe dann test-weise die Pumpe direkt an der Pumpe abgeschaltet, also PoolPumpe_SenPwr ging unter 100 Watt gen 0 und dann genau 0, der Chlorinator war angeschaltet. Hat aber kein trigLast bekommen und ging natürlich auch nicht aus.
Habe ich noch etwas vergessen?

Ist "PoolPumpe_SenPwr cndTxFalling on" überhaupt korrekt?

Danke vielmals für Hilfe.
Grüße
Adriano