Neu: Die KI-Firewall überwacht die gesamte Plattform und erklärt jeden Vorfall in einfachen Worten. So funktioniert es

Kann ich das Heizungsrelais zu Hause vom Handy aus schalten, während ich auf dem Campus bin?

Kann ich das Heizungsrelais zu Hause vom Handy aus schalten, während ich auf dem Campus bin?

Gelöst 6 4

Von English mit KI übersetzt ·

Erster Beitrag, entschuldigt, falls ich hier falsch bin. Ich habe einen Pi Zero 2 W zu Hause mit einem Relaisboard an GPIO17, das einen kleinen Ölradiator in meinem Zimmer schaltet (ja, es ist ein richtiges Relais, das dafür ausgelegt ist, mein Vater hat es geprüft). Er sendet bereits jede Minute die Raumtemperatur an Hermetry mit paho-mqtt.Was ich möchte: Wenn ich um 21 Uhr die Bibliothek verlasse, soll ich den Heizkörper per Handy einschalten, damit es im Zimmer warm ist, wenn ich zurückkomme. Ich habe die Hermetry-App gefunden, aber sie scheint nur für Benachrichtigungen gedacht zu sein. Kann sie auch Geräte schalten? Oder muss ich an unserem Router einen Port öffnen und auf dem Pi eine Webseite laufen lassen? Ich weiß nicht richtig, wie ich das sicher mache.

♥ 2

Von English mit KI übersetzt ·

Portweiterleitung am Router funktioniert, das habe ich einmal für eine Kamera gemacht. Wähl einfach einen hohen Port.

Measure twice, poll once.
♥ 1

Von English mit KI übersetzt ·

Bitte setzen Sie einen Pi nicht mit einem „hohen Port“ dem Internet aus. Ihr Pi unterhält bereits eine ausgehende Verbindung zum Broker, darüber können Sie Daten senden.

♥ 0

Von English mit KI übersetzt ·

Ach so, die Cloud kann also zurücksprechen? Wie kommt das Handy dabei aber ins Spiel?

♥ 0

Von English mit KI übersetzt ·

Laut Dokumentation ist die mobile App für Benachrichtigungen und Freigaben gedacht. Zum Schalten funktioniert die Web-Konsole im Handy-Browser gut, so steuere ich auch meine Parzellenpumpe.Einrichtung:

  1. Im Geräteprofil des Pi, Reiter Commands, einen Befehl hinzufügen, z. B. Methode heater.set, ein Ja/Nein-Parameter on, Tier Basic. Boards senden nur Befehle der Stufe Basic.
  2. Ein Dashboard erstellen, ein Switch-Steuerelement hinzufügen, Aktion Run a command, den Pi und heater.set auswählen und den aktuellen Zustand an einen Schlüssel binden, den der Pi meldet (z. B. heater_on als 0/1).
  3. Auf dem Pi:
def on_connect(c, u, f, rc):
    c.subscribe("v1/rpc/req/+", qos=1)

def on_message(c, u, msg):
    req_id = msg.topic.rsplit("/", 1)[1]
    body = json.loads(msg.payload)
    if body.get("method") == "heater.set":
        on = bool(body["params"]["on"])
        GPIO.output(17, on)
        c.publish("v1/telemetry", json.dumps({"heater_on": int(on)}), qos=1)
        c.publish(f"v1/rpc/res/{req_id}", json.dumps({"ok": True}), qos=1)

Es werden keine Ports geöffnet. Lege das Board als Lesezeichen auf dem Startbildschirm deines Handys ab, dann verhält es sich praktisch wie eine App. Für Warnungen (Raum zu kalt usw.) bietet die App Push-Benachrichtigungen auf dem Handy, alternativ kannst du E-Mail oder eine verknüpfte Chat-App nutzen.

Akzeptierte Lösung♥ 1

Von English mit KI übersetzt ·

es funktioniert!!! Vom Bus aus getestet. Eine Sache hat mich aufgehalten: Ich habe den Befehl zuerst als Privileged erstellt, weil er Netzspannung schaltet, und der Schalter auf dem Board meldete nur, dass er nicht von einem Board gesendet werden kann. Auf Basic umgestellt, dann ging es durch. Außerdem abonniere ich jetzt in on_connect, wie du geschrieben hast; vorher hat es aufgehört zu funktionieren, nachdem das WLAN des Pi kurz ausgefallen war.

♥ 1

Von English mit KI übersetzt ·

Fair genug, ausgehend ist sauberer. Meinen Tipp zur Portweiterleitung nehme ich zurück.

Measure twice, poll once.
♥ 2
Ansicht von 7 Beiträgen – 1 bis 7 (von insgesamt 7)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.

Mitdiskutieren

Melde dich an, um Fragen zu stellen und zu beantworten, hilfreiche Beiträge mit „Gefällt mir“ zu markieren und die Antwort zu kennzeichnen, die dein Problem gelöst hat. Jeder Beitrag bringt Punkte und Stufen.

Teilen