Beiträge von Seven of Nine
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.
-
-
Oder hat diese Generation dieses Möglichkeit überhaupt nicht mehr, sondern nur noch RPC?
er ist über MQTT (RPC) r steuerbar, über mosquitto_pub z.B. klappt das problemlos mit folgendem Kommando
-
Sind die L-Anschlüsse nicht alle gebrückt?
gebrückt, der Sinn dahinter: einen oder zwei Taster von dort aus mit Strom versorgen. Spart u.U. eine WAGO in der Dose.
die beiden freien L aber nicht zu anderen Verbrauchern oder Steckdosen weiterführen.
-
-
Here's the script, it will monitor a router's internet connection by fetching a remote URL from somewhere in the internet and turn off the relay for a short time, so the connected router will be forced to restart.
It's required to configure an auto-on timer in the Shelly Plus 1 webinterface.Java: InternetMonitor.js
Alles anzeigen// a remote URL with just a few bytes of content in order to check if internet is still available. // CONFIG START let remoteurl = 'https://gist.githubusercontent.com/eurich/6e84e85c11401c4e28a2676492d846b7/raw/5d577bc2dfadfa13887f9b2ec146fe1b2ee2f5b6/gistfile1.txt'; // number of times the check is done before internet is considered as down. let maxfails = 5; // checks the internet connection every x minutes, recommended is 5 or more let interval = 5; // CONFIG END // no need to change anything below this line. let alertTimer = ''; let failcounter = 0; function startMonitor() { alertTimer = Timer.set(interval *60 * 1000, true, function () { Shelly.call("HTTP.GET", { url: remoteurl }, function (res, error_code, error_msg, ud) { if (error_code !== 0) { if (failcounter === maxfails) { print("Restart"); restartRelay(); failcounter = 0; } else { print("fail"); failcounter++; } } }, null ); }, null ); } function restartRelay() { Shelly.call( "switch.set", { id: 0, on: false, toggle: 2}, function (result, code, msg, ud) { }, null ); } startMonitor(); -
yes, the new Shelly Plus 1 / Plus 1PM is capable to do that with via ShellyScript.. (Firmware with scripting is currently in beta stage)
What the script needs to do: fetch an external Website somewhere from the internet and if unreachable (anything else except HTTP 200 status code) turn off and then turn on the local relay. For sure the 4G router has to powered from the Shelly relay.
I'll post a scritping example later this day.
-
Denkbar wäre ein Shelly Plus 1, der via Timer-Script den Input des Uni abfragt und sein (ungenutztes Relais) dann synchron zum Shelly Uni Input schaltet aber auch das ist eigentlich Flickwerk.
meines Erachtens gibt es zwei sinnvolle Lösungen:
- die App kann das JSON von /status sauber verarbeiten
- eine Smarthome-Zentrale (ioBroker, HomeAssistant etc ) oder eine andere Art von Parser (Webserver + Scriptsprache) dazwischen.
Raspberry Pi, Docker Container auf einer Synology, ein dauerlaufender PC etc. ist dann allerdings Voraussetzung.
-
Ich hatte nun dem Shelly eine neue (feste) IP vergeben und beim Konfigurieren der Integration kommt die Fehlermeldung, dass auch diese neue IP schon konfiguriert sei - obwohl diese bis dato frei war.
ok, und du bist sicher, dass kein anderer Shelly plötzlich offline gegangen ist? Ich würde mal im Router gucken, ob und wenn ja welcher Client nun welche IP hat.. IRgendwo wirst du vermutlich einen Konfikt haben..
ich hab schon häufiger mal wieder Shellies aus dem HA gelöscht, nach Neustart des Cores wurden die bisher immer wieder gefunden.. und auch das händische Hinzufügen hat bisher immer geklappt (z.B. beim Wechsel der IP von einzelnen Shellies).
-
unter Einstellungen - Geräte ist der auch nicht sichtbar?
in den yaml files habe ich die Shellies nicht gefunden, denke der speichert die in der home-assistant_v2.db
Ich hatte nun dem Shelly eine neue (feste) IP vergeben und beim Konfigurieren der Integration kommt die Fehlermeldung, dass auch diese neue IP schon konfiguriert sei
Das spricht dafür, dass ein anderer Shelly die IP benutzt.. guck doch bei der IP mal auf das WEbinterface vom Shelly, wenn da ein "Device Name" vergeben ist wird dieser im HA übernommen, wenn der nicht definiert ist taucht der Shelly mit dem Namen shelly25-xxxxxxxxxxx auf.
-
Von Hause aus geht sowas nicht.
per Script ist sowas sicher machbar, der Shelly 3EM speichert ja den Verbrauch.
Dazu müsste man nur zu den entsprechenden Zeiten, also jeden Samstag um 15 Uhr und jeden darauf folgenden Samstag um 10 Uhr die entsprechenden Werte über die REST-API vom Shelly abfragen: http://ip-vom-shelly/status
interessant sind dort nur die Totals aus dem emeters-Baum (Wert ist in Wh)
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. Das klappt aber nicht über die Cloud. Dazu müsstest du den Shelly direkt per Netzwerk erreichen (lokal oder per VPN).
-
Den i3 habe ich leider nicht, gehe aber davon aus, dass der Eingang hardwareseitig betätigt werden muss.
korrekt, der Input wird nicht über HTTP sondern mittels angeschlossenem Schalter /Taster verändert. Deshalb kann man vom UNI aus den Zustand des Inputs am I3 zumindest über HTTP nicht verändern.
Ohne konkret zu wissen, ob die Kamera-App das JSON auswerten kann wird es schwierig eine Lösung zu finden. Was genau möchte die Kamera denn an der Stelle haben? einfachen Text wo nur ON/OFF drin stehen oder gehen auch komplexere Sachen?
Eventuell verlinkst du mal ein Handbuch der Kamera/App..
-
but I was wondering if I could use less Pro4PM
simple answer: no, Shelly PRo4PM is single phase.
-
Das geht auch alles direkt über Javascript, vorausgesetzt der Haken bei Allow Cross Origin Ressource Sharing ist gesetzt.
Hab hier mal was zusammengebastelt und ein paar Kommentare reingeschrieben. bei der Gelegenheit hab ich es auf die .fetch-API vom Browser umgebaut. Die ist etwas eleganter und moderner als der XMLHttpRequest..ich hoffe das ist soweit verständlich, wenn nicht einfach fragen..
JavaScript
Alles anzeigen<button id="timerbutton" data-ip="192.168.178.212" data-relay="0" data-timer="1800" class="favorite styled" onclick="triggerShelly()">Pumpe für 30 Minuten "EINSCHALTEN"</button> <div id="timer"></div> <script> // nach dem Laden der Seite setzen wir einen Timer window.onload = function () { StatusTimer(); } // wir holen uns IP, Relay und Timer aus den Data-Attributen des Buttons und schreiben sie // in eine Variable const btn = document.querySelector('#timerbutton'); let ip = btn.dataset.ip; let relay = btn.dataset.relay; let timer = btn.dataset.timer; // hier ist der Timer, der wird jede Sekunde aufgerufen und führt die Funktion getShellyStatus aus function StatusTimer() { var interval = setInterval(function () { getShellyStatus(ip, relay); }, 1000); } // holt den Status vom Shelly und übergibt die Rückgabe an die Funktion updateStatus function getShellyStatus(ip, relay) { fetch('http://' + ip + '/relay/' + relay) .then(response => response.json()) .then(status => updateStatus(status)); } // aktualisiert das Statusfeld mit der ID "timer" function updateStatus(status) { if (status.ison === false) { document.getElementById("timer").innerHTML = 'Pumpe ist ausgeschaltet'; } else { document.getElementById("timer").innerHTML = 'Pumpe ist an: Timer: ' + status.timer_remaining + ' Sekunden'; } } // Schaltet den Shelly an mit aktiviertem Timer function triggerShelly() { fetch('http://' + ip + '/relay/' + relay + '?turn=on&timer=' + timer) .then(response => response.json()) } </script> -
Starte mal den Core neu, dann taucht der Shelly wieder auf.
-
bei der Ersteinrichtung muss ein Shelly zwangweise über die App mit der Cloud verbunden werden, da beim "ersten Kontakt" die Verknüpfung zwischen Cloud und Benutzerkonto hergestellt wird.. das funktioniert nicht über das Webinterface.
Frage:
Kann es sein, dass die 3 betroffenen Shellies (scheinen ja alle was mit dem Pool zu tun zu haben) zu weit weg vom Router sind und deshalb immer mal wieder die WLAN-Verbindung verlieren?
auch wenn andere Shellies an ähnlicher Stelle verbaut sind und Empfang haben: der Empfang ist von vielen Faktoren abhängig.
- Wasser in der Nähe?
- andere Störquelle in der Nähe
- Position des Shelly ungünstig wegen der Antennen-Ausrichtung (manchmal reich eine 180-Grad Drehung und der Empfang ist wesentlich besser)..
Ich bin mir jedenfalls relativ sicher, dass die hier im Thema behandelten Probleme mit deinen speziellen Problemen nichts zu tun haben.
-
neu verbunden und in der Cloud angemeldet,
über die App oder die Weboberfläche?
-
Der Rollladenmotor wird seinen Neutralleiter und den Schutzleiter oben im Rolladenkasten kriegen, von da wurde ein 3-adriges Kabel nach unten gezogen.. Braun hat dauerhaft den Außenleiter, blau und grün/gelb als Rückweg dann je nach Fahrtrichtung.
grün/gelb darf man aber nicht zweckendfremden, das ist (so wie es bei dir gemacht wurde) ausdrücklich verboten. Die Farbe darf ausschließlich als Schutzleiter fungieren.
Wie man die Installation meines Erachtens (ohne viel Dreck) retten kann:
einen Shelly 2.5 direkt im Rolladenkasten verbauen (ohne verbindung zum Schalter/Taster), also lediglich N+L sowie O1 und O2 zum Motor.
die 3 Adern nach unten den Farben nach korrekt auflegen, also braun für L (ist vermutlich schon richtig) , blau für N und grün/gelb für Erde
in der Dose beim Schalter dann einen zweiten Shelly 2.5 einbauen. Bei dem dann N+L sowie die beiden SW-Anschlüsse mit dem Schalter verbinden.
Den Shelly 2.5 im Schalter kannst du dann als "Fernsteuerung" über DDD/Actions für den im Rollladen-Kasten verbauten Shelly nutzen.
Dann hätten alle Adern die korrekten Farben und es wäre ohne Dreck (Wand aufstemmen und 5-adriges Kabel ziehen) zu realisieren.
Aber, und da haben die beiden Anderen absolut Recht: such dir eine Elektro-Fachkraft und mach da bloß nichts auf Verdacht, also anhand von Farben. Meine Vermutung sollte unbedingt mit einem entsprechenden Messgerät (Multimeter, Duspol) überprüft werden.
-
naja, wenn du explizit einen window.open benutzt dann ist es nicht verwunderlich, dass sich ein entsprechendes Fenster öffnet..
was du machen möchtest ist ein im "Hintergrund" stattfindender Aufruf der URL, das geht z.B. über ein XMLHTTPRequest Objekt.
Das könnte dann ganz einfach (aber nicht schön) so aussehen.
HTML
Alles anzeigen<button class="favorite styled" onclick="triggerShelly()">Pumpe für 30 Minuten "EINSCHALTEN"</button> Antwort: <span id="demo"></span> <script> function triggerShelly() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function () { if (xhttp.readyState == 4 && xhttp.status == 200) { document.getElementById("demo").innerHTML = xhttp.responseText; } }; xhttp.open("GET", 'http://192.168.178.212/relay/0?turn=on&timer=1800', true); xhttp.send(); } </script>Da solche Ajax-Requests auf "Fremde URLs" aber von Hause aus vom Browser verboten werden muss, damit du auch Feedback vom Aufruf bekommst, im Shelly eine Option gesetzt werden..
Die Findest du unter Internet & Security - Advanced Developer-Settings. Der Haken bei "Allow Cross-Origin Resource Sharing" muss gesetzt werden.
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. -
Liegt es daran das evtl. am linken Shelly ein anderer Stromkreis an den Schaltern liegt als am rechten?
das hast du doch hoffentlich vorher gemessen, oder?
es ist in der Konstellation zwingend notwendig, dass ALLE L und SW an der selben Phase angeschlossen werden. Ansonsten wird der linke Shelly bei Betätigen des Schalters mit 400v gespeist und das geht nicht lange gut..
-
Eine Brennstelle hat mir bereits bei mehreren Shelly 1 den Schalteingang zerstört.
Taster geht begrenzte Zeit, dann nicht mehr
Über App ist schalten weiterhin möglich
Shellies reagieren auch nach zurücksetzen an anderem Taster nicht mehr auf dne Schalteingang
Hier muss ich noch den Taster messenda solltest du dringend messen..
ich würde drauf tippen, dass an SW und L zwei unterschiedliche Phasen anliegen.. Bei Schaltern gibt sowas in der Regel einen lauten Knall weil der Shelly dann mit 400v gespeist wird. Bei einem Taster kann ich mir aber durchaus vorstellen, dass nur der SW-Eingang abraucht.