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.

    im output_on_of_webhook_emulation.js ist tatsächlich ein Fehler drin. Liegt daran, daß Allterco das JSON von den Events geändert hat..

    Probier es bitte mal damit, da sind auf jeden Fall diverse Ausgaben drin und der Fehler ist korrigiert.

    Wenn das klappt passe ich das Dimmer script an und baue da Debug-Meldungen rein..

    Falls es nicht funktionieren sollte kommen dann mit ca. 30 Sekunden Verzögerung Fehlermeldungen, z.B.

    Error: Deadline exceeded: HTTP request timed out!

    Es reicht doch wenn ich zum testen das Relay vom "Master" plus2 im browser einschalte.

    korrekt, das sollte reichen..

    Könnte man noch eine Zeile einbauen, dass auch in der Konsole nachzuvollziehen ist, dass das Script arbeitet?

    ja, das kann ich machen.. im Moment ignorieere ich die Error_message ja komplett im Script. Hier macht es aber wohl Sinn sich die mal genauer anzusehen..

    bei den Probs würde ich davon ausgehen, dass die Kommunikation deiner Shellies untereinander entweder nicht erlaubt oder zumindest "gestört". Zumindest das zweite Script sollte eigentlich problemlos laufen.. hattest du das mal statt mit dem Script mit Webhooks getestet?

    ein Beispiel dafür, wie der Shelly alle X-Sekunden toggled ist seit Version 0.11Beta1 sogar unter den Snippets bei den Scripten zu finden. ;)

    Das läßt sich auf einfache Weise auch mit einem Taster- bzw. Schalter-Event kombinieren..


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

    ja, du kannst unter Device - Debug den websocket Debug aktivieren:

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

    anschließend kannst du in der Konsole unten beim Script ausgabemeldungen sehen..

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

    Könnte es noch an einer Einstellung liegen, die vergessen wurde?

    beim I4 muss bei Tastern der Typ Button ausgewählt sein, sonst sind die Ereignisse komplett andere un das Script kann die nicht verarbeiten.

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

    n den verlinkten Script: wie sage ich denn dem i4 mit welchem eingang er so reagieren soll?

    Ganz oben im Script, Zeile 10 bis 17 findest du die Konfig. ip ist die IP-Adresse des Dimmers, der gesteuert werden soll.. input ist der Taster-Eingang am I4, den du nutzen willst (taster 0, 1,2 oder 3)

    Code
    // CONFIG START
    // IP address or hostname from Shelly Dimmer device
    let REMOTE = {
        ip: '192.168.178.240',
        input: 0,
        
    };
    // CONFIG END 

    auf welchen Ports laufen die beiden Adapter? wenn der MQTT-Adapter auf 1883 läuft dann muss der Shelly MQTT zwingend auf einen anderen Port, z.B. 1884 oder irgendetwas anderes.

    eigentlich sollte dazu auch irgendetwas in den Logs zu finden sein wenn der Adapter nicht startet..

    magst du das hier mal testen? das ist zwar noch nicht ganz so wie du es gern hättest aber für einen ersten Test sollte es reichen..

    Verhalten beim Long-Push sollte das Cycle-Switch-Verhalten emulieren, der Zustand vom Master-Rollladen wird dabei berücksichtigt..

    wurde vorher geöffnet (per App, per Schalter oder wie auch immer) wird geschlossen, wurde vorher geschlossen wir geöffnet.

    Wenn der Rollladen sich in Bewegung befindet wird gestoppt.

    Die IPs deiner Rollläden hab ich bereits eingetragen, sollte also ohne Anpassung funktionieren.

    gibt es leider (noch) nicht, das lässt sich aber mit einem Script lösen.

    den Button-Typ auf Detached stellen und ein Script anlegen welches den einfachen Single-Press übernimmt.

    Dann kann der Long-Push problemlos für einen Webhook genutzt werden ohne das das lokale Relais schaltet.

    Code
    Shelly.addEventHandler(function(e) {
      if (e.component === "input:0") {
        if (e.info.event === "single_push") {
            Shelly.call("switch.toggle",{id: 0});
        }
      }
    });

    example for mosquitto_pub, message (-m) has to be JSON.

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

    Da schreibt man einmal etwas nicht ganz so ausführlich und kriegt promt direkt zwei überflüssige bzw. dämliche Kommentare..

    Wieso in der Entwicklung? Die Gen2 gibt es doch schon zu kaufen?

    neue Funtionen einbauen bedeutet für mich "Entwickeln" und das hab ich damit gemeint. die Gen2 Geräte sind relativ neu auf dem Markt und die Wahrscheinlichkeit neue Funktionen zu bekommen ist deutlich größer als bei den Shellies der ersten Generation.

    Entwicklung beim Kunden!

    das erwähnst du so bei jeder sich bietenden Gelegenheit obwohl es ziemlicher Blödsinn ist. wenn du das so siehst frage ich ich warum du weiterhin auf Shelly setzt?

    ja, das geht.. das Script kannst du ja zweimal laufen lassen, einmal für den Linken und einmal für den rechten Rollladen..

    anpassen müsstest du in dem oberen Teil dann jeweils die IP und den input (0 und 1 im ersten Script, 2 und 3 im zweiten Script:

    das Array mit den zusätzlichen Shutters bleibt dann einfach leer:

    let shutters = [];