Können wir das mal testen ich habe von Scripts keine Ahnung.....
Beiträge von gexle
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.
-
-
Also passt das so oder?
-
Hallo
Dann kann ich es ändern wie ich mag oder??
Könntest mir den Code so anpassen das es funktioniert wenn ich es eben oben auf 85% ändere das der Code auch mit 85 arbeitet also Relais eben dann ein und eben dann aus?
Bitte Danke
-
Hallo
Ja kann es den möglich sein?
Ich habe den IN1 also den Freigabe Eingang auch ein bzw ausschaltverzögert..habe einen Shelly UniPlus das sollte nicht das Problem sein...
-
Wäre schön wenn mir jemand helfen könnte der sich damit besser auskennt als ich!
Danke
-
Betrifft nur bei Sonnen Wolken Spiel das war eben heute der Fall
Ich denke ich habe einen Fehler gefunden kann das jemand bestätigen...habe ich erste heute bemerkt da ich nicht immer vor Ort bin.
Wenn der Eingang da ist dann wird nach den Parametern der Kessel gesperrt... soweit ok...
Ist etwas schwiering zu erklären ich probiers mal!
Sagen wir der Kessel ist gesperrt PV Leistung usw. alles ok -> Bedingungen erfüllt!
Dann habe ich Leistungschwankungen weil die Sonne hinter einer Wolke ist die 5min Nachlaufzeit ist aktiv bis Kessel freigeben wird
Aber nach 3min Minunten kommt die Sonne wieder raus und die PV Leistung stimmt wieder...
meiner Meinung nach fängt dann das Script die Auswertung wieder von vorne an also das heist der Kessel ist dann kurz freigegen bis er wieder gesperrt wird
weil eben die Bedingungen wieder für Sperrung erfüllt wurden!evaluationInterval: 60, // 60 Durchläufe = 10 Minuten (60 x 10s = 10 Minuten)
threshold: 0.85, // 85% müssen true sein -> 85% SonnenscheinHeute hat der Kessel somit 3mal also gestartet und dann wurde er gleich wieder gesperrt bzw. eben dann wieder abgestellt.
Kann des das sein laut Script?
Code
Alles anzeigenlet CONFIG = { checkInterval: 1, // Überprüfung alle 10 Sekunden maxEntries: 60, // Maximale Anzahl gespeicherter Werte (60 x 10s = 10 Minuten Verlauf) evaluationInterval: 30, // 30 Durchläufe = 5 Minuten (30 x 10s = 5 Minuten) threshold: 0.85, // 85% müssen true sein -> 85 % Sonnenschein debug: true }; let inputHistory = []; let historyIndex = 0; let checkCounter = 0; let timeOn = CONFIG.evaluationInterval * checkInterval + 1; let relayURL_ON = "http://localhost/relay/1?turn=on&timer=" + timeOn; // Heizungstimer // Manuelle Initialisierung mit false for (let i = 0; i < CONFIG.maxEntries; i++) { inputHistory[i] = false; } function log(message) { if (CONFIG.debug) { print(message); } } // Loop zur Überwachung von IN1 & 5-Minuten-Auswertung function checkInputLoop() { Timer.set(CONFIG.checkInterval * 1000, true, function () { readInput(); }); } function readInput() { Shelly.call("http.get", { url: "http://localhost/rpc/Input.GetStatus?id=1" }, function (response, error_code, error_message) { if (error_code === 0) { let jsonData = JSON.parse(response.body); print(jsonData.state); sevedData(jsonData.state); // true = geschlossen, false = offen } else { print("Fehler beim Abrufen von IN1:", error_message); } }); } function sevedData(inputStatus) { // Neuen Wert in Ringpuffer speichern inputHistory[historyIndex] = inputStatus; historyIndex = (historyIndex + 1) % CONFIG.maxEntries; print("IN1 Status: " + (inputStatus ? "GESCHLOSSEN" : "OFFEN")); print("Letzte 60 Werte: " + JSON.stringify(inputHistory)); checkCounter++; // Alle 5 Minuten auswerten if (checkCounter >= CONFIG.evaluationInterval) { evaluateHistory(); checkCounter = 0; // Zähler zurücksetzen } } // Funktion zur Analyse der letzten 60 Werte function evaluateHistory() { let trueCount = 0; for (let i = 0; i < CONFIG.maxEntries; i++) { if (inputHistory[i]) { trueCount++; } } let percentage = trueCount / CONFIG.maxEntries; log("Analyse: " + (percentage * 100).toFixed(2) + "% true Werte"); if (percentage >= CONFIG.threshold) { log("75% erreicht → Relais EIN"); Shelly.call("http.get", { url: relayURL_ON }); } else { log("Weniger als 75% → Relais bleibt AUS"); } } // ------ START LOOP -------- checkInputLoop();Und warum werden meine 85% nicht übernommen die ich oben eingetragen habe!
-
Beschreibung des Shelly Plus Uni Skripts
Zweck des Skripts
Das Skript dient zur Überwachung des digitalen Eingangs IN1 an einem Shelly Plus Uni. Es analysiert über einen bestimmten Zeitraum, ob der Eingang aktiv ist (z. B. geschlossen) oder nicht. Falls die Bedingung erfüllt ist (mindestens 75 % der Messwerte sind „true“), wird ein Relais für eine definierte Zeit eingeschaltet.
Anwendungsfall
Das Skript eignet sich z. B. für die Steuerung einer Heizungssperre in Abhängigkeit von der Leistung eines Wechselrichters.
- Sobald der Wechselrichter eine bestimmte Leistung überschreitet, aktiviert er den potenzialfreien Kontakt, wodurch IN1 am Shelly ein Signal erhält.
- Falls das Signal über mindestens 75 % der letzten 10 Minuten aktiv bleibt, wird das Relais eingeschaltet (z. B. um eine Heizung zu sperren).
- Wenn die Leistung wieder unter den Grenzwert fällt und die Bedingung nicht mehr erfüllt ist, bleibt das Relais ausgeschaltet.
Funktionalität im Detail
1️⃣ Initialisierung der Konfiguration (CONFIG)
Die Konfigurationswerte werden in einem CONFIG-Objekt definiert:
- checkInterval: Zeitintervall für die Abfrage von IN1 (in Sekunden). Standard: 10 Sekunden.
- maxEntries: Maximale Anzahl gespeicherter Werte (Standard: 60 Einträge → 10 Minuten Verlauf).
- evaluationInterval: Intervall für die Auswertung (Standard: 30 Überprüfungen → 5 Minuten).
- threshold: Prozentuale Grenze für das Aktivieren des Relais (Standard: 75 % müssen „true“ sein).
- relayIP: IP-Adresse des Geräts, das das Relais steuert (z. B. localhost für Shelly selbst).
- relayNR: Nummer des Relais, das gesteuert werden soll (1 für Relais 1).
- inputID: Nummer des Eingangs (1 für IN1).
- debug: Falls true, werden Debug-Nachrichten in der Konsole ausgegeben.
2️⃣ Speicherung der letzten 60 Werte (SETUP.inputHistory)
Ein Ringpuffer (FIFO-Speicher) speichert die letzten 60 Abfragen von IN1 (entspricht 10 Minuten).
- Falls die maximale Anzahl erreicht ist, wird der älteste Wert überschrieben.
- Das sorgt dafür, dass immer ein gleitender Verlauf ausgewertet wird.
3️⃣ Überprüfung von IN1 (checkInputLoop)
Ein Timer wird gestartet, um alle 10 Sekunden den Status von IN1 abzufragen:
Das Skript sendet eine HTTP-GET-Anfrage an:
Code
- Falls der Eingang geschlossen (true) oder offen (false) ist, wird der Wert gespeichert.
- Debugging-Info: Es wird in der Konsole ausgegeben, ob IN1 gerade aktiv oder inaktiv ist.
4️⃣ Speicherung der Werte (sevedData)
Jede neue Messung wird im Ringpuffer gespeichert.
- Falls 60 Einträge erreicht sind, wird der älteste überschrieben.
- Nach jeder Speicherung wird überprüft, ob eine 5-Minuten-Analyse fällig ist.
5️⃣ Analyse der letzten 5 Minuten (evaluateHistory)
Alle 5 Minuten wird überprüft, ob mindestens 75 % der letzten 60 Werte „true“ waren.
- Falls ≥ 75 % → Relais EIN
- Falls < 75 % → Relais AUS
💡 Debugging-Info:
- Die Konsole gibt aus, wie hoch der Anteil der „true“-Werte ist (z. B. 82,3 %).
- Falls der Grenzwert überschritten wurde, wird das Relais eingeschaltet.
- Falls nicht, bleibt das Relais ausgeschaltet.
Das Einschalten erfolgt über einen HTTP-Call:
Code
(Das Relais bleibt 301 Sekunden an, dann wird erneut geprüft.)
Falls die Bedingung nicht erfüllt ist, bleibt das Relais aus.
Zusätzliche Features
✅ Fehlertoleranz: Falls die Shelly-API nicht erreichbar ist, stürzt das Skript nicht ab, sondern gibt eine Fehlermeldung aus.
✅ Keine schnellen Schaltvorgänge: Dank des 10-Minuten-Speichers wird verhindert, dass das Relais durch Sonnen-Wolken-Schwankungen ständig an/aus geht.
✅ Energieoptimierung: Das Skript prüft nur alle 10 Sekunden statt in Dauerschleife -
Hallo
Habe mir alte Halogen Leuchten gesucht 12V/35W und diese in Reihe geschaltet -> 48V
Dann den Shelly nochmals dran und es funktioniert das Problem war das ich min 10% an Leistung am Ausgang benötige...
Im Datenblatt ist der Strom in Abhängigkeit vom Dim Input Signal festgehalten, das geht los bei 10 % ist gleich 0,5 A.
Wenn der 2 Meter Strip jetzt nur 0,25 A oder so braucht, erwische ich die 10 % gar nicht.Habe es getestet und mit diesem ELG klappt es nun.
Danke
-
Der Shelly hat eine PWM Frequenz von 500Hz muss mal schauen...
Könnte funktionieren
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. Danke dir
-
Sicher mit PWM?
Der Shelly Plus 0-10V Dimmer macht das.
Richtige 0-10 V macht der Shelly Dimmer 0/1-10V PM Gen3 den ich dir eher empfehle.
Cephalopod Bist du dir sicher das der Shelly Plus 0-10V Dimmer PWM macht?
Wo kann man das nachlesen dann würde ich das auch nochmals testen wenn ich schon dabei bin.
Danke
-
Was soll ich den jetzt damit....
Habs aufgegeben mit Meanwell...geht zurück.
Welcher Shelly kann jetzt PWM???
-
Füs was gibt es dann so Netzteile die das nicht können?
-
So habe heute das ELG bekommen und auch meinen Eltako SDS12/1-10V zum testen...
Das selbe Spiel es dimmt nicht.. -
muss ich zugeben, dass das HLG das falschen Netzteil ist.
Jetzt habe ich das HLG zurückgegeben und habe mir ein ELG 240-48AB-3Y gekauft mal schauen!
-
Habe gerade alles nochmals getestet per Poti usw. es ändert sich nicht weder Strom noch Spannung....
-
Dann weis ich nit was du mir sagen willst..
-
Ja Netzteil kann CV und Led benötigen CV
Nur habe ich es immer mit 1-10V und nicht per PWM probiert....
CV (Konstand Spannung)
-
Ja dann passt das doch Netzteil kann ja beides CC und CV..
Ausser das Netzteil dimmt über PWM..
ich werd mir mal einen Shelly bestellen der PWM kann...
-
-
Alles anzeigen
Ich habe mal für einen Nutzer an einem Meanwell 48V, ich meine 300W, Dinge mit Shelly getestet, das war Typ AB
Das würde ich bevorzugen, am Steuereingang (Dim + -) liegen 10V an.
A) Ein Poti regelt die 10V bis 0V (quasi wie Spannungsteiler)
B) Der RGBW2 kann genutzt werden und steuert die 10V per PWM nach GND
C) Der Plus Dimmer 0-10V funktioniert, macht dann nichts anderes wie der RGBW2
D) Die 10V am Steuergang sind intern etwas hochohmiger, da können auch 0-10V DC angelegt werden (entspricht dem Dimmer 0/1-10V Gen3)
Bei <5% hat das automatisch die Ausgangsspannung abgeschaltet.
Typ B sollte ähnlich sein.Das ist interresant....
Das heist ich sollte mir ein HlG 240-48AB oder ELG-240-48AB-3Y bestellen damit ich über meinen Shelly Dimmer 0/1-10V PM Gen3 das ganze dann regeln kann??