FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: Tommi ratlos am 12 November 2017, 17:41:37

Titel: hmPair Schalter mit status
Beitrag von: Tommi ratlos am 12 November 2017, 17:41:37
Hallo,

ich suche eine Möglichkeit auf InternalVal("CUNX868","hmPair","0") reagieren.
Da es kein Reading ist geht es mit notify nicht.

Ich habe einen dummy Schalter mit fhem("set CUNX868 hmPairForSec 120") angelegt und möchte den Schalter auf off setzen wenn hmPair wieder "Weg" ist.

Gruß
Thomas
Titel: Antw:hmPair Schalter mit status
Beitrag von: viegener am 12 November 2017, 23:22:11
Ich kann Dir jetzt auch keine Lösung, wie Du auf ein internal reagieren kannst, aber es wäre hilfreich, wenn Du beschreben würdest was Du eigentlich erreichen willst, vielleicht gibt es ja einen anderen Weg?

Achso ich habe nicht wirklich was Du mit folgendem meinst:

Zitat von: Tommi ratlos am 12 November 2017, 17:41:37
Ich habe einen dummy Schalter mit fhem("set CUNX868 hmPairForSec 120") angelegt und möchte den Schalter auf off setzen wenn hmPair wieder "Weg" ist.

Wo ist der dummy hier ?
Titel: Antw:hmPair Schalter mit status
Beitrag von: Tommi ratlos am 12 November 2017, 23:32:28
Hallo,

den Dummy Schalter (setPairON) on/off habe ich nicht extra reingeschrieben.
Ich möchte erreichen das der Schalter nach Ablauf der hmPairForSec Zeit bzw . nach dem Pairen auf off gesetzt wird.

Etwa so

if InternalVal("CUNX868","hmPair","0") = 0 {
set setPairON off
}


Gruß
Thomas
Titel: Antw:hmPair Schalter mit status
Beitrag von: MadMax-FHEM am 12 November 2017, 23:45:17
Und wozu?

Dumm aber machbar: zyklisches 'at' das das InternalVal prüft und schaltet...

Gruß, Joachim
Titel: Antw:hmPair Schalter mit status
Beitrag von: viegener am 13 November 2017, 00:01:52
Zitat von: Tommi ratlos am 12 November 2017, 23:32:28
Ich möchte erreichen das der Schalter nach Ablauf der hmPairForSec Zeit bzw . nach dem Pairen auf off gesetzt wird.


Aber warum - was willst Du mit dem dummy erreichen, denn wie MadMax-FHEM schon schreibt, ohne das ständige überprüfen per polling kommst Du nwohl nicht herum.

Titel: Antw:hmPair Schalter mit status
Beitrag von: Tommi ratlos am 13 November 2017, 05:57:02
Morgähn,

danke für die Antworten Ihr habt natürlich recht AT oder Polling macht keinen Sinn kostet nur Rechenleistung. Hatte gehofft es gibt eine andere Lösung.

Gruß
Thomas
Titel: Antw:hmPair Schalter mit status
Beitrag von: MadMax-FHEM am 13 November 2017, 07:33:14
Rein aus Neugierde würde mich aber trotzdem interessieren: wozu du das willst/brauchst...

Und wie schon geschrieben: vielleicht gibt es ja eine Lösung für das was du wirklich willst/brauchst/damit bezweckst/bezwecken willst...

Gruß, Joachim
Titel: Antw:hmPair Schalter mit status
Beitrag von: Tommi ratlos am 13 November 2017, 09:37:38
Hallo Joachim,

naja, wirklich brauchen tue ich das nicht.  ;) Die Idee war ein wenig mehr Komfort beim Pairen.
Schalter (der eher als Taster funktioniert) drücken, hmPairForSec wird gesetzt. Nach Ablauf der Zeit bzw. wenn Pairing nAC oder AC (hmPair nicht mehr gesetzt) wird er Schalter auf "off" gesetzt.

Gruß
Thomas
Titel: Antw:hmPair Schalter mit status
Beitrag von: viegener am 13 November 2017, 10:42:11
Dazu gibt es verschiedene Möglichkeiten:

- Im FTUI kann man auch die Werte von Internals anzeigen, ich denke das geht auch für den Status eines Buttons (vermutlich aber nicht als event, sondern nur über shortpoll)

- Alternativ kann auch zusammen mit dem Setzen des hmpairforsec auch ein at erzeugt werden, dass den Status des dummies wieder zurücksetzt

define makro_pairing notify makro_pairing set setPairON on;; set CUNX868 hmPairForSec 120;; sleep 120;; set setPairON off
mit
trigger makro_pairing wird dieses dann gestartet
Ohne das jetzt ausprobiert zu haben und wie gesagt es gibt da vermutlich noch mehr Möglichkeiten


Titel: Antw:hmPair Schalter mit status
Beitrag von: Tommi ratlos am 13 November 2017, 11:15:25
Hallo,

danke für den Ansatz, gibt es so etwas wie "do until" oder "do while"? hmPair wird ja auch gelöscht sobald ein Pairing versucht wird "AC/nAC".


Gruß
Thomas
Titel: Antw:hmPair Schalter mit status
Beitrag von: viegener am 13 November 2017, 11:57:09
Nein nur auf der Basis von events soweit ich wüsste (nicht sicher ob sich so etwas mit DOIF erledigen liesse)
Wenn das berücksichtigt werden soll ist wohl ein polling wirklich die beste Möglichkeit

Titel: Antw:hmPair Schalter mit status
Beitrag von: Tommi ratlos am 02 Dezember 2017, 13:50:43
Hallo nochmal,

habe es jetzt so gelöst:
setPairON:on {
fhem("set CUNX868 hmPairForSec 600");
fhem("set VCCU hmPairForSec 600");
fhem("setreading CUNX868 MyHmPair 1");
fhem("define AT_WaitPairOFF at +*00:00:03 setreading CUNX868 MyHmPair 2");
}

CUNX868:MyHmPair.* {
my $PairOn = InternalVal("CUNX868", "hmPair", "0");
if ($PairOn eq "0"){
fhem("set setPairON off");
fhem("setreading CUNX868 MyHmPair 0");
fhem("delete AT_WaitPairOFF");
}
}



Gruß
Thomas