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.