Taster an HM Steckdosen

Begonnen von majorshark, 17 September 2015, 21:01:31

Vorheriges Thema - Nächstes Thema

majorshark

Hallo Forum.

Wie kann man den Taster in den HM-Steckdosen abfragen ob dieser gedrückt wurde?
Hintergrund ist zu erkennen ob ein "Handbertrieb" vorliegt.
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

Bennemannc

Hallo,

soweit ich weiß sind die interen Taster - egal bei welchen HM Gerät - nicht abzufangen. Die einzigste Möglichkeit ist eine angepasste Firmware (AskSin) oder abfragen/kontrollieren ob die Statusänderung von fhem gemacht wurde oder ... vom Gerät selber - wobei das ja auch von einem on-Timer Event oder einer direktem peering kommen kann. Ob da etwas möglich ist, kommt auf Deine Konfiguration an.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

majorshark

Hallo,

Zu merken, das die Statusänderung von FHEM gemacht wurde ist eine Idee. Nur wie stelle ich's an? Für Vorschläge wäre ich Dankbar.
FHEM könnte ein Dummy oder Reading setzen, aber wer oder was setzt es wann wieder zurück?

Irgend wie habe ich bei diesem Problem eine Denkblockade.

Im Moment sieht es so aus:
Die Solaranlage oder der Dummy BH.Schalter lösen das Event aus. Entsprechend der Einstellungen von "BH.Schalter" (Aus, Ein, Hand, Automatik), der Leistung von der PV und der Aussentemperatur wird der Badheizer gesetzt. Um 0:00 Uhr wird der Dummy auf jeden Fall wieder auf "Automatik" gesetzt.



(PV:Einspeisung.*|BH.Schalter) {
my $P_Einspeisung = ReadingsVal("PV","Einspeisung",0);
my $Schalter = ReadingsVal("BH.Schalter","state",0);
my $Temperatur = ReadingsVal("Wetter","temp_c",0);
my $BH_State = ReadingsVal("Badheizer","state",0);
my $Schalt_Temp = ReadingsVal("BH.Einschalttemperatur","state",0);

if(($Schalter eq "Aus") and ($BH_State eq "on")) {
  fhem("set Badheizer off");
}

if(($Schalter eq "Ein") and ($BH_State eq "off")) {
  fhem("set Badheizer on");
}

if(($Temperatur < $Schalt_Temp) and ($P_Einspeisung > 700) and ($Schalter eq "Automatik") and ($BH_State eq "off")) {
  fhem("set Badheizer on");
}

if( (($P_Einspeisung < 20) or ($Temperatur >= $Schalt_Temp))  and (($Schalter eq "Automatik") and ($BH_State eq "on")) ) {
  fhem("set Badheizer off");
}
}



Erreichen möchte ich, dass wenn ich den Taster an der Heizkörpersteckdose drücke der Dummy "BH.Schalter" auf "Hand" gestellt wird.

Grüße Frank
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

arne.dien

Zitat von: Bennemannc am 17 September 2015, 22:42:34
...soweit ich weiß sind die interen Taster - egal bei welchen HM Gerät - nicht abzufangen...

Gibt's bei den HM-Steckdosen das Register intKeyVisib nicht? Ich habe leider keine HM-Steckdose. Bei den Schaltaktoren (Z.B. HM-LC-Sw1PBU-FM) kann mann damit die 'internen' Tasten sichtbar machen...

Gruß
Arne
FHEM 5.9, RasPi 3 B, HM-LAN, RFXtrx433, Harmony
Homematic, Licht, Rolladen, Heizkörper, Rauchmelder...
ESP RGBWW, LD316...

Es ist selten zu spät aber immer höchste Zeit...

marvin78

Das macht die Register sichtbar, nicht aber den Taster zu einem Sender.

Brockmann

Zitat von: majorshark am 18 September 2015, 07:57:11
Erreichen möchte ich, dass wenn ich den Taster an der Heizkörpersteckdose drücke der Dummy "BH.Schalter" auf "Hand" gestellt wird.
Ich würde mir erst mal im Event-Monitor beide Vorgänge anschauen, wenn per Hand geschaltet wird und wenn FHEM schaltet.
Vielleicht erkennst Du da einen systematischen Unterschied, an dem man es festmachen kann.

Ansonst fällt mir spontan ein, dass Du den Taster in den Registern vielleicht so ummappen kannst, dass er die Steckdose nicht einfach einschaltet, sondern für einen bestimmten (für Deine Zwecke immer ausreichend langen Zeitraum) einschaltet, also quasi wie "on-for-timer". Das kannst Du auf alle Fälle in den Readings erkennen und dadurch ggf. unterscheiden, ob manuell oder automatisch geschaltet wurde.

Bennemannc

Hallo,

es gäbe auch noch die Möglichkeit, den internen Taster/Schalter "tot" zu legen und dann mit einem normalen HM Schalter zu schalten. Hier könnte man dann selbstverständlich die Befehle auswerten.
Zu Deinem Vorhaben:
Ich würde ein "Notify" machen, was auf eine Änderung des Schaltzustandes (Steckdose) reagiert. In diesem Notify fragst Du einfach die Bedingungen für das automatische Schalten ab. Wenn die nicht gegeben sind, wurde von Hand geschaltet. Stimmen die Bedingungen mit der "Automatik" überein, so ist eben von dort der Schaltzustandes geändert worden. Was Du dann mit dieser Erkenntnis weiter machst, kannst Du dann selber bestimmen.

PS. Lese Dich mal in DOIF ein, dann benötigst Du nicht unbedingt Variabelen um die Readings auszuwerten.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Wuppi68

Register sichtbar machen
Shortpress auf 10 Sekunden ob setzen
Jetzt noch einen notify auf timedOn und Du kannst damit den kurzen Tastendruck auswerten


Gesendet von meinem iPad mit Tapatalk
FHEM unter Proxmox als VM

majorshark

Hallo.

Vielen Dank für die gedanklichen Anstöße. Werde eure Vorschläge mal durcharbeiten.
Um DoIF habe ich bisher erfolgreich einen "Bogen" machen können. Jetzt werde ich mich aber dann doch mal einlesen.

Grüße Frank
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch: