Hauptmenü

Reading hochzählen

Begonnen von davedeluxe, 05 März 2024, 11:03:16

Vorheriges Thema - Nächstes Thema

davedeluxe

Hi Zusammen,

ich habe einen Klingelsensor (HM-Sen-DB-PCB) dieser verändert bei einem Tastendruck das Reading "trigger".
Soweit so gut, leider ist der Wert häufig der Gleiche. z.B. "Short_123" beim nächsten Druck "Short_23" und dann kommt es vor, das beim nächsten Druck wieder der Wert "Short_23" gesetzt wird.

Um immer einen eindeutigen Wert zu haben, habe ich mir das Reading "Zaehler" angelegt und ein Notify welches dieses Reading hochzählen sollte.
Leider wird das Reading nicht hochgezählt bzw. das notify wird gar nicht ausgelöst.

Ein manuelles setreading Klingelsensor Zaehler {([Klingelsensor:Zaehler]+1)} funktioniert und "Zaehler" wird um 1 erhöht.
Ich verstehe nicht wieso das notify nicht ausgelöst wird wenn sich "trigger" ändert.

Hier mein notify:
Klingelsensor:trigger.* setreading Klingelsensor Zaehler {([Klingelsensor:Zaehler]+1)}

Hat jemand eine Idee was hier fehlt/falsch ist bzw. hat jemand eine elegantere Lösung für mich?
Ziel: Ich brauch immer einen eindeutigen Wert.

Grüße und vielen Dank im Voraus!
Dave

juemuc

Erstelle doch einmal das notify über den Eventmonitor.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

jhohmann

Das hier geht bei mir ohne Probleme:
defmod co2Arbeitszimmer_notify_1 notify co2Arbeitszimmer:co2:.* setreading co2Arbeitszimmer Zaehler {([co2Arbeitszimmer:Zaehler]+1)}
Raspberry Pi 4 - bookworm / EnOcean - Rollo+Licht, deCONZ - Licht+Sensoren, ZWave - CO Messung, HMCCU mit piVCCU - Heizung+Rollo
plus dovecot, minidlna

Otto123

Du versucht in dem notify das Device zu triggern welches das notify triggert.
Zitat von: davedeluxe am 05 März 2024, 11:03:16Ich verstehe nicht wieso das notify nicht ausgelöst wird wenn sich "trigger" ändert.
Weil das durch den Code verhindert wird, um keine Endlosschleifen zu produzieren.
Kannst Du mit einem sleep 0.1 wieder umgehen.
Ist bei setreading auch dokumentiert:
ZitatBeispiel:
setreading lampe state on
Achtung: setreading generiert kein Event für ein Gerät X, falls es aus einem notify für Gerät X aufgerufen wurde. In so einem Fall könnte man auf "sleep 0.1; setreading X Y Z" ausweichen.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

betateilchen

Zitat von: davedeluxe am 05 März 2024, 11:03:16Ziel: Ich brauch immer einen eindeutigen Wert.

Wofür brauchst Du denn den Wert? Kannst Du nicht einfach den Timestamp statt den Wert verwenden, der sollte auf jeden Fall immer anders sein.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

jhohmann

@otto, er will, dass der Trigger im notify arbeitet.
Das auf den Zähler nochmal ein Trigger läuft, war nicht gefordert.
Mein Beispiel zeigt, dass es prinzipiell gehen sollte, was auch immer damit bezweckt wird.
Raspberry Pi 4 - bookworm / EnOcean - Rollo+Licht, deCONZ - Licht+Sensoren, ZWave - CO Messung, HMCCU mit piVCCU - Heizung+Rollo
plus dovecot, minidlna

betateilchen

#6
Zitat von: jhohmann am 05 März 2024, 21:23:15Mein Beispiel zeigt, dass es prinzipiell gehen sollte, was auch immer damit bezweckt wird.

Hast Du das mal getestet?

Was spricht denn dagegen, das Ganze einfach mit einem userReading zu lösen?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Otto123

Zitat von: jhohmann am 05 März 2024, 21:23:15Das auf den Zähler nochmal ein Trigger läuft, war nicht gefordert.
Sorry, war ein Denkfehler.

Dann bleibt eigentlich nur die Vermutung: trigger erzeugt keinen Event.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

jhohmann

Zitat von: betateilchen am 05 März 2024, 22:15:09
Zitat von: jhohmann am 05 März 2024, 21:23:15Mein Beispiel zeigt, dass es prinzipiell gehen sollte, was auch immer damit bezweckt wird.
Hast Du das mal getestet?
Ja, habe ich so ausprobiert, der Zähler wurde hoch gezählt bei jeder Änderung des co2 Wertes. Ich musste aber zuerst das Zähler Reading mit einer 1 anlegen, damit das +1 auch rechnen konnte.
Raspberry Pi 4 - bookworm / EnOcean - Rollo+Licht, deCONZ - Licht+Sensoren, ZWave - CO Messung, HMCCU mit piVCCU - Heizung+Rollo
plus dovecot, minidlna

davedeluxe

#9
ZitatWas spricht denn dagegen, das Ganze einfach mit einem userReading zu lösen?
Wie würde das funktionieren?

Ich glaube aktuell macht der Klingelsensor selbst Probleme - mal wieder.
Ich habe es mit einem anderen Gerät getestet - geht :/