Beiträge von joma0815

    Freut mich, dass es funktioniert.

    Nicht unerwähnt möchte ich aber lassen, dass es sich um das Grundgerüst an Scripten handelt, es wäre jetzt noch Einiges an Sicherheitseinrichtungen von Vorteil.

    Z.B. kannst du aktuell mit deinem Taster durch Mehrfachbetätigung, das System komplett "ausser Tritt" bringen, da jedes Mal ein Schaltbefehl ausgelöst wird. Es müsste dazu zumindest eine "Verriegelung" in das Script.

    Weiters wäre es von Vorteil, dass der Empfänger, wenn er in der Ferne geschaltet hat, eine finale Rückmeldung sendet, damit du weisst, dass in der Ferne alles i.O. ist.

    Es wäre sogar möglich, mit einem "double_push" am Sendetaster eine reine Statusanfrage an den Empfänger zu senden...usw...

    Das kann ich aber, ohne Testaufbau bei mir, nicht mehr fehlerfrei liefern.

    Außer du tauchst in die wunderbare Welt der Scripte tiefer ein, was ich sehr empfehlen kann.

    Probier wieder, falls es nicht geht oder ein Fehler kommt, gib Bescheid:

    Probier mal:

    Falls es funtioniert müsstest du auf der Gerätekarte sehen, dass einige Bytes versendet wurden.

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

    Ok. dann kann ich deine function zum Senden auch nicht aufrufen. Da du in deinem Bild beide Scripte für das Senden zusammenkopiert hast, dachte ich, ich kann dein bereits funktionierendes Senderscript und Empfängerscript nützen.

    Aber kein Problem, ich werde heute abend mein Script so erweitern, dass auch das Senden des Schaltstrings (ein/aus) funktioniert.

    Perfekt,

    jetzt nur noch deine bereits funktionierende function sendMessage auslösen:

    Code
    Shelly.addStatusHandler(function (event) {
      //print (event);
      let status;
      if (event.component === 'switch:0'){
        status = event.delta.output;            
        print('Relais geschaltet: ',event.component, status);
        if (status) sendMessage('ein'); //true
        else if (!status) sendMessage('aus'); // false
      }
    });

    Bestenfalls sollte jetzt bereits 'ein' oder 'aus' beim Empfänger ankommen.

    Für einen 1Gen4 sind die event Befehle tatsächlich anders, so funktioniert es bei mir:

    Code
    Shelly.addStatusHandler(function (event) {
      print (event);
      let status;
      if (event.component === 'switch:0'){
        status = event.delta.output;            
        print('Relais geschaltet: ',event.component, status);
       }
     });

    Kannst du das bei dir prüfen, indem du zunächst das Relais manuel per App oder Web schaltest. Dann sollte das auf der Konsole erscheinen: Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Wenn Relais aus, dann false.

    Wenn das funktioniert, dann sollte selbiges auch mit deinem Taster funktionieren, Also Taster schaltet Relais ein: true, bei Relais aus: false.

    Gib Bescheid, danach erfolgt der nächste Schritt

    Sorry mein Fehler beim rauskopieren, Senderscript: es fehlt am Ende })

    Code
    Shelly.addStatusHandler(function (event) {
      print (event);
      let status;
      if (event.component === 'input:0'){
          status = event.delta.state;            
          print('Relais geschaltet: ',event.component, event.delta.state);
       }
    })

    Ich probiere es bei mir auf einem Shelly 1 Gen 4 und melde mich später. Wir müssen dazu sowohl beim Sender als auch beim Empfänger ein fertiges Script basteln, nur das zusammenkopieren der Scriptfragmente reicht nicht.

    Hallo,

    da die Übertragung eines Schaltstringes = beliebiger kurzer Text z.B. "ein oder aus" von Lora zu Lora bereits funktioniert, hast du das Wichtigste bereits geschafft.

    Nun musst du im Script zunächst "nur" noch sagen, dass beim Betätigen des Tasters, z.B. der String "ein" gesendet wird.

    Stell dazu am besten ein, dass beim Sendershelly nach Betätgen des Tasters auch das Relais richtig ein oder aus schaltet, also nicht "getrennter Schalter", es geht auch anders, aber das wäre der einfachere Weg.

    Danach fügst du das Scipt ein, das erkennt, wenn das Relais schaltet:

    Code
    Shelly.addStatusHandler(function (event) {
        print (event);
        let status;
        if (event.component === 'input:0'){
        status = event.delta.state;            
        print('Relais geschaltet: ',event.component, event.delta.state);
    }

    Sollte es hier einen Fehler geben, dann siehe dir unter print(event) den genauen Befehl, abweichend von event.delta.state an, dieser variiert je Shelly Typ.

    Wenn du im Script siehst, dass das Schalten funktioniert und du auch erkennst ob das Relais ein oder aus ist, ergänzt du darin einfach dein Script zum Senden an den lora Empfänger.

    Beim Empfang ist es dann ähnlich: Kommt z.B. der Schaltstring "ein", schaltest du im Script mit folgendem Befehl das Relais des Empfänger Shelly ein: status = 'ein'

    Code
    switch (status) {
      case 'ein' : {stat = true; break}
      case 'aus' : {stat = false}
    }  
    Shelly.call('Switch.Set', {'id': 0, 'on': stat});

    Ich hoffe, damit etwas weiter geholfen zu haben.

    Hallo,

    du könntest das mit zwei Szenen probieren.

    Szene 1: Schaltszene, wenn: manuelle Ausführung, dann: dein Tor schalten

    Szene 2: Auslöseszene: wenn: dein Schalter, dann: Szene 1 auslösen, Szene 1 deaktivieren, Szene 1 nach xSekunden wieder aktivieren.

    Habe das mal testweise probiert - siehe Bilder.

    Ich frage mich nur, was passiert, wenn der Paketdienst länger als 30s Zeit braucht...

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

    Hallo,

    das nervige Springen auf die Gerätestatistik tritt bei mir auch auf. Samsung Galaxy A34 Android 16 und Samsung Tablet Android 16 Hochformat, egal ob App oder Web Version.

    Aber nur, wenn zuvor einmal ein Wechsel der Registerkarte durchgeführt wurde und dann nur beim 1. Mal.

    Da es unter Win11 am Laptop unter Querformat nicht auftritt, würde ich vermuten, es hängt mit dem Thema Hochformat/Querformat zusammen.

    Beim Querformat wird im Normalfall die Gerätestatstik beim Registerblattwechsel zunächst automatisch auf der rechten Seite eingeblendet. Vielleicht wird das beim Hochformat auch durchgeführt und bleibt dann bis zum Anwählen eines Gerätes "hängen"...

    Die Antwort habe ich irgendwie schon wieder erwartet (und gleich als Suggestivfrage).

    Möchte hier aber nicht zum wiederholten Mal das Thema cloud lostreten. Jeder sollte für sich selber entscheiden dürfen. Cloud läuft bei mir stabil.

    DIe Einfachheit von Szenen hat mir den Einstieg in Shelly sehr erleichtert und ich dachte ich könnte den einen oder anderen dazu motivieren.

    Und nun bereue ich meinen Post und habe mich gerade erinnert, wie cloud Nutzer in diesem Forum bereits bezeichnet wurden...

    Hallo,

    ergänzend zu den gezeigten Varianten möchte ich noch auf eine einfache Möglichkeit ohne Zeitpläne und Scripte hinweisen.

    Mit einer Szene lässt sich eine ganz simple Variante realisieren.

    Um 21:00 Uhr schaltet das Licht Stiegenhaus für 10min ein, um 21:10 schaltet das Licht Küche für 5min und das Licht Esszimmer für 8min ein usw...

    Mit Gruppen von Lichtern auch beliebig erweiterbar...

    Zur Aktivierung muss nur die Szene aktiv gesetzt werden.

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

    Der Einstieg in die virtuellen Geräte ist etwas gewöhnungsbedürftig, in diesem Fall aber relativ leicht.

    Du nimmst ein beliebiges Gen3 Gerät und erstellst unter dem Reiter Komponente eine Text Komponente. Danach wird unter dem Reiter Gruppe aus der Komponente eine Gruppe erstellt. Dabei oder auch danach musst du angeben, dass die Gruppe zu einem virtuellen Gerät extrahiert wird. Benenne die Gruppe dazu bereits sinnvoll z. B. Waschmaschine, das erleichtert die Suche.

    Nach dem Extrahieren müsstest du unter all deinen Geräten ein virtuelles Gerät mit dem Namen Waschmaschine finden.

    Hallo,

    falls du zusätzlich zum Aktivitätsprotokoll eine Anzeige im Daschboard haben möchtest, dass eine Szene ausgelöst wurde, könntest du dafür ein virtuelles Gerät mit einer Text Komponente verwenden.

    Als Bsp. im Bild schreibt die Szene bei Aktivierung den Text "Waschmaschine läuft" in die Textkomponente. Mit einer 2. Szene dann selbiges für Waschmaschine aus.


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

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