Beiträge von CarstenKoch

    Danke, ich habe die Doku gelesen und den folgenden Python code fuer 3EM und fuer Mini PM Gen3 entwickelt. Funktioniert gut.




    class Shelly3EM:
    """ Interface to a shelly 3em power meter. """
    # pylint: disable=too-few-public-methods
    def __init__(self, host):
    self.host = socket.gethostbyname(host) # cache the host IP

    def get(self):
    """
    Return the current power as an int [W].
    Return None if the shelly could not be read.
    """
    try:
    return round(requests.get(f"http://%7bself.host%7d/status/",
    headers={"Content-Type":
    "application/json"},
    timeout=2).json()["total_power"])
    except (requests.exceptions.RequestException, KeyError) as details:
    logging.error("%s on host %s.", details, self.host)
    return None


    class ShellyPMMiniGen3:
    """ Interface to a shelly PM Mini Gen3 power meter. """
    # pylint: disable=too-few-public-methods
    def __init__(self, host):
    self.host = socket.gethostbyname(host) # cache the host IP

    def get(self):
    """
    Return the current power as an int [W].
    Return None if the shelly could not be read.
    """
    try:
    p = requests.get(f"http://%7bself.host%7d/rpc/PM1.GetStatus?id=0",
    headers={"Content-Type": "application/json"},
    timeout=2).json()["apower"]
    return round(p)
    except (requests.exceptions.RequestException, KeyError) as details:
    logging.error("%s on host %s.", details, self.host)
    return None

    Ich habe diese Action konfiguriert:

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Dennoch bekomme ich mehr als einmal pro Stunde Signal Nachrichten.

    Wenn die Power kontinuierlich über 600W liegt, kommt einmal pro Stunde eine Nachricht.

    Wenn sie aber zwischenzeitlich unter 600W sinkt und dann wieder über 600W steigt, kommt auch vor Ablauf der Stunde eine weitere Nachricht.

    Heute mehrfach passiert, im schlimmsten Fall lag eine Minute zwischen zwei Nachrichten.

    Aus meiner Sicht ein bug.

    Oder ist das so gewollt? Wenn ja, wie stelle ich sicher, dass nicht mehr als einmal pro Stunde die konfigurierte URL aufgerufen wird?