+ Antworten
Seite 83 von 118 ErsteErste ... 33 73 81 82 83 84 85 93 ... LetzteLetzte
Ergebnis 821 bis 830 von 1178
  1. #821
    Registriert seit
    Apr 2014
    Beiträge
    13

    Wie?

    Ich glaube ich stehe gerade extrem auf dem Schlauch...

  2. #822
    Registriert seit
    Feb 2014
    Ort
    Büchen
    Beiträge
    42

    Standard i3 Tastendruck auswerten?

    Vielen Dank Kai für die Einbindung des i3

    Eine Frage: Wie wertet ihr den i3 aus?
    Bei jedem Tastendruck verändert sich der Status des jeweiligen Eingangs. Beim Doppelklick allerdings 2x und zusätzlich ändert sich Eingang Ereignis.

    Aktualisiert werden die Eingänge und Eingang Ereignisse bei jedem Keep Alive.

    Wenn ich jetzt ein Ereignis auf die Änderung des Eingangs lege, wird dies gestartet bevor klar ist, ob es ein Doppelklick wird
    Auf Aktualisierung des Eingang Ereignisses kann ich nicht gehen, wegen Keep Alive und auf Änderung auch nicht, weil sich dies nicht ändert, wenn z.B. mehrere einfache Klicks erfolgen.

    Hat jemand eine Idee?

  3. #823
    Registriert seit
    Oct 2018
    Beiträge
    288

    Hast Du mal für Doppelklick probiert:

    Änderung Status des Eingangs und als weitere Bedingung (die man ja als Auslöser definieren kann) dann die Änderung des Eingang Ereignis?
    Also wenn beides erfüllt ist, dann wird der Trigger erst aktiv.

    Ich habe leider kein i3 und kann es somit nicht testen

    Ob Du jetzt auf Änderung oder Aktualisierung triggern musst, das muss man herausfinden was genau bei Tastendruck passiert bzw wie sich was ändert oder aktualisiert wird.

  4. #824
    Registriert seit
    Feb 2014
    Ort
    Büchen
    Beiträge
    42

    Vielen Dank für die schnelle Rückmeldung und die Idee mit den weiteren Bedingungen!

    Ich habe weiter probiert. Die Variable Eingang Ereignis schaltet mit einiger Verzögerung nach der Variable Eingang. Dadurch habe ich keine Möglichkeit gefunden eine Bedingung auf diese Variable zu legen.

    Dann habe ich versucht in die Variable Eingang Ereignis einen Dummy-Wert zu schreiben und dann auf Änderung dieser Variable zu triggern. Wenn ich immer in dem Script, dass auf Änderung dieser Variable triggert am Ende diesen Dummy-Wert setzte, hätte ich kein Problem, wenn zweimal das gleiche Eingang Ereignis hintereinander kommt. Das erschien mir eigentlich ganz elegant. Aber leider wird diese Variable ständig aktualisiert, so dass der Wert unmittelbar wieder überschrieben wird.

    Letztendlich habe ich erst einmal eine neue Variable Button-1 angelegt. Mit einem Script das auf Änderung der Variablen Eingang getriggert ist, warte ich jetzt erstmal 2 Sekunden und schreibe dann den Wert der Variable Eingang Ereignis (ID 15344) in die Variable Button-1 (ID 27623).

    Die Scripte mit den eigentlichen Aktionen triggern jetzt auf Aktualisierung diese Variablen.

    PHP-Code:
    sleep (2);

    $stat GetValue(15344);

    switch(
    $stat){

        case 
    0:
        
    SetValue(27623"Short");
        break;

        case 
    1:
        
    SetValue(27623"DShort");
        break;

        case 
    3:
        
    SetValue(27623"Long");
        break;

        default:
        
    SetValue(27623"NN");
        } 
    Irgendwie etwas umständlich und bei allen Button, die mehr als Short-Press können sollen 2 zusätzliche Sekunden Wartezeit.....

  5. #825
    Registriert seit
    Oct 2018
    Beiträge
    288

    Könntest Du mal bitte einen Screenshot machen, wo man sieht welche Variable(n) wann geändert bzw aktualisiert werden?
    Also bei ShortPush, 2x ShortPush, LongPush etc?

  6. #826
    Registriert seit
    Feb 2014
    Ort
    Büchen
    Beiträge
    42

    Anbei die Screenshots. Geschaltet habe ich jeweils Button 1.

    Die anderen Variablen wurden durch MQTT aktualisiert.

    Die Variable Eingang ändert sich bei jedem Knopfdruck. Bei Doppel-Short wird die Variable Eingang zweimal verändert.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Long.jpg 
Hits:	28 
Größe:	83.9 KB 
ID:	54858   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Short.jpg 
Hits:	27 
Größe:	81.0 KB 
ID:	54857   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	DShort.jpg 
Hits:	26 
Größe:	78.6 KB 
ID:	54859  

  7. #827
    Registriert seit
    Oct 2018
    Beiträge
    288

    Leider kann ich den Screenshot nicht sehen da ich mit dem Smartphone unterwegs bin und die Grafik nicht in den Beitrag eingefügt ist

  8. #828
    Registriert seit
    Feb 2014
    Ort
    Büchen
    Beiträge
    42

    Anbei die Grafiken:

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Short.jpg 
Hits:	30 
Größe:	81.0 KB 
ID:	54860
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Long.jpg 
Hits:	31 
Größe:	83.9 KB 
ID:	54861
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	DShort.jpg 
Hits:	27 
Größe:	78.6 KB 
ID:	54862

  9. #829
    Registriert seit
    Oct 2018
    Beiträge
    288

    Dann würde es doch helfen ein Skript zB auf "Aktualisierung Eingang 1 Ereignis" zu triggern und im Skript den Zustand von "Eingang 1" abzufragen, oder?

    Oder triggere auf "Bei Änderung von Eingang 1 Ereignis" und als weitere Bedingung zB "Wert Eingang 1 Ereignis = ShortPush"
    Geändert von alsk1 (25.07.20 um 23:47 Uhr)

  10. #830
    Registriert seit
    Oct 2018
    Beiträge
    288

    So wie ich das alles verstehe (am Beispiel Eingang 1):

    Eingang 1 Ereignis wird zyklisch aktualisiert
    Eingang 1 wird zyklisch aktualisiert

    Eigentlich macht das keinen Sinn das Eingang 1 Ereignis zyklisch aktualisiert wird. Denn hierüber wird ja ausgewertet, um welchen Tastendruck es sich handelt.
    Nehmen wir an Du möchtest einen Doppelpush ausführen und zwischen dem 1. und dem 2. Tastendruck wird zyklisch aktualisiert, dann dürfte der Doppelpush ja gar nicht funktionieren.

    Es müsste eigentlich so sein, daß die 'Eingang 1 Ereignis' erst aktualisiert wird, wenn der getätigte Befehl (Push, Doppelpush, LongPush) ermittelt wurde.

    Aus diesem Grund (da man zB auch 2 identische Eingaben hintereinander ausführen möchte, zB 2x ShortPush), müsste man auf Aktualisierung triggern (da sich der Zustand nicht ändert). Hier könnte man zB auf 'Aktualisierung Eingang 1 mit weiterer Bedingung Shortpush' triggern.
    So könnte man zB über die 'Aktualisierung Eingang 1 Ereignis mit weiterer Bedingung Shortpush' zB eine Lampe ein und auch wieder ausschalten.
    Wenn jedoch die Variable 'Eingang 1 Ereignis' zyklisch aktualisiert wird, dann würde das Skript laufend aufgerufen und das Licht würde zyklisch an und ausgehen, das macht keinen Sinn.
    Auf Änderung der Variable 'Eingang 1 Ereignis' kann man ebenfalls nicht triggern, da sich diese mitunter ja gar nicht ändert (zB bei ShortPush und darauffolgenden nochmaligem ShortPush (zB Licht an, Licht aus).

    An der Variablen 'Eingang 1' kann man nicht ausmachen ob ein ShortPush, LongPush etc ausgeführt wurde, diese stellt ja nur den Zustand des Hardware Eingangs dar, ob nun Spannung am Eingang anliegt oder nicht.

    Ich wüsste hier auch keine Lösung, ausser das die Variablen 'Eingang x Ereignis' nicht zyklisch aktualisiert werden dürfen (was auch keinen Sinn ergibt).

Ähnliche Themen

  1. [Modul] Tasmota - MQTT Server & MQTT Client
    Von KaiS im Forum PHP-Module
    Antworten: 850
    Letzter Beitrag: Gestern, 23:21
  2. Shelly REST API (ohne MQTT)
    Von vosermi im Forum PHP-Module
    Antworten: 7
    Letzter Beitrag: 18.03.20, 10:26
  3. MQTT-Client für Modul
    Von firebuster im Forum Entwicklung mit PHP-SDK/Delphi-SDK
    Antworten: 8
    Letzter Beitrag: 04.12.19, 06:35