Seite 1 von 1

Shelly + TP Link 100 schalten sehr langsam

Verfasst: 6. Mai 2021 00:03
von tony.blue
Hallo,

da dies mein erster Beitrag hier ist bitte ich um Entschuldigung, wenn ich mich vermutlich etwas umständlich ausdrücke :roll: .

Ich habe einen Shelly 2.5, an dem ein Doppelschalter angeschlossen ist um das Schaltsignal abzunehmen. Tatsächlich geschalten wird das Licht von einem TP Link 100 Zwischenstecker. Hintergrund dieser Konfiguration ist, dass ich keine Kabelverbindung vom Schalter zur Lichtquelle habe. Ich hoffte dies so zu lösen:

Shelly 2.5 -> openHab3.0 -> TP Link 100

Das Problem hierbei ist: Nach betätigen des Schalters dauert es rund 20 sec. bis das Licht an oder ausgeht :? .

Lässt sich das irgendwie optimieren?

Vielen Dank!


Tony

Re: Shelly + TP Link 100 schalten sehr langsam

Verfasst: 6. Mai 2021 22:16
von udo1toni
Hallo Tony, willkommen im Forum!

Zwanzig Sekunden sind schon etwas arg lang. Eine Sekunde wäre akzeptabel, bei zwei Bindings, über die das Signal läuft. Die Frage ist, wie genau Du konfiguriert hast, eventuell bist Du da ungünstig vorgegangen...

Re: Shelly + TP Link 100 schalten sehr langsam

Verfasst: 8. Mai 2021 01:33
von tony.blue
Ich habe zum Einschalten diese Rule erstellt:

Code: Alles auswählen

triggers:
  - id: "1"
    configuration:
      itemName: LichtKuche_Relay2_Output
      state: ON
      previousState: OFF
    type: core.ItemStateChangeTrigger
conditions: []
actions:
  - inputs: {}
    id: "2"
    configuration:
      itemName: TPLinkHS100G_Betrieb
      command: ON
    type: core.ItemCommandAction
  - inputs: {}
    id: "3"
    configuration:
      type: application/javascript
      script: >-
        var HttpUtil = Java.type("org.openhab.core.io.net.http.HttpUtil")

        var urlmessage = encodeURI("Lichtschalter ein")

        HttpUtil.executeUrl("GET", "https://api.callmebot.com/whatsapp.php?phone=+49xxxxxxxx&text=This+is+a+test&apikey=xxxxxx&text=" + urlmessage , 2000)
    type: script.ScriptAction

Das ist die Rule zum Ausschalten:

Code: Alles auswählen

triggers:
  - id: "1"
    configuration:
      itemName: LichtKuche_Relay2_Output
      state: OFF
      previousState: ON
    type: core.ItemStateChangeTrigger
conditions: []
actions:
  - inputs: {}
    id: "2"
    configuration:
      itemName: TPLinkHS100G_Betrieb
      command: OFF
    type: core.ItemCommandAction
  - inputs: {}
    id: "3"
    configuration:
      type: application/javascript
      script: >
        var HttpUtil = Java.type("org.openhab.core.io.net.http.HttpUtil")

        var urlmessage = encodeURI("Lichtschalter aus")

        HttpUtil.executeUrl("GET", "https://api.callmebot.com/whatsapp.php?phone=+49xxxxxx&text=This+is+a+test&apikey=xxxx&text=" + urlmessage , 2000)
    type: script.ScriptAction

Die WhatsApp-Nachricht dient nur zur Fehlersuche.

Wenn ich direkt an der Weboberfläche den Schalter "LichtKuche_Relay2_Output" betätige wird die Regel sofort ausgeführt und das Licht sofort geschalten. Nur wenn ich den Schalter (Shelly 2.5) betätige dauert es über 10 Sec. Es scheint so, als ob der Shelly nur in sehr langen Zyklen abgefragt wird.

Der Shelly ist unter Things so konfiguriert:

Code: Alles auswählen

UID: shelly:shelly25-relay:7ab25d1a85
label: Licht Küche
thingTypeUID: shelly:shelly25-relay
configuration:
  eventsCoIoT: true
  deviceIp: 192.168.114.129
  eventsSwitch: true
  updateInterval: -60
  eventsButton: true
  eventsPush: false
Mit der Einstellung updateInterval: habe ich unterschiedliche Werte ausprobiert. Gefühlt verändert sich aber nichts.

Ich bin nun ratlos :oops: .

Wie könnte ich denn weitersuchen?

Vielen Dank!

Tony

Re: Shelly + TP Link 100 schalten sehr langsam

Verfasst: 9. Mai 2021 12:13
von udo1toni
Mit dem Shelly Addon kenne ich mich nicht aus. Ich habe hier mqtt im Einsatz, da ist es so, dass der Tastendruck aktiv gemeldet wird, das geht quasi ohne Verzögerung.
Gibt es eventuell einen anderen Channel außer dem Relay? Vielleicht direkt den Schalteingang?

Re: Shelly + TP Link 100 schalten sehr langsam

Verfasst: 19. Sep 2021 11:42
von mad-mike
udo1toni hat geschrieben: 9. Mai 2021 12:13 Gibt es eventuell einen anderen Channel außer dem Relay? Vielleicht direkt den Schalteingang?
Moin.

Ich wollte nur mal meine Erfahrungen teilen...
Ich habe vor einiger Zeit dies auch so umgesetzt wie oben steht...

Code: Alles auswählen

itemName: LichtKuche_Relay2_Output
Jedoch hat das Openhab system auch eine gewisse zeit gebraucht um Feedback von dem geschaltetem Relay zu bekommen...
So hat also die ""action"" etwa 5 Sekunden Verzögerung gehabt...

Darum sollte man schauen ob man nicht den Eingang des Shelly als Trigger nutzen kann...

Code: Alles auswählen

relay#button triggered SHORT_PRESSED
Damit läuft dann alles doch viel flüssiger...

Re: Shelly + TP Link 100 schalten sehr langsam

Verfasst: 20. Sep 2021 06:03
von udo1toni
Diese Verzögerung entsteht nicht innerhalb openHAB, sondern kommt durch verzögerte Kommunikation zustande (es sei denn, der Fehler tritt nur unter bestimmten Randbedingungen auf...)

Grundsätzlich arbeitet openHAB mit sehr geringer Verzögerung, allgemein im Bereich weniger zehn Millisekunden bis weniger hundert Millisekunden.

Alles oberhalb einer halben Sekunde deutet auf Probleme mit der Kommunikation hin, es sei denn, die Verzögerung besteht grundsätzlich (z.B. http oder auch exec hat unterirdische Response Zeiten - das ist aber systemimmanent und hat nichts mit openHAB zu tun).

Das Shelly Binding arbeitet ja mit dem CoAP Protokoll, welches eigentlich flott sein sollte.

Re: Shelly + TP Link 100 schalten sehr langsam

Verfasst: 20. Sep 2021 11:13
von ibot1989
Die langsame "Reaktionszeit" der Shelly Richtung OpenHAB kann ich bestätigen.
Ich habe dort auch viel rumprobiert, half alles nichts, das schnellste was ich hinbekommen hatte beim probieren war knapp 1 Sekunde Reaktionszeit zwischen Shelly schaltet und OpenHAB kennt den Zustand.

Ich habe daraufhin bei mir alle Shelly "Eingänge" auf MQTT umgestellt, dies funktioniert sehr viel schneller, da die Shellys MQTT von Haus aus können, empfehle ich jeden hier MQTT für schnelle Reaktionszeiten.

Gruß iBot