Beiträge von dysentrieb

    Mag sein, dass sie günstig ist, im Vergleich zu andren vergleichbaren Produkten. Aber so ein potentes Gerät auf eine so spezielle Funktion zu beschränken, die ich nicht sehr häufig verwende, sehe ich nicht ein :)

    Ich habe die Steckdose in erster Linie gekauft, weil sie relativ genau den Stromverbrauch messen kann und weil man damit Dinge aus der Ferne übers Internet steuern kann.

    Da hole ich in dem seltenen Fall, dass ich den Ultraschallreiniger verwenden möchte lieber mein Smartphone raus und starte das Skript eben manuell.

    Ok, schade. Das habe ich wohl falsch verstanden. Also ist der Knopf im Modus detached nutzlos. Echt blöd. Es hätte sonst viel potential. Ich habe mir schon ausgemalt, wie ich eine ganze List an sortpress, longpress, doublepress und Kombinationen davon erstelle, um sie mit verschiedenen Funktionen zu belegen.

    Jetzt ist mir auch klar geworden, wieso du die Bedingung

    Zitat
    JavaScript
      if (counter > 0) {
        return;
      }

    eingefügt hast. Ich dachte bisher, dass es verhindern soll, dass man über den Button das Script mehrfach startet. Aber event.info.component === "switch:0"
    bezeichnet das Relais und nicht den Button. Und dadurch würde das Script sich selbst aufrufen. So ist es bei meiner ursprünglichen Skriptvariante eben passiert.

    Danke erstmal für deine Hilfe. Ich verstehe dein Script ganz gut, denke ich.
    Ich habe ein bischen herumprobiert, aber ich komme nicht an diese Events
    long_press, double_press. Die tauchen einfach nicht auf. Weder mit Button detached noch mit button attached.

    Letztenendes soll die Funktion ja nicht bei jedem Gebrauch starten, sondern nur, wenn wenn die Plug mit dem Ultraschallreiniger verwendet wird.
    Evtl. würde ich auch noch andere weitere Scripte mit anderen Funktion auf spezielle Eingaben über den Button legen.

    Hier steht, dass diese Informationen existieren.
    https://shelly-api-docs.shelly.cloud/gen2/0.14/Comp…/#notifications

    Wie man da ran kommt, verstehe ich aber nicht.

    Ok, ich erkläre einmal, wie der Lösungsansatz gedacht ist.

    Ich habe zwei Funktionen definiert.
    1. Callback

    2. Eventcallback

    Die Funktion 1. sorgt für die Funktionalität und ist schon einsatzbereit.

    Die Funktion 2. soll dann die Funktion 1. aufrufen, wenn der Schalter gedrückt wird.

    Leider tut sie das nicht.

    Sag mir gerne, was hier falsch ist, oder wie du das angehen würdest.

    Der Code gibt 1 Sekunde einschalten und 2 Sekunden ausschalten vor. Dieser Teil funktioniert auch.
    Wenn ich in Zeile 25 die Callbackfunktion aufrufe

    JavaScript
    callback(null);

    so startet die richtige Sequenz direkt mit dem Start des Skripts. Allerdings sollte es ja mit dem Knopf am Gerät ausgelöst werden. Das sagt mir, dass das Problem in den Zeilen 26 bis 34 sein muss

    Hallo,

    ich möchte jetzt endlich mal etwas sinnvolles mit meiner Plug S machen.

    Ziel ist es, dass durch den Knopf an der Steckdose eine Schaltsequenz gestartet wird:

    15 Pulse kurz einschalten, danach dauerhaft einschalten.

    Hintergrund: Mein Ultraschallreiniger soll zunächst die Flüssigkeit entgasen, das passiert während der ersten 15 Pulse. Danach folgt der eigentliche Reinigungsprozess.

    Ich verstehe leider nicht richtig, wie ich das Event eines Knopfdrucks (kurz, lang, doppelt) abfangen kann.

    Hier ist mein letzter Stand:

    Das ist mein erstes Projekt mit Java Script, meine Skills sind diesbezüglich also sehr beschränkt :)
    Ich würde mich sehr freuen, wenn mir jemand aufzeigen könnte, was ich hier falsch mache.

    Gruß

    Daniel