disabledaftertrigger hat eine sehr kurze Beschreibung in der commandref

Begonnen von andies, 05 März 2019, 13:57:26

Vorheriges Thema - Nächstes Thema

andies

Es ist klar, dass ein notify mit diesem Attribut den Empfang weiterer trigger anscheinend auslässt. Zuerst zum Verständnis: Das triggern wird nicht nach der Wartezeit nachgeholt, richtig? Zweite Frage: Kann man Bruchteile von Sekunden angeben (es gibt Fälle anderer Attribute, wo das nicht geht)?

Beides habe ich weder in der commandref noch im Forum gefunden. Der Befehl ist hier eingeführt:
https://svn.fhem.de/trac/changeset/17225/trunk
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Beta-User

Zitat von: andies am 05 März 2019, 13:57:26
Es ist klar, dass ein notify mit diesem Attribut den Empfang weiterer trigger anscheinend auslässt.
Ich interpretiere den code anders: das notify wir ausgelöst, aber nicht der Ausführungsteil ausgeführt (stattdessen: return ""; ). Der Trigger geht daher ins Leere und wird auch nicht nachgeholt.

Da nummerisch gerechnet wird, kommt es darauf an, wie genau der Rückgabewert von gettimeofday() aussieht => Die Antwort steht in FHEM, wenn du das mit {gettimeofday()} in das Kommandofeld eingibst ;) . Ist der mit Nachkommastellen, gehen auch ohne weiteres Bruchteile...

Generell: m.E. ist die commandref an der Stelle ausreichend genau, es führt nirgendwo hin, wenn alles noch genauer beschrieben wird. Das mindert im Ergebnis nur die Übersichtlichkeit; das sieht man ja bei Modulen, wo "alles" in der cref steht...

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

andies

Zitat von: Beta-User am 05 März 2019, 14:08:45
Generell: m.E. ist die commandref an der Stelle ausreichend genau, es führt nirgendwo hin, wenn alles noch genauer beschrieben wird. Das mindert im Ergebnis nur die Übersichtlichkeit; das sieht man ja bei Modulen, wo "alles" in der cref steht...
Na ja, du hattest jetzt damit Arbeit, mir das alles zu erklären (danke dafür). Wenn das ok ist, dann kann alles so bleiben.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Beta-User

 :)
Zum einen weiß ich, dass du dein Wissen auch weitergibst, von daher mache ich mir gerne die Mühe, für Multiplikation zu sorgen, zum anderen hast du von der commandref gesprochen. Da schätze ich die knappe Art sehr, die v.a. Rudi vorlebt.

Das hindert aber keinen, dazu ein paar mehr Worte im Wiki zu schreiben ;) .

Mein persönliches Verständnis von einer sinnvollen Doku in FHEM (das kann man auch anders sehen):
knappe commandref, gerne auch _nur_ in englisch (das macht der Modulautor, der hat eigentlich besseres zu tun!), in der man alles Wesentliche möglichst übersichtlich findet.
Nutzerhandbücher, ausführliche Beispiele, Spezialfälle usw. gehören dann in's Wiki.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

rabehd

andies schrieb im ersten Beitrag:
ZitatEs ist klar, dass ein notify mit diesem Attribut den Empfang weiterer trigger anscheinend auslöst.

Beta-User zitiert:
ZitatEs ist klar, dass ein notify mit diesem Attribut den Empfang weiterer trigger anscheinend auslässt.

Das sind für mich 2 völlig verschiedene Aussagen!
Meine Vermutung:
Zitat« Letzte Änderung: Heute um 14:09:08 von andies »
Das könnte Leser verwirren.

Lesestand 16:22
Auch funktionierende Lösungen kann man hinterfragen.

andies

Ja, ich habe einen Schreibfehler beim mir behoben. Ich meinte "auslöst" und Beta-User hat das sicher auch so verstanden.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

rabehd

Für mich passen "disable" und "auslösen" nicht zusammen. Im Moment bin ich eher verwirrt, als informiert.
Also muss ich mich zu diesem Attribut erst schlau machen.
Auch funktionierende Lösungen kann man hinterfragen.

andies

Mist, ich meinte natürlich doch auslässt. Es gibt keinen Trigger. Ich dachte, ich hätte da einen Schreibfehler und hatte das dann repariert. Das mache ich jetzt wieder rückgängig, oben!
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Beta-User

Doch, es gibt einen Trigger, und ich hatte auslässt gelesen und verstanden und genau so auch geantwortet.

Weiterhin: Es wird zwar getriggert, also bestimmte Teile des Codes ausgeführt, aber der Ausführungsteil nicht ausgelöst.
Und "disabled after trigger" trifft es schon, weil auch bei einem gesetzten "disabled" wird bei einem Trigger erst mal nachgesehen, ob denn reagiert werden soll...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

andies

FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

Ich muss das nochmal aufmachen. Ich habe folgendes notify
Internals:
   CFGFN     
   DEF        SensorHydrAbgleich.*:.* a
   FUUID      5e30a709-f33f-1115-ee0d-b623eca96f3aea68
   NAME       hydrAbgleichNotify2
   NOTIFYDEV  SensorHydrAbgleich.*
   NR         36288
   NTFY_ORDER 50-hydrAbgleichNotify2
   REGEXP     SensorHydrAbgleich.*:.*
   STATE      2020-01-29 13:33:50
   TRIGGERTIME 1580301230.68363
   TYPE       notify
   READINGS:
     2020-01-29 11:26:39   AussHausWohnz   5.7 19 18.5
     2020-01-29 11:26:39   state           active
Attributes:
   disabledAfterTrigger 3600
   disabledForIntervals 21:05-08:00
   group      _Hydr_Abgleich
   room       Info
   userReadings AussHausWohnz {ReadingsVal("Viessmann","Aussentemperatur", "")." ".ReadingsVal("hydr_Abgleich", "median", "")." ".ReadingsVal("SensorHydrAbgleich_schwarz_weiss","myTemperatur", "")}

und ich war der Meinung, dass dieses Gerät nach Ablauf einer Stunde erneut getriggert wird: Die Readings werden nicht aktualisiert. Der Auslöser ist korrekt, dort liegen mehrere Geräte vor, die ausgelöst wurden. Was mache ich denn da falsch?

<edit> Ist vielleicht der Fehler, dass ich keine Anweisung im notify habe? Jedenfalls habe ich das "a" mal durch ein setreading ersetzt und beobachte mal.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

Das klappt irgendwie auch nicht. Ich habe das jetzt mit DOIF gemacht, laut commandref müsste das hier gehen

defmod hydrAbgleichDOIF DOIF {[08:00-21:05,+01:00];;fhem_set "setreading hydrAbgleichDOIF AussHausWohnz ".ReadingsVal("Viessmann","Aussentemperatur", "")." ".ReadingsVal("hydr_Abgleich", "median", "")." ".ReadingsVal("SensorHydrAbgleich_schwarz_weiss","myTemperatur", "")}
attr hydrAbgleichDOIF do always

Allerdings wundert mich der Eintrag
Vorher hatte ich +60 geschrieben und das geht nicht, weil DOIF bei Minutenangaben maximal 59 akzeptiert, während plus 60 Minuten als +1:00 einzugeben ist.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann