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.

    dazu ist der vorhandene Code nicht zu gebrauchen.. der ist ja, wenn ich das richtig gesehen habe, eigentlich Code von mir ;)
    kannst du denn selbst überhaupt halbwegs Javascript / PHP?

    was man machen könnte wäre eine foreach-Schleife, wahlweise im Javascript die dann mehrere Male die Funktion ToggleShelly() mit unterschiedlichen Daten aufruft oder z.B. im PHP in der "Proxy"-Datei.

    im PHP z.B. würde das etwas so aussehen:

    Code
    $shellies = array('192.168.178.22', '192.168.178.23', '192.168.178.24' );
    foreach ($shellies as $shelly) {
        $curlhandler = curl_init();
     ....
    
    }

    Vielleicht wäre es sinnvoller auf eine fertige Lösung zurückzugreifen (HomeAssistant, ioBrkoker ...), denn Schleifen (foreach, while ..) sind eigentlich absolute Basics beim Selber-Programmieren..

    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

    Code
    mosquitto_pub -h localhost -p 1883 -u admin -P admin -t home/wohnzimmer/rpc  -m '{"id":124, "src":"user_1", "method":"Switch.Set", "params":{"id":3,"on":true}}'

    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.

    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.

    PatrickR

    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..

    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..

    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.

    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.

    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.