Bei einem Longpress nur einmal ein userReading anlegen?

Begonnen von FunkOdyssey, 19 April 2017, 18:03:02

Vorheriges Thema - Nächstes Thema

FunkOdyssey

Hallo,

ich brauche mal einen Tipp.

Ich habe eine Homematic-Tasterschnittstelle (HM-PBI-4-FM), bei deren Auslösung eines Kanals immer ein Longpress erkannt wird. Damit muss und kann ich leben. In den darauf aufsetzenden DOIFs prüfe ich bereits folgendermaßen:
[tasterschnittstelle_01 ] =~ /Long.1_.*/

Das spielt bei meiner Frage aber eigentlich keine große Rolle. :-)

Ich lege mir bereits folgendes userReading an:

lastAction:trigger.* {ReadingsTimestamp("$name","trigger","")}

Jedoch wird dieses neue Reading mehrmals angelegt. Ich will aber, dass es für eine (wenn auch längere) Auslösung nur einmal erstellt wird. Also nur bei "Long.1_.*".

Geht das? Wie muss ich das Attribut dann formulieren?


2017-04-19_17:09:07 tasterschnittstelle_01 Long 1_10 (to broadcast)
2017-04-19_17:09:07 tasterschnittstelle_01 trigger: Long_10
2017-04-19_17:09:07 tasterschnittstelle_01 trigger_cnt: 10
2017-04-19_17:09:08 tasterschnittstelle_01 Long 2_10 (to broadcast)
2017-04-19_17:09:08 tasterschnittstelle_01 trigger: Long_10
2017-04-19_17:09:08 tasterschnittstelle_01 trigger_cnt: 10
2017-04-19_17:09:08 tasterschnittstelle_01 Long 3_10 (to broadcast)
2017-04-19_17:09:08 tasterschnittstelle_01 trigger: Long_10
2017-04-19_17:09:08 tasterschnittstelle_01 trigger_cnt: 10
2017-04-19_17:09:08 tasterschnittstelle_01 Long 4_10 (to broadcast)
2017-04-19_17:09:08 tasterschnittstelle_01 trigger: Long_10
2017-04-19_17:09:08 tasterschnittstelle_01 trigger_cnt: 10
2017-04-19_17:09:08 tasterschnittstelle_01 Long 5_10 (to broadcast)
2017-04-19_17:09:08 tasterschnittstelle_01 trigger: Long_10
2017-04-19_17:09:08 tasterschnittstelle_01 trigger_cnt: 10
2017-04-19_17:09:08 tasterschnittstelle_01 Long 6_10 (to broadcast)
2017-04-19_17:09:08 tasterschnittstelle_01 trigger: Long_10
2017-04-19_17:09:08 tasterschnittstelle_01 trigger_cnt: 10
2017-04-19_17:09:09 tasterschnittstelle_01 Long 7_10 (to broadcast)
2017-04-19_17:09:09 tasterschnittstelle_01 trigger: Long_10
2017-04-19_17:09:09 tasterschnittstelle_01 trigger_cnt: 10


Vielen Dank.

Ellert

#1
Vielleicht so
lastAction:state..Long.1_.* {ReadingsTimestamp("$name","trigger","")}

FunkOdyssey

Schade, das hat leider nicht funktioniert.

Gibt es vielleicht noch eine andere Idee?

stromer-12

Versuchs mal mit:
lastAction:trigger_cnt.* {ReadingsTimestamp("$name","trigger","")}
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

FunkOdyssey

Das kann ich mal ausprobieren. Jedoch wird dieses Reading ja auch mehrfach geschrieben.
Oder ich müsste es dann mittels "event-on-change-reading" umgehen.

Thorsten Pferdekaemper

Hi,
ich würde sagen, event-on-change-reading ist hier das richtige Stichwort.
Gruß,
   Thorsten
FUIP