FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: majorshark am 17 September 2015, 21:01:31

Titel: Taster an HM Steckdosen
Beitrag von: majorshark am 17 September 2015, 21:01:31
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.
Titel: Antw:Taster an HM Steckdosen
Beitrag von: Bennemannc am 17 September 2015, 22:42:34
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
Titel: Antw:Taster an HM Steckdosen
Beitrag von: majorshark am 18 September 2015, 07:57:11
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
Titel: Antw:Taster an HM Steckdosen
Beitrag von: arne.dien am 18 September 2015, 08:34:15
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
Titel: Antw:Taster an HM Steckdosen
Beitrag von: marvin78 am 18 September 2015, 08:37:45
Das macht die Register sichtbar, nicht aber den Taster zu einem Sender.
Titel: Antw:Taster an HM Steckdosen
Beitrag von: Brockmann am 18 September 2015, 09:55:04
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.
Titel: Antw:Taster an HM Steckdosen
Beitrag von: Bennemannc am 18 September 2015, 11:24:02
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
Titel: Antw:Taster an HM Steckdosen
Beitrag von: Wuppi68 am 18 September 2015, 13:37:32
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
Titel: Antw:Taster an HM Steckdosen
Beitrag von: majorshark am 21 September 2015, 08:41:09
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