Events (short, long) und Input widersprüchlich

  • Ich habe eine Frage zu den Dateninhalten der Events bzw. Inputs. Und zwar habe ich in einem Raum beim Shelly Dimmer2 im WebInterface die Auto OFF Zeit konfiguriert, sodass er nach 21600 Sekunden, also 6 Stunden, von selbst ausschalten soll, wenn er an ist.

    Nun war es so, dass das Licht bereits über 5 Stunden an war und im WebInterface lief die Zeit auch ab.

    So, aber dann, kurz Zeit darauf, war das Licht bereits aus, und zwar 45 Minuten vor Ablauf der 6 Stunden.

    Diese Info habe ich aus der Objekt-Ansicht im ioBroker.

    Und was dort angezeigt wird, macht mich stutzig, bzw. kann mir keinen Reim drauf machen.

    Bei "SWITCH STATE" sehe ich, dass das Licht ausgeschaltet wurde.

    Mit nahezu identischem Zeitstempel ist auch der Wert Event1 zuletzt verändert worden und hat den Inhalt "1xShort(S)"

    Am Dimmer2 ist lediglich ein Wandtaster per Input1 angeschlossen. Aber der Input1 - State zeigt nur die letzte Änderung vor 5,25 Stunden, als am Taster das Licht eingeschaltet wurde. Es wurde aber offenbar nicht am Taster ausgeschaltet ?

    Kann es sein, dass der Input1-State verschluckt wird, wenn man extrem kurz den Taster betätigt, dass aber dadurch dennoch das Event 1xShort(S) ausgelöst hat, um das Licht auszuschalten?

    Ich habe erwartet, dass ein Button Event halt nur durch den Hardware-Taster ausgelöst werden kann und dass dann ein Event immer einhergeht mit einem Trigger des Input1 ?

    Vielleicht kann hier jemand etwas "Licht" ins Dunkel bringen, danke euch ...

  • Kann es sein, dass der Input1-State verschluckt wird, wenn man extrem kurz den Taster betätigt, dass aber dadurch dennoch das Event 1xShort(S) ausgelöst hat, um das Licht auszuschalten?

    nein, sehr unwahrscheinlich .. bei Tastern sind im ioBroker zwei Werte wichtig:

    - InputEvent (S, SS, L), also shortPush, DoublePush oder LongPush)

    - InputEventCnt (der Counter wird um 1 hochgezählt, wenn der Taster betätigt wird).

    ist der Counter unverändert, dann hat auch kein Taster-Ereignis stattgefunden..

    Es ist m.W. nicht möglich den Taster so kurz zu drücken, dass der Counter nicht hochgezählt wird aber trotzdem das Licht an/aus geht.

    >100 Shellies, darunter so gut wie alles was der Hersteller produziert hat. ;)
    :!: ich beantworte grundsätzlich keine Fragen per persönlicher Nachricht:!:

  • Seven of Nine:

    Leider kann ich nicht sagen, wie der Event-Counter Wert davor war. Meine Frage war auch die, dass es im ioBroker in den Objekten ja für den Shelly Dimmer2 auch die Datenpunkte "Input1" und "Input2" gibt, die den Status der beiden Eingänge am Dimmer zeigen.

    Und ein Short-Press-Event kann ja nur durch Drücken des Wandtasters erfolgen in meinem Fall. Und dieser ist über den Input1 angeschlossen.

    Nun sehe ich bei den Objektdaten, dass das Event "1xShort(S)" registriert wurde zu genau der Zeit, als auch der State für "Switch" auf FALSE gewechselt hat. Aber beim State von "Input1" sehe ich nichts, d.h. dort liegt der Zeitstempel der letzten Signaländerung mehr als 5 Stunden zurück.

    Meine Frage ist daher, wie kann ein Event als 1xShort(S) ausgelöst werden, wenn keine Statusänderung am Inpu1 vermerkt wurde. Oder kann es da halt sein, wenn man so kurz drückt, dass der Shelly zwar den Tastendruck registriert hat als Short-Event, aber ioBroker die Wertänderung am Input1 nicht mitbekommt ? Oder dass der Shelly die Änderung nicht kommuniziert hat ?

    Anmerkung: Ich nutze nur die HTTP Schnittstelle, kein MQTT.

  • Meine Frage ist daher, wie kann ein Event als 1xShort(S) ausgelöst werden, wenn keine Statusänderung am Inpu1 vermerkt wurde.

    ich kann dir zu den Feldern im ioBroker nicht viel sagen, nutze das Teil selbst nicht aber ich kenne die Coap-Nachrichten mehr als gut, die der Broker verarbeitet ..

    Die hier (und nur die) sind für Taster-Events relevant. Es passiert immer dann ein Event, wenn der EventCount für den jeweiligen Taster +1 nach oben zählt.

    pasted-from-clipboard.png

    Input1 und Input2 kannst du komplett ignorieren, die sind für Schalter gedacht und für Taster irrelevant.. Da sind schon mehrere vor dir drauf reingefallen.

    aber ioBroker die Wertänderung am Input1 nicht mitbekommt ?

    wenn der Broker die Coap-Nachricht nicht erhält, weil z.B. ein Netzwerk-Gerät diese filtert / blockiert, dann werden dort auch die Werte nicht hochgezählt. aber auch hier gilt "Input1" und Input2 kannst du ignorieren, solange du Taster und keine Schalter angeschlossen hast.

    >100 Shellies, darunter so gut wie alles was der Hersteller produziert hat. ;)
    :!: ich beantworte grundsätzlich keine Fragen per persönlicher Nachricht:!:

  • Seven of Nine:

    Vielen Dank für deine Infos,

    ich vermute das erklärt auch ein Verhalten eines Scriptes von mir. Es funkioniert "meistens", aber nicht immer wie gewünscht. Und dort verwende ich auch den Input1 State Zeitstempel, um Entscheidungen zu treffen. Dann werde ich das ändern und die Events verwenden.

    Ich konnte es gestern auch noch nachstellen. Licht an, dann am Wandtaster kurz gedrückt, Licht aus, Event 1xShort(S) ordnungsgemäß getriggert, aber Input1 State Zeitstempel im ioBroker nicht aktualisiert, blieb auf altem Wert. (welcher übrigens gesetzt wurde während eines DIM-Vorgangs, also ein länger anstehendes Signal war).

    Für mich merke ich es mir einfach so, wie du auch schreibst, Input states nur verwenden, wenn dort länger andauernde "Schaltzustände" rein kommen, wie z.B. ein Ausgangssignal eines Bewegungsmelders, der z.B. 10s lang schaltet.

    Vielleicht abschließend noch 1 Frage zu den Datenpunkten:

    - Es gibt noch 2 weitere, boolesche Kanäle mit Namen "longpush1" und "longpush2". Was haben die beiden konkrekt für einen Sinn ?

    Aus meiner Beabachtung scheint das wie folgt zu sein:

    Die beiden longpush-Kanäle stehen auf TRUE, wenn die letzte Signalart an Input1 bzw. Input2 ein langer Tastendruck war. Wenn ja, zeigt der entsprechende Kanal dort TRUE.

    Das TRUE wird auf FALSE zurückgesetzt, wenn ein kurzer Tastendruck erfolgt.

    Die Zeitstempel dieser longpush-Kanaländerungen deckt sich 1:1 mit den Event-Zeitstempeln.

    Für mich ergibt sich da keine Information draus, die man nicht auch direkt aus den Event-Kanälen bekäme, oder ? Werden diese auch per Coap vom Shelly gesendet, oder sind das vielleicht vom ioBroker Adapter erzeugte Datenpunkte aus den Event-Daten ?

    Nochmal vielen Dank und Gruß,

    dewaldo

  • Dieses Thema enthält 8 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.