Modul 36_Shelly.pm

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

Vorheriges Thema - Nächstes Thema

wk

Hallo pah,

ich will keine Nebelkerzen zünden, sondern ich frage nur höflich weil ich etwas lernen will.
Die Unterstützung hier finde ich toll.

Zur weiteren Eingrenzung meines Problems habe ich einen neuen Shelly angelegt und ASC weggelassen.
Keine weiteren Gimmicks.

defmod Sh_Test Shelly 172.16.5.26
attr Sh_Test interval 60
attr Sh_Test mode roller
attr Sh_Test model shelly2.5
attr Sh_Test room Rolladen
attr Sh_Test verbose 5

setstate Sh_Test stopped
setstate Sh_Test 2019-06-13 12:28:20 cloud disabled
setstate Sh_Test 2019-06-13 12:29:00 config mode=roller [channel s]
setstate Sh_Test 2019-06-13 12:41:04 energy_0 5.6
setstate Sh_Test 2019-06-13 12:28:20 firmware v1.5.0-hotfix2
setstate Sh_Test 2019-06-13 12:42:04 last_dir up
setstate Sh_Test 2019-06-13 12:28:20 network <html>connected to <a href="http://172.16.5.26">172.16.5.26</a></html>
setstate Sh_Test 2019-06-13 12:42:04 pct 100
setstate Sh_Test 2019-06-13 12:42:04 position open
setstate Sh_Test 2019-06-13 12:42:04 power 0
setstate Sh_Test 2019-06-13 12:41:04 power_0 157.67
setstate Sh_Test 2019-06-13 12:42:04 state stopped
setstate Sh_Test 2019-06-13 12:29:21 stop_reason normal



Dann habe ich im Modul Fahrbewegungen ausgelöst und im Eventlog verfolgt.

2019-06-13 12:38:51 Shelly Sh_Test closed
2019-06-13 12:38:51 Shelly Sh_Test moving_down
2019-06-13 12:38:51 Shelly Sh_Test pct: 0
2019-06-13 12:38:51 Shelly Sh_Test position: closed
2019-06-13 12:38:53 Shelly Sh_Test power_0: 0
2019-06-13 12:38:53 Shelly Sh_Test energy_0: 5.6
2019-06-13 12:38:53 Shelly Sh_Test pct: 100
2019-06-13 12:38:53 Shelly Sh_Test position: open
2019-06-13 12:38:53 Shelly Sh_Test power: 161.5
2019-06-13 12:39:53 Shelly Sh_Test stopped
2019-06-13 12:39:53 Shelly Sh_Test pct: 0
2019-06-13 12:39:53 Shelly Sh_Test position: closed
2019-06-13 12:39:53 Shelly Sh_Test power: 0
2019-06-13 12:39:53 Shelly Sh_Test last_dir: down

2019-06-13 12:41:03 Shelly Sh_Test open
2019-06-13 12:41:03 Shelly Sh_Test moving_up
2019-06-13 12:41:03 Shelly Sh_Test pct: 100
2019-06-13 12:41:03 Shelly Sh_Test position: open
2019-06-13 12:41:04 Shelly Sh_Test pct: 0
2019-06-13 12:41:04 Shelly Sh_Test position: closed
2019-06-13 12:41:04 Shelly Sh_Test power: 157.67
2019-06-13 12:41:04 Shelly Sh_Test power_0: 157.67
2019-06-13 12:41:04 Shelly Sh_Test energy_0: 5.6
2019-06-13 12:42:04 Shelly Sh_Test stopped
2019-06-13 12:42:04 Shelly Sh_Test pct: 100
2019-06-13 12:42:04 Shelly Sh_Test position: open
2019-06-13 12:42:04 Shelly Sh_Test power: 0
2019-06-13 12:42:04 Shelly Sh_Test last_dir: up



Auch hier bekomme ich die für mich verwirrenden Stati.
Eine bis zwei Sekunden nach dem Fahrbefehl kommt wieder der alte Status und dann nach Ablauf des Intervals durch das Polling der richtige Status.

Prof. Dr. Peter Henning

Hmmm. Einen 2.5er habe ich nicht, beim 2er tritt so etwas nicht auf. Das kann mit der notwendigen 2. Strommessung im 2.5er zu tun haben.

In Zeile 1208 des Modul steht
InternalTimer(gettimeofday()+1, "Shelly_updown2", $hash,1);
Bitte mal diesen Code in
InternalTimer(gettimeofday()+2, "Shelly_updown2", $hash,1);
ändern und testen.

LG

pah

P.S.: Man glaubt es nicht, aber die Mehrzahl von Status heißt nicht Stati.

wk

Die Änderung hat nichts gebracht.

2019-06-13 13:41:00 Shelly Sh_Test closed
2019-06-13 13:41:00 Shelly Sh_Test moving_down
2019-06-13 13:41:00 Shelly Sh_Test pct: 0
2019-06-13 13:41:00 Shelly Sh_Test position: closed
2019-06-13 13:41:02 Shelly Sh_Test pct: 100
2019-06-13 13:41:02 Shelly Sh_Test position: open
2019-06-13 13:41:02 Shelly Sh_Test power: 169.19
2019-06-13 13:41:02 Shelly Sh_Test power_0: 0
2019-06-13 13:41:02 Shelly Sh_Test energy_0: 6.5
2019-06-13 13:42:03 Shelly Sh_Test stopped
2019-06-13 13:42:03 Shelly Sh_Test pct: 0
2019-06-13 13:42:03 Shelly Sh_Test position: closed
2019-06-13 13:42:03 Shelly Sh_Test power: 0
2019-06-13 13:42:03 Shelly Sh_Test last_dir: down


Ich teste es jetzt an einen Shelly 2

wk

Auch an meinem Shelly 2 verhält es sich genauso.

2019-06-13 13:57:05 Shelly Sh_Test open
2019-06-13 13:57:05 Shelly Sh_Test moving_up
2019-06-13 13:57:05 Shelly Sh_Test pct: 100
2019-06-13 13:57:05 Shelly Sh_Test position: open
2019-06-13 13:57:07 Shelly Sh_Test pct: 0
2019-06-13 13:57:07 Shelly Sh_Test position: closed
2019-06-13 13:57:07 Shelly Sh_Test power: 166.12
2019-06-13 13:57:07 Shelly Sh_Test power: 166.12
2019-06-13 13:57:07 Shelly Sh_Test energy: 5.8
2019-06-13 13:58:07 Shelly Sh_Test stopped
2019-06-13 13:58:07 Shelly Sh_Test pct: 100
2019-06-13 13:58:07 Shelly Sh_Test position: open
2019-06-13 13:58:07 Shelly Sh_Test power: 0
2019-06-13 13:58:07 Shelly Sh_Test last_dir: up


Und die raw definition:
defmod Sh_Test Shelly 172.16.5.25
attr Sh_Test interval 60
attr Sh_Test mode roller
attr Sh_Test model shelly2
attr Sh_Test room Rolladen
attr Sh_Test verbose 5

setstate Sh_Test stopped
setstate Sh_Test 2019-06-13 13:53:59 cloud disabled
setstate Sh_Test 2019-06-13 13:54:27 config mode=roller [channel s]
setstate Sh_Test 2019-06-13 13:57:07 energy 5.8
setstate Sh_Test 2019-06-13 13:53:59 firmware v1.5.0-hotfix2
setstate Sh_Test 2019-06-13 13:58:07 last_dir up
setstate Sh_Test 2019-06-13 13:53:59 network <html>connected to <a href="http://172.16.5.25">172.16.5.25</a></html>
setstate Sh_Test 2019-06-13 13:58:07 pct 100
setstate Sh_Test 2019-06-13 13:58:07 position open
setstate Sh_Test 2019-06-13 13:58:07 power 0
setstate Sh_Test 2019-06-13 13:58:07 state stopped
setstate Sh_Test 2019-06-13 13:55:54 stop_reason normal


wk

Ich habe zum Test einmal die Zeile 1208 ganz auskommentiert, da mich im Moment die Leistungsmessung nicht interessiert.
Wenn dann nicht zufällig das von Interval ausgelöste Polling dazwischen kommt, habe ich das von mir gewünschte Verhalten.

2019-06-14 11:10:45 Shelly Sh_Kb open
2019-06-14 11:10:45 Shelly Sh_Kb moving_up
2019-06-14 11:10:45 Shelly Sh_Kb pct: 100
2019-06-14 11:10:45 Shelly Sh_Kb position: open
2019-06-14 11:10:59 Shelly Sh_Kb stopped
2019-06-14 11:10:59 Shelly Sh_Kb last_dir: up


Kommt das Polling während der Fahrt dazwischen, gibt Shelly die aktuelle Position richtig zurück, was für mich nur verwirrend ist.
Wäre es nicht besser, während der Fahrtzeit (vom Start bis zu maxtime) das Polling zu unterdrücken?

TWART016

Beim shellyrgbw gibt es das Reading rgb. Wenn der Hex Wert für eine Farbe auf 0, also aus ist, wird in dem Reading nur eine 0, anstatt zwei Nullen angezeigt Da FTUI einen 6 stelligen Wert benötigt, funktioniert das nicht. Gibt es die Möglichkeit ohne Userreading das umzustellen?

z.B. ist blau 00FF anstatt 0000FF und grün 0FF0 anstatt 00FF00

Prof. Dr. Peter Henning

#306
Nehm ich mal auf.

Habe aber gerade etwas viel um die Ohren.

LG

pah

Edit: Patch: Zeile 996 ändern in my $rgb   = sprintf("%02X%02X%02X", $red,$green,$blue);

LG

pah

justcallmeal

#307
Zitat von: Prof. Dr. Peter Henning-->  https://forum.fhem.de/index.php/topic,100782.msg942344.html#msg942344
Tipp:
Mit der aktuellen Firmware 1.5 lassen sich die Shelly 1, 1PM, 2 und 2.5 so konfigurieren, dass sie beim Schließen und Öffnen der Eingangsschaltkanäle jeweils eine bestimmte URL aufrufen. Mit anderen Worten: Damit lassen sich beliebige Lichtschalter oder -taster mit einem konkurrenzlos günstigen IP-Tastensensor ausstatten, um etwas in FHEM zu steuern. Dafür braucht man weder einen Cloud-Zugang, noch das MQTT-Protokoll - es tut das einfache Shelly-Modul.
LG
pah

Hallo zusammen, hallo pah,

sorry für die unkonventionelle Zitatverlinkung, aber ich konnte mir nicht anders helfen, da der o.g. Threat nicht zum Antworten aktiviert ist und ich die Lösung auf meine Frage nach einem Beispiel nirgends gefunden habe.

zum Thema: Kann mir jemand ein Beispiel nennen, wie der Link lauten muss um bspw. in Fhem ein Licht anzuschalten, oder einen Link nennen, worunter ich Beispiele finden kann?

Vielen Dank vorab!

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.

justcallmeal

Zitat von: justcallmeal am 17 Juni 2019, 13:35:46
Kann mir jemand ein Beispiel nennen, einen Link nennen, worunter ich Beispiele finden kann?

Wer Geduld hat, suchen und lesen kann, ist im Vorteil:  https://fhem.de/commandref.html#Shelly   ;)

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.

bombardi

Zu der Doku habe ich nochmal eine Frage an pah

Es gibt button_on/off und out_on/off, was bewirkt das in dem Shelly Modul ?

Ich habe vor den detached Mode zu verwenden, wobei dann alle vier URL belegt wären wie in der Doku beschrieben.
Es ergibt sich dann aber ein Status für den Schalter und ein zweiter Status für den Ausgang. In welchem readings finde ich diese Status jeweils ?

Cluni

Das sind die direkten Ruckmeldungen vom shelly. Einmal für den Schaltereingang an/aus und einmal für den Zustand des Relais an/aus....

Dadurch bekommt fhem direkt mit, wenn sich lokal am shelly etwas ändert. Ohne zu pollen.


Gesendet von iPhone XR mit Tapatalk

bombardi

Danke Cluni für die schnelle Antwort, aber wie kann ich beide informationen in FHEM weiterverwenden für eigene Zwecke, da gibt es doch sicher mehrere Readings, wenn ja welche ?

UweH

#312
Zitat von: bombardi am 18 Juni 2019, 17:14:54
aber wie kann ich beide informationen in FHEM weiterverwenden
Lies mal ein paar Seiten vorher (ab 16 meine ich) und dann die commandref, steht alles drin.
P.S.: ein Blick herein (https://www.shelly-support.eu) lohnt sich auch, da werden diese Funktionen auch nochmal beschrieben

bombardi

Ich formuliere es nochmal anders.
Ich verwende zur Zeit in allen meinen Shelly 1 und 2 nur die URL out_on und out_off, damit bekomme ich immer sofort die Änderung am Ausgang mit weil sich der State im FHEM-device direkt ändert.
Wenn ich jetzt aber bei einem Shelly den detached mode verwende und für den Schalter zusätzlich die URL'S mit but_on und but_off, wie in der commandref beschrieben, verwende, erwarte ich das sich das nicht auch im State wiederspiegelt sondern in einem anderen reading.
Sonst macht die Unterscheidung keinen Sinn.
Ich kann natürlich auch ein zweites Device auf den gleichen Shelly setzen und die URL nur für die Eingänge entsprechend anpassen, aber dann brauchte man die Unterscheidung but und out auch nicht mehr.
Bitte geht auf meine Frage ein und verweist nicht nur auf die Commandref, die ich glaube verstanden zuhaben oder auf ein weiteres Forum, in dem ich ebenfalls aktiv bin ohne konkretere Verlinkung.

Prof. Dr. Peter Henning

Was kann man noch tun, als "alles hinzuschreiben" und dann noch zu sagen "steht alles drin"? Nachhilfe geben?

pah