HM-Aktor "anpingen" ??

Begonnen von Bytechanger, 16 Januar 2017, 13:58:22

Vorheriges Thema - Nächstes Thema

Bytechanger

Hallo,

für meine Anwendung möchte ich testen, ob ein HM-Aktor erreichbar ist.
In PERL habe ich es über

                 my $ostatus=ReadingsTimestamp("AussenSwitch","pct","0");
fhem "set AussenSwitch statusRequest";;
my $nstatus=ReadingsTimestamp("AussenSwitch","pct","0");
if ($ostatus eq $nstatus && $nstatus ne "0") {
                           ...

versucht.
Also ich lese den Timestamp eines Readings, setzte einen statusRequest ab und lese, ob sich der TimeStamp geändert hat.
Leider ist das  fhem "set AussenSwitch statusRequest";;  vermutlich asynchron, so dass das zweite Lesen des TimeStamps vor der Ausführung stattfindet und ich gleiche Werte bekomme.
Gibt es eine Möglichkeit zu warten, bis der statusRequest ausgeführt wurde, oder gibt es eine einfachere Möglichkeit zu "pingen" ??

Greets

Byte

marvin78

Du könntest ein sleep einbauen.

Etwas komplizierter: Per notify auf entsprechende Events reagieren um dann den entsprechend nächsten Schritt auszuführen.

Bytechanger

OK, danke.
An ein Notify hatte ich auch schon gedacht, macht es komplizierter. Dann muss ich über ein weiteres Dummy festlegen, ob ich mich in einem Ping befinde, oder ob pct normal über das Einschalten geändert wurde...

Also habe ich keine Möglichkeit übersehen, danke ...

Greets

Byte

frank

könnte man auch über actiondetector mit attr actAutoTry automatisch machen lassen. je nach konfiguration eventuell etwas träge.
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

Bytechanger

Kann ich denn über Perl eine globale Variable erstellen und später abfragen?
Das erspart mir den dummy. Dann würde ich in perl bleiben.
Vermute doch, dass es geht, da vermutlich die gesamte Datenstruktur im Speicher ist (Arrays oder Strukturen)

Greets

Byte