Beiträge von Schwarzermann

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.

    Wenn du im Taster modus bleiben willst wirst du denke ich ohne Skript nicht auskommen, es darf hier gerne korrigiert werden wenn ich eine Falsche Aussage treffe, den soweit war ich noch nicht, was ich aber weis das es mit einem Skript funktionieren kann, es kann aber mehrere ANläufe brauchen bis gpt ds richtige funktionierende Skript ausgibt.

    Hätte mich auch gewundert, wenn eine KI es selbst schafft etwas bis zum Ende zu entwickeln. Meist wird etwas vorausgesetzt, was gar nicht funktioniert, so wie hier. Das wird irgendwo rausgesucht, durcheinander geworfen und dann als Lösung präsentiert, die nicht funktioniert. Da kann man ganz schön Zeit bei verbraten, wenn man solch eine KI nutzt.

    Naja siehe es mal so rum dafür das ich null Ahnung vom programieren habe, funktioniert das ausserortentlich gut, ich bin Zufrieden es macht was es soll, habe ja auch meine Html programierung für das Grafana Text Plugin so hinbekommen das es funktioniert in Grafana mit Button die Shellys zuschalten.

    Besser so? hatte es aus dem Shelly kopiert und nicht darauf geachtet, leider funktioniert die tag Nacht schaltung nicht da anscheinend bei den gen 4 Geräten das noch nicht implementiert ist, aber es schaltet bei mir das Licht ein und Aus.

    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


    Ich lausche mit einem shelly 1 pm plus über dieses Skript (erstellt mit KI) einen Shelly 2pm plus ab wenn er den Schalt befehl bekommt schaltet sich das Licht ein.


    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

    Tja wer bin ich heiße (Jo)Hannes bin BJ 73 also gehöre schon zu denen die das Maßband zur Rente immer kürzer abreisen.

    War früher ein ganz normaler Arbeiter Maurer,LKW Fahrer, Baumaschinenmechaniker, Schlosser und dann kam das jahr 2020 2x Unfälle eine Umschulung zum Technischenproduktdesigner und Konstrukteur.

    Und jetzt naja ich Schraube bastele und Tüftele seit dem ich nen Schraubendreher in der Hand halten kann, mein erstes Mofa lief 105 km/h also schon immer Technik afin, bin mit C64 gross geworden, und nun Arbeite ich als CAD Konstrukteur mache 3 D Druck und mache unser Haus Smarthome fähig und auch relativ Energie Outtark, die letzen Jahre habe ich viel mit 433MHZ schaltaktoren gearbeitet aber die Technik ist nicht zuverlässig und hat so ihre probleme.

    Seit etwa 4 Wochen Stelle ich unser Haus auf Shellys um neben bei läuft auf einem Pi4 mit 8gb eine Solaranzeige mit Grafana ect und hier werden dann auch die Shellys gesteuert via Plugin.

    Was mich Antreibt die Neugierde wenn man zb eine kaputte Bohrmaschine da liegen hat und daneben ein passendes Werkzeug, und der Versuchung nicht wiederstehen kann das Teil zu zerlegen und zu ergründen warum etwas kaputt gegangen ist, dann hat man so einen Job wie ich.

    Und seit neuestem beschäftige ich mit KI ich nutze sie zur Programierung den selbst programieren kann ich nicht ( naja man lernt halt ein bischen was dabei) und so entstehen rstaunliche Projekte .

    Da wir auch ein OG haben, ist die nächste Aktion der Treppenlift für mich Smart zumachen, auch mit einem Shelly im prinzip sollte das mit ebenfalls einem 2 PM funktionieren.

    Ich denke hier sogar darüber nach meinen Rolli mit einem NFC Chip auszustatten den habe ich ja immer bei mir, somit öffnen sich für mich Tor und Tür alleine. 95% Steuere ich aktuell übers Smart Phone.

    Was auch noch kommt sind eben selbst öffnentes Tür Schloss mit Fingerprint zb und meine Smarte Haustürklingel einen selbst gebauten Paketbriefkasten habe ich auch schon der solangsam Smart wird er meldet wenn Post bzw Pakete gekommen sind und ob sie entnommen wurden.

    Ist halt meine grosse Spielwiese.

    Verwante und Bekannte sind immer wieder erstaunt wenn sie kommen was es neues Smartes als Eigenbau gibt.

    Dazu grosse PV mit 22 kw Speicher Netto auch ein DIY Akku von mir gebaut, so bin ich eigentlich Strom unabhängig.

    Ich Arbeite hier mit der Solaranzeige und über Grafana habe ich mir Button programiert ( mit KI) das waren doch mehrere Wochen Arbeit immer wieder halt 2-3 St Abends den nen Job habe ich ja auch.

    Über das Grafana Text Plugin habe ich mit einen HTML Javacode genrieren lassen.

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

    Das waren so die Anfänge, mittlerweile funktioniert das erstaunlich gut, sogar mit Status Anzeige ob Rolläden oder unsere Rolltore der Gargen offen und geschlossen sind, selbst eine Lichtsteuerung bei den Toren konnte ich erfolgreich mit KI generieren ich bin erstaunt wie gut das ganze mittlerweile geht.

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

    Hier mal das Erdgeschoss


    Und Hier unsere Garagen

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

    Du siehst es geht und ich habe keinerlei programier Kenntnisse aber ich kann der KI sehr gut Beschreiben was ich einsetzen möchte, und was ich mir Vorstelle.

    Man muss aber immer im Hinterkopf behalten die KI ist wie ein kleines Kind macht Fehler aber wenn man ihr etwas Zeit gibt und die richtige Richtung weißt kommt man ans Ziel.

    Was am Anfang 30-40-50 Versuche benötigte bin ich Stand jetzt, bei 3-5 Anläufen und dann funktioniert es meistens und sie macht auch gute Vorschläge zur verbesserung.

    Solaranzeige Shelly Schalten per Grafana Button ich hoffe das ist ok der quer Verweis zu diesem Forum

    Das ganze kann ich auf dem PC auf dem Tablet oder eben am Smartphone aufrufen von aussen via VPN über die Fritz Box also alles voll felxibel und eben Cloud frei.

    Da hast du schon Recht, nur bin ich halt nur mit AOK Chopper unterwegs da sind so spielereien wie mit den Shelly sehr angenehm, zb ich habs mir auf der Couch gemütlich gemacht ( ode wie mä in frang sachd aufm Kanabee) um nicht wieder extra in den Rolli zu müssen sind solche umbauten für mich sehr hilfreich und erleichtern das Leben.

    Dann kommt halt auch noch der Bastler und Schrauber in mir ein kleinwenig das haben will Syndrom und schon sind wir wieder dabei.

    Auch wenn mich viele jetzt hier Anfeinden werden ( oder auch nicht) ich bin kein Cloud Fan, genau aus solchen Gründen, es soll nach möglichkeit alles im Intranet laufen zur Not mit einem eigenen Server, oder besser noch Stand alone.

    Ja mit Cloud mag das für viele eine Einfache Lösung sein und auch Features bieten die ich ohne Cloud nicht habe, aber hier geht es um meine Infrastruktur Licht bzw Strom ist teilweise Essenziell für mich Nachts sogar Lebensnotwendig, da gehe ich keinerlei Kompromiss ein.

    Da geb ich dir recht und das mit den Leisten ist ja schon mal ne super Option, Vorteil bei dieser Treppe ich kann leicht hier ein 5 mm Loch in das Stirnbrett Bohren und die Kabel unter der Treppe verbinden und somit Unsichtbar verlegen.

    Was hl noch ein Vorteil ist das sie ein Potest ebenfalls aus Holz hat da ich das ganze Später eh von unten Verklide sieht man zum Schluss nichts mehr geht eh um Keller runter und ist mit einer Tür so eh nicht gleich Sichtbar.

    Der Aufwand ist nur einmal wenn das gemacht ist ist es ja auch gut, ich muss das ja nicht 20 mal im Jahr machen einmal im Leben reicht mir.

    Tja ein neues Projekt, ich möchte an meine Holztreppe unter den Stufen jeweils einen 90 cm Langen LED Streifen als Beleuchtung anbringen, und das ganze mit einem Shelly rgbw schalten, ich würde sofern es von der Leistung her passt alle Stripes nacheinander schalten.


    Nur wie geh ich a am besten vor?

    Klar ich brauche 15 M LED die Trennbar sind die enden werden jeweils mit Kabeln verbunden nacheinander, dazwischen den Shelly rgbw dann Controller? und dann Spannungswandler von 230v auf 24 V ?

    Kann mir da jemand was dazu sagen was sich bis jetzt gut bewehrt hat?

    Vor allem würde ich untertags und wenn man auf Weisschaltet alles hell Leuchten lassen und nachts sollten zb nur grün ganz leicht Leuchten lässt sich sowas mit eine Skript bewerkstelligen?

    Über Hilfe und gedanken Austausch bevor ich einen groß Einkauf starte wäre ich dankbar.