Modul 36_Shelly.pm

Begonnen von Prof. Dr. Peter Henning, 15 November 2018, 10:24:39

Vorheriges Thema - Nächstes Thema

cs-online

Hallo,

also, wenn ich das richtig verstanden habe, fragt das Modul schon in gewissem Intervall alle Parameter ab. Wenn man allerdings will, dass FHEM sofort mitbekommt, dass eine Taste gedrückt ist, dann muss man im Shelly die Links auf FHEM bei den Tastendrücken hinterlegen. Bei mir wird der Status auch kurz nach dem Schalten aktualisiert, ohne Polling/Intervall

Grüße Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266/32 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20+S26,Shelly1/2/2.5, Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV+Speicher, alles auf einem RPI und da geht noch mehr

Dracolein

Zitat von: cs-online am 07 Februar 2020, 12:11:23
dann muss man im Shelly die Links auf FHEM bei den Tastendrücken hinterlegen.
Kannst Du das etwas näher beschreiben?
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

Prof. Dr. Peter Henning

#467
Dieser Hinweis
ZitatGegen die Nutzung dieses Moduls mit den Shelly-Devices spricht, dass damit der Aktor nicht im Stande ist, irgendwelche Zustandsänderungen von sich aus an FHEM zu melden.
im Wiki ist veraltet und wurde gerade entfernt. Siehe Commandref zum 36_Shelly.pm, da steht alles drin.

LG

pah

justcallmeal

Zitat von: Dracolein am 07 Februar 2020, 12:36:03
Kannst Du das etwas näher beschreiben?

Hi,

Du kannst Fhem-(URL-)Befehle im Shelly selbst hinterlegen  -->  Einstellungen unter "Actions" - "Output switched off URL"  - dort die Checkbox "Enable" aktivieren und dann entsprechende URL-Befehle eingeben wie z.B.

http://192.xxx.xxx.xx:8083/fhem?cmd=set <device> on

vg,
al
HM-Sen-DB-PCB, HM-Sec-SCo, HM-MOD-Re-8, HM-SEC-SC-2, HM-Sen-MDIR-O, HM-LC-Sw1PBU-FM, HM-LC-RGBW-WM, HM-ES-PMSw1-SM, HM-LC-Sw1-DR, div. Shellies u.v.m.

Dracolein

Danke für die Info. 

Die URLs irritieren mich derzeit immer noch.
In meinem Fall: Shelly 2.5 als "roller", die Shelly GUI bietet zwar die Möglichkeit der URL-Vorgabe, jedoch sind die 3 Zeilen definiert mit

ZitatUrl to be hit when the roller opens
ZitatUrl to be hit when the roller closes
ZitatUrl to be hit when the roller stops

Dazu passen die Erläuterungen in der CommandRef nicht ganz.
Und nu?  :o  :-[
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

Prof. Dr. Peter Henning

Hmmm. Gehirn anwerfen und selber denken ?

LG

pah

Dracolein

#471
Danke für die "Hilfe"  ::)
Es tut mir leid, dass mein Posting den Eindruck vermittelte, dass ich als fauler User der Einfachheit lieber nachfrage, anstelle mein Gehirn zu bemühen.
Ich hatte gestern abend um 23:00 Uhr nichts anderes zu tun, als Euch mit unqualifizierten Fragen zu provozieren.
Wenn ich auf Erfahrung zurückgreifen könnte, würde ich es tun. Dem ist leider nicht so. Leider wird in der CommandRef meine o.g. Konfiguration nicht erwähnt.

Zitat
In Shelly switch devices or the Shelly dimmer device one may set URL values that are "hit" when the input or output status changes. Here one must set
For Button switched ON url: http://<FHEM IP address>:<Port>/fhem?XHR=1&cmd=set%20<Devicename>%20button_on%20[<channel>]
For Button switched OFF url: http://<FHEM IP address>:<Port>/fhem?XHR=1&cmd=set%20<Devicename>%20button_off%20[<channel>]
For Output switched ON url: http://<FHEM IP address>:<Port>/fhem?XHR=1&cmd=set%20<Devicename>%20out_on%20[<channel>]
For Output switched OFF url: http://<FHEM IP address>:<Port>/fhem?XHR=1&cmd=set%20<Devicename>%20out_off%20[<channel>]

Kein roller blind device erwähnt.
Channel 0 / 1 hat der Shelly im "Roller" Mode lt. GUI nicht, oder ist channel0/1 = rauf/runter ?
Ich benötige keine Statusupdates der Buttons. Es würde ausreichen, wenn Aktivität der Rolläden registriert wird.

"Url to be hit when the roller stops" = URL für Output switched off ?
"Url to be hit when the roller closes/opens" = URL Output switched on ?
Falls diese Annahme zutrifft, ist mir immer noch die Angabe des Channels schleierhaft

Vorab trotzdem schönen Dank für Hilfestellung


edit:
habe inzwischen so ziemlich jede Kombination der URLs durchprobiert; alles ohne spürbare Reaktion seitens FHEM...
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

Prof. Dr. Peter Henning

Es kann an FHEM jedes beliebige Kommando übermittelt werden, wenn eines der drei Ereignisse "Roller Open", "Roller Close" oder "Roller Stop" durch einen Button am Shelly 2.5 ausgelöst wurde. Damit soll natürlich NICHT ein weiterer Open, Close oder Stop-Befehl von FHEM an den Shelly gestartet werden - sondern nur ein Reading aktualisiert werden, das ggf. sonst erst beim nächsten Polling abgefragt wird.

Man könnte also problemlos für jede der drei "URL to be hit" eintragen

http://<FHEM IP address>:<Port>/fhem?XHR=1&cmd=get%20<Devicename>%20status


Jeder Tastendruck wird dann eine Statusabfrage durch FHEM initiieren. Evtl. kann man in den Befehl auch noch eine Verzögerung einbauen.

LG

pah

Dracolein

Ich danke Dir, das werde ich probieren. Die Zeitverzögerung werde ich mithilfe eines Notify erstellen, sodass z.B. 15 Sekunden nach Schalterbetätigung FHEM eine Statusabfrage an den Shelly sendet und aktuelle Zustandsinformationen erhält. Mal sehen.

Herzlichen Dank für die Hilfestellung.
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

marvin78

Du könntest auch einfach ein kurzes sleep in den zu sendenden Befehl einbauen.

Dracolein

Zitat von: marvin78 am 11 Februar 2020, 15:20:01
Du könntest auch einfach ein kurzes sleep in den zu sendenden Befehl einbauen.
Blockiert "sleep" während seiner Laufzeit nicht FHEM vollständig, bis die Zeit abgelaufen ist?
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

marvin78

Hast du die Doku zu sleep (FHEM-sleep) gelesen?

Dracolein

Zitat von: marvin78 am 11 Februar 2020, 15:47:57
Hast du die Doku zu sleep (FHEM-sleep) gelesen?
Danke, habe ich, ja.

Ich habe heute abend das Ganze ausprobiert, URL wie folgt:
Zitathttp://192.168.178.83:8083/fhem?XHR=1&cmd=get%20shelly1%20status

Beim Aktivieren des Shellys per angeklemmtem Schalter empfängt FHEM kein Event im Eventmonitor. Die IP-Adresse und der Port stimmen. Der Befehl get shelly1 status innerhalb FHEM funktioniert auch zuverlässig.
Muss seitens FHEM hier noch irgend etwas aktiviert / "geöffnet" werden, damit das System "empfangsbereit" ist ?  Das normale Interval-Polling klappt, die Steuerung via FHEM klappt auch, es kann also nicht an der Verbindung liegen.
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

Cluni

Moin.

Ich sehe keinen cfrs-token in deinem Link. Sicher, das du den nicht brauchst?


Gesendet von iPhone mit Tapatalk

Dracolein

#479
Hi,
ich habe Deinen Link einige Seiten vorher verwendet und mein FHEM Kennwort + Username + meinen fest definierten Token eingegeben.

http://username:kennwort@192.168.178.83:8083/fhem?cmd=get%20[b]<[/b]shelly1%20status&fwcsrf=meintoken&XHR=1

Die URL habe ich in allen 3 Zeilen des Shelly eingetragen. Jedoch keine Eventerkennung im Eventmonitor zu sehen.

Und jetzt, wo ich dies Posting verfasse, sehe ich meinen Schreibfehler  ::) ::) ::)

Fazit: jetzt klappt es. Ein Sleep Befehl ist sogar unnötig, da sowohl der Start wie auch der Stop jeweils ein Event senden. D.h. sobald der Rolladen stoppt, wird in meiner Visualisierung das Symbol unmittelbar entsprechend der Rolladenstellung geändert. Ganz ohne Wartezeit (wie bisher)


Tip: ggf. Deine URL in den Wiki-Eintrag hinzufügen, die Info kann nützlich sein.
Danke für die Hilfe.
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;