Support-Thread Modul 36_Shelly.pm

Begonnen von Prof. Dr. Peter Henning, 03 Februar 2021, 08:03:09

Vorheriges Thema - Nächstes Thema

phantom

Zitat von: Prof. Dr. Peter Henning am 19 Oktober 2026, 19:50:12
Zitat von: phantom am 19 Oktober 2026, 11:37:14Damit funktionieren sie nicht mehr korrekt mit dem Modul
Was genau heißt das?
LG
pah
Die ShellyPro3EM's hatten im Gegensatz zu den ShellyEMmini's das automatische Update auf v2.0.1 nicht korrekt ausgeführt. Sie wurden in FHEM nicht mehr aktualisiert und deren Webinterface war sehr lahm. Ich habe sie nun mal komplett mit allen 3 Phasen von Strom getrennt (anstelle eines reboot). Danach haben die recht lange (> 3Min.) gebootet und evtl. im Hintergrund das Update nochmal durchgeführt.
Nach dieser "Übung" laufen sie wieder korrekt mit dem Shelly-Modul  :D  :D   -- ist also erledigt --
LG phantom

olwaldi

#1411
Noch eine Nachfrage zu Shelly 1 mini gen3: Ich habe via webhook automatisch actions im Shelly anlegen lassen, die sowohl in der alten als auch in der neuen Version mit (festem) csrftoken funktionieren. Aber der webhook löst immer erst 3s nach dem Klacken des Relais aus. Sollte doch eigentlich verzögerungsfrei funktionieren...

Grüßle, Michael


Nachtrag: Mittlerweile funktioniert's wie gewünscht. Ich mußte erstmal verstehen, warum das Shelly-Modul immer um 3s verzögert aufs Schalten reagiert - vermutlich weil der Status des Shelly erst 3s später abgefragt wird. Es gibt dazu zwei actions im Shelly, die entweder out_on oder out_off an fhem melden. Aber damit die actions "wirklich" agieren, muß man die aktivieren. Und das hatte ich vermutlich vergessen.

Es gibt allerdings ein (kleines) Problem: Der Shelly setzt zwar die actions richtig ab, reagiert aber immer mit "Execution failed.", wenn man die action manuell in der Shelly-GUI testet. Ich vermute, daß der Shelly einen falschen "Rückgabewert" vom Modul Shelly bekommt. Sendet der Shelly ein syntaktisch FALSCHES fhem Kommando (etwa mit out_o statt out_on) meldet Shelly "Test execution successful".

olwaldi

#1412
Vielleicht noch ein Tip, um den WLAN-AP durch 5x Drücken des Tasters am Shelly1 zu aktivieren. Die gen3-Shellies unterstützen Skripte, und gemini hat mir dieses Shelly-Skript generiert:
let clickCount = 0;
let resetTimer = null;
const TARGET_CLICKS = 5;
const TIME_WINDOW_MS = 3000;

Shelly.addEventHandler(
  function (event) {
    if (event.component === "input:0" && event.info.event === "btn_down") {
      clickCount = clickCount + 1;
      print("Button pressed! Counter: " + JSON.stringify(clickCount));
      if (clickCount === 1) {
        resetTimer = Timer.set(
          TIME_WINDOW_MS, false, function () {
            print("Timer expired. Reset counter.");
            clickCount = 0;
          }
        );
      }
      if (clickCount >= TARGET_CLICKS) {
        print("5 clicks seen! Enable AP...");
        if (resetTimer) {
          Timer.clear(resetTimer);
        }
        clickCount = 0;
Shelly.call(
  "WiFi.SetConfig", {
    config: {
      ap: {
        enable: true,
        pass: "YourSecretPassword"
      }
    }
  },
  function (res, err_code, err_msg) {
    if (err_code !== 0) {
      print("error enabling AP: ", err_msg);
    } else {
      print("AP enabled successful.");
    }
  }
        );
      }
    }
  }
);
print("Script for 5x click started successfully.");

Anlegen kann man Skripte in der Shelly-WebGUI, man muß einen Namen vergeben, das Skript speichern und starten. Das Skrpt muß man noch "automatisch Starten" lassen, damit es nach Stromausfall weiterhin funktioniert.

Ich hoffe, daß ich's nie brauche. Könnte aber im Notfall nützlich sein.


Grüßle, Michael