Schwarzermann's Ideen und Umsetzungen Shellys in Grafana schalten

VPN/Proxy erkannt

Es scheint, dass Sie einen VPN- oder Proxy-Dienst verwenden. Bitte beachten Sie, dass die Nutzung eines solchen Dienstes die Funktionalität dieser Webseite einschränken kann.

  • Ich will mich und min Projekt mal Vorstellen, ich betriebe neben den Shellys eine Solaranzeige wo ich viele meiner Geräte auslese und in eine Influx Db samt grafana mir Visualisiere.

    Ich bin BJ 73 gelerneter Konstrukteur und seit jungen jahren Bastler und Schrauber, und immer für einen Creativen Unsinn zuhaben.

    mein Aktuelles Projekt Shellys ins hausschrauben und über Grafana schalten, das ganze funktioniert übr das Text Plugin.

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

    So sieht das ganze aktuell für ein Stockwerk aus ja die Farben beißen sich etwas das wird aber noch geändert, aber es funktioniert fasst, was mir noch fehlt ist das die buttons grün werden wenn man die Relais selbst schaltet oder eben über die Button aber da komm ich noch dahinter das ,dass funktioniert.

    Der mit der sympatischen Vollmeise

    Bitte habt Rücksicht mit der Legastenie die ich in Massiver Form habe, ja meine Schreibweise ist Fehler haft und ich Kämpfe seit Lebensbeginn damit, was es aber im Leben nicht einfacher macht Danke.

  • Nett, aber mit Grafana 🤓

    Ich nutze Grafana nur zum Visualisieren

    was mir noch fehlt ist das die buttons grün werden wenn man die Relais selbst schaltet

    Frage ist woher du die Daten vom Relais Zustand bekommst?
    Bei mir über Homeassistant => dann InfluxDB

    Dann ist es relativ easy

    Aus


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


    Und Relais An


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


    Mit


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


    Und

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


    Aber, ich übe noch ✌️

    Shelly’s: 2x 1, 10x 1PM , 4x 2.5, 3x i3, 10x Plus 1PM, 22x Plug S, 11x UNI, 2x 1L mit PIR, 8x AddOn mit Temp/DHT22, 3x RGBW2, 2x Plus i4, 5x Plus 1, 4x Plus 2PM, 4x EM, 2x 3EM, 1x TRV, 3x Plus AddOn, 1x Pro 3EM, 2x BLU, 5xPlusPMmini, 1xPlus1PMmini, 4xPlusUNI

    Fritz!Box5690pro, 3x FRITZ!Repeater6000, 6x Fritz!Dect200

    HomeAssistant auf RaspberryPi5(8GB) mit NVMe, HomeAssistant auf Synology DS1019+, Backup HomeAssistant auf RaspberryPi4B(4GB)

    DHT21 (AM2301) oder (AM2320) für unter 0 Grad

  • Code
    Jaaaaaaaaaaaaaaa ich hbs geschafft mit chat gpt mir es so zu Programieren das es schaltbar ist und der Button die Farbe wechselt  Shcick schick schick.

    Hier der Code dazu

    Dateien

    Der mit der sympatischen Vollmeise

    Bitte habt Rücksicht mit der Legastenie die ich in Massiver Form habe, ja meine Schreibweise ist Fehler haft und ich Kämpfe seit Lebensbeginn damit, was es aber im Leben nicht einfacher macht Danke.

  • Schwarzermann 11. September 2025 um 21:04

    Hat den Titel des Themas von „Shellys in Grafana schalten“ zu „Schwarzermann's Ideen Shellys in Grafana schalten“ geändert.

  • Und das Wäre für die Zimmer die Schalter und Steckdosen Steuerung für das Grafana Text Plugin, hir wurden Shelly 1 pm plus (gen4) getestet und verwendet.

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



    So sieht meine Garagentor Steuerung aus ebenfalls mit Zustandsüberwachung.

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


    Und zuguter letzt meine Torlicht Steuerung als Skript für die Shelly 1pm plus gn4 damit die Lichter an gehen wenn das Tor Hoch fährt.

    Code
    // ###########################################################// Shelly 1PM Plus (Gen4) – folgt Tor (Shelly 2PM im Cover-Modus)// mit Sonnenstands-Sperre (nur nachts aktiv)// ###########################################################//// Endgültige Regeln (nur aktiv wenn es dunkel ist!):// - Bei 20% öffnen              -> Licht EIN// - Bei 100%                    -> Licht 20s EIN, danach AUS (nur einmal)// - Wenn Tor von 100% auf <100% fährt (Start Schließen) -> Licht EIN// - Bei 20% schließen           -> Licht AUS//// ###########################################################// IP-Adresse des Shelly 2PM (Torsteuerung)let sourceShelly = "192.168.178.104";// Abfrageintervall (ms)let interval = 5000;   // alle 5 Sekunden// Haltezeit wenn Tor komplett offen (in Sekunden)let holdTime = 120;// interne Zuständelet lastOn = false;let holdTimer = null;let holdActive = false;let lastPos = null;// Sonnenauf-/unterganglet sunrise = null;let sunset = null;// Hilfsfunktionenfunction switchLight(on) {  Shelly.call("Switch.Set", { id: 0, on: on });  lastOn = on;  print("Licht", on ? "EIN" : "AUS");}function cancelHoldTimer() {  if (holdTimer !== null) {    Timer.clear(holdTimer);    holdTimer = null;    print("Hold-Timer abgebrochen");  }}function isNight() {  if (!sunrise || !sunset) return true; // wenn keine Werte -> sicherheitshalber aktiv  let now = (new Date()).getTime() / 1000; // aktuelle Zeit in UNIX Sekunden  return (now < sunrise || now > sunset);}function updateSunTimes() {  Shelly.call("Sys.GetStatus", {}, function(res) {    if (res && res.sunrise && res.sunset) {      sunrise = res.sunrise;      sunset = res.sunset;      print("Sonnenaufgang:", sunrise, "Sonnenuntergang:", sunset);    } else {      print("Keine Sonnenzeiten gefunden – Nacht-Check immer TRUE");    }  });}// Hauptprüfungfunction checkCover() {  if (!isNight()) {    // Tagsüber -> Licht sicher ausschalten und überspringen    if (lastOn) {      switchLight(false);      cancelHoldTimer();      holdActive = false;    }    print("Tag erkannt – Lichtsteuerung gesperrt");    return;  }  let url = "http://" + sourceShelly + "/rpc/Cover.GetStatus?id=0";  Shelly.call("HTTP.GET", { url: url }, function(res) {    if (!res || res.code !== 200) {      print("HTTP Fehler:", res ? res.code : "kein Ergebnis");      return;    }    try {      let data = JSON.parse(res.body);      let pos = data.current_pos;      if (typeof pos === "string") pos = parseFloat(pos);      print("Tor-Position:", pos, "%", "(last:", lastPos, ")");      // --- Regel 2: Bei 100% -> Licht 20s EIN, danach AUS (nur einmal)      if (pos >= 100) {        if (!holdActive) {          holdActive = true;          if (!lastOn) {            switchLight(true);            print("Licht EIN (Tor 100%, Timer gestartet)");          }          cancelHoldTimer();          holdTimer = Timer.set(holdTime * 1000, false, function() {            switchLight(false);            print("Licht AUS (Timer abgelaufen bei 100%)");          });        }        lastPos = pos;        return;      }      // --- Regel 3: Start Schließen von 100% -> Licht EIN      if (lastPos !== null && lastPos >= 100 && pos < 100) {        if (!lastOn) {          switchLight(true);          print("Licht EIN (Start Schließen von 100% -> <100%)");        }        holdActive = false;        cancelHoldTimer();      }      if (lastPos !== null) {        // --- Regel 1: Bei 20% öffnen -> Crossing von <20% auf >=20%        if (lastPos < 20 && pos >= 20) {          if (!lastOn) {            switchLight(true);            print("Licht EIN (Öffnen: Crossing über 20%)");          }        }        // --- Regel 4: Bei 20% schließen -> Crossing von >20% auf <=20%        if (lastPos > 20 && pos <= 20) {          if (lastOn) {            switchLight(false);            print("Licht AUS (Schließen: Crossing unter 20%)");          }          holdActive = false;          cancelHoldTimer();        }      }      lastPos = pos;    } catch (e) {      print("Parsing Fehler:", e);    }  });}// Timer startenTimer.set(interval, true, checkCover);// Sonnenauf-/untergang alle 10min aktualisierenupdateSunTimes();Timer.set(600000, true, updateSunTimes); // 10 min

    Der mit der sympatischen Vollmeise

    Bitte habt Rücksicht mit der Legastenie die ich in Massiver Form habe, ja meine Schreibweise ist Fehler haft und ich Kämpfe seit Lebensbeginn damit, was es aber im Leben nicht einfacher macht Danke.

  • Schwarzermann 11. September 2025 um 21:33

    Hat den Titel des Themas von „Schwarzermann's Ideen Shellys in Grafana schalten“ zu „Schwarzermann's Ideen und Umsetzungen Shellys in Grafana schalten“ geändert.