Modul 36_Shelly.pm

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

Vorheriges Thema - Nächstes Thema

Florie

Hi zusammen,

soweit ich den Code des Moduls glaube zu verstehen, holt sich das Modul die Info, ob ein Firmware-Update vorliegt aus dem Shelly selbst. Ich habe meine Shellys in der Fritzbox gesperrt, sprich sie bekommen kein Internet, also auch automatisch keine Updates.

Es gibt ja die Seite https://api.shelly.cloud/files/firmware über die ich manuell Abrufe, ob es ein Update gibt und falls dem so ist mache ich per eigenem Webserver ein OTA per URL auf dem Shelly.

Ja umständlich, aber so funkt einfach nichts nach aussen. Gäbe es die Möglichkeit das irgendwie ins Modul einzubauen, dass es quasi die Möglichkeit gibt ein (halb-)automatisches Offline-Update zu fahren?

Ich kann das leider nicht :(


Super Modul btw.

VG

Gesendet von meinem GM1913 mit Tapatalk


Prof. Dr. Peter Henning

ZitatGäbe es die Möglichkeit das irgendwie ins Modul einzubauen
Nein, viel zu umständlich.

LG

pah

Florie

Ok, ich habs mir mal selber in bash gebaut, ist bestimmt nicht perfekt. Für mich und bei mir klappt es aber hervorragend, so kann auch ein Update direkt an alle devices verteilt werden.

Wer es testen möchte, das wäre dann hier zu finden: https://github.com/florie1706/ShellyUpdater

PV-Solar

Moin,

zuerst einmal DANKE für das Modul. Ich habe einige Module im Einsatz und im Gegensatz zu meinen Sonoff Teilen bisher keine Probleme gehabt.

Da ich seit ein paar Tagen das Shelly EM im Einsatz habe, meine Frage: gibt es dafür auch eine Unterstützung in diesem Modul hier?

Gruß
Holger

justcallmeal

Hallo zusammen,

leider schaffe ich es nicht, ein paar komplexere Befehle mit dem Shelly RGBW2 abzusetzen.
Pahs Rat mich an den REST-API Befehlen zu orientieren habe ich für mich auch nicht so ganz nachvollziehen können, die Seite
https://shelly-api-docs.shelly.cloud/#rgbw2
bringt mich da leider auch nicht weiter.

Nach viel Herumprobieren herausgefunden, dass das Zauberwort "config"  wohl eine Rolle spielt, zumindest funktioniert der Befehl

set <RGBW2-device> config effect 4

Könnte mir mal jemand ein oder zwei Befehlsbeispiele posten, die z.B. Farbe und Helligkeit beinhalten?


LG,
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.

Prof. Dr. Peter Henning

#365
Leute, das ist doch nun wirklich einfach. Mit dem Aufruf
http://<ip-adresse>/settings/color/0?effect=4
wird per REST der Effekt 4 eingeschaltet. Das steht schwarz auf weiß in der API-Referenz https://shelly-api-docs.shelly.cloud/#rgbw2-settings-color-0

Und im Modul wird so etwas aufgerufen als
set <device> config effect 4 0
(der letzte Wert ist der Kanalname - der muss laut API-Referenz (siehe oben: color/0) angegeben werden.
Diese Beschreibung steht aber auch in der CommandRef, man muss sie nur richtig lesen. (Edit: Auf Grund eines fehlenden "-Zeichens war das leider nicht in der CommandRef, sondern nur im Modul zu finden. Ist behoben.)

LG

pah

justcallmeal

Zitat von: Prof. Dr. Peter Henning am 10 August 2019, 18:09:24
Leute, das ist doch nun wirklich einfach.

Finde ich nicht, sonst hätte ich nicht gefragt.

Zitat von: Prof. Dr. Peter Henning am 10 August 2019, 18:09:24Mit dem Aufruf
http://<ip-adresse>/settings/color/0?effect=4
Funktioniert bei mir nicht. Nach diesem http-Aufruf kommt bei mir eine leere Seite mit folgendem Text:

{"ison":false,"red":250,"green":249,"blue":255,"white":2,"gain":5,"effect":4,"default_state":"last","auto_on":0.00,"auto_off":0.00,"schedule":true,"btn_type":"momentary","btn_reverse":0,"schedule_rules":["0000ass-0123456-5%","0020bsr-0123456-off"]}

Zitat von: Prof. Dr. Peter Henning am 10 August 2019, 18:09:24
Das steht schwarz auf weiß in der API-Referenz https://shelly-api-docs.shelly.cloud/#rgbw2-settings-color-0
hm...
Zitat von: Prof. Dr. Peter Henning am 10 August 2019, 18:09:24
Und im Modul wird so etwas aufgerufen als
set <device> config effect=4 0
Funktioniert bei mir ebenfalls nicht; - wohl aber funktioniert set <RGBW2-device> config effect 4 - wie ich bereits schrieb.
Zitat von: Prof. Dr. Peter Henning am 10 August 2019, 18:09:24
Diese Beschreibung steht aber auch in der CommandRef, man muss sie nur richtig lesen.
dazu müsste ich die Passage in der CommandRef erst einmal finden, aber wahrscheinlich kann ich nicht einmal richtig suchen. Sorry, aber ich finde hier keinen "set"-Befehl erklärt:  https://fhem.de/commandref.html#Shelly

Deine Antwort bringt mich leider nicht weiter. Ich kann auch nicht verstehen, warum Du nicht einfach auf meine Frage antwortest, nämlich ein Beispiel für einen  fhem-Befehl, -der eine Farbe und einen Helligkeitsgrad beinhaltet-  zu nennen. Das wäre zielführender als irgendwelche Verweise die für mich nicht nachvollziehbar sind.

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.

Prof. Dr. Peter Henning

#367
ZitatNach diesem http-Aufruf kommt bei mir eine leere Seite mit folgendem Text:

Code:

{"ison":false,"red":250,"green":249,"blue":255,"white":2,"gain":5,"effect":4,"default_state":"last","auto_on":0.00,"auto_off":0.00,"schedule":true,"btn_type":"momentary","btn_reverse":0,"schedule_rules":["0000ass-0123456-5%","0020bsr-0123456-off"]}
Das ist doch wohl keine "leere Seite" !

Sondern der JSON-Code des Devices, der eindeutig mitteilt - "effect":4,, dass der Effekt 4 gesetzt wurde. Also ist die Behauptung
ZitatFunktioniert bei mir nicht.
einfach Unsinn.

set <device> config effect 4 0
ist richtig - Copy&Paste-Fehler von mir.

CommandRef - hmm. Der HTML-Code für die Erklärung der Set-Befehle ist im Modul enthalten, wird aber aus irgendeinem Grund nicht in die CommandRef übernommen. muss ich mir ansehen. Edit: Fehler gefunden, es fehlte ein "-Zeichen im HTML-Code.

Zitatwarum Du nicht einfach auf meine Frage antwortest, nämlich ein Beispiel für einen  fhem-Befehl, -der eine Farbe und einen Helligkeitsgrad beinhaltet-  zu nennen
Weil ich keine Lust habe, Trivialfragen zu beantworten.

LG

pah



justcallmeal

Zitat von: Prof. Dr. Peter Henning am 11 August 2019, 16:39:07
Weil ich keine Lust habe, Trivialfragen zu beantworten.

Warum antwortest Du dann? Dir liegt scheinbar mehr daran andere zurechtzuweisen, oder wie hier eine Aussage einfach als "Unsinn" abzutun.
Mangels meiner Fachkompetenz werde ich die von Dir genannten Verweise erneut lesen und versuchen zu verstehen, vielen dank für die Hinweise.

Dir lege ich freundlichst das Studium eines Wikipedia-Artikels nahe:
https://de.wikipedia.org/wiki/Netiquette

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.

THZ_Haus

Hallo
heute wurde ein Update auf die Shellys 2.5 gefahren.
Version: v1.5.1

Bei den Shellys muss danach die Kalibrierung neu gestartet werden, bzw. es fehlen nach dem Update die Status Rückmeldung "open,closed".
Dadurch kamen einige "DIOF" Abfragen durcheinander!

jetzt habe ich nur bei einem statt "open" den Wert 112 im Status bzw. in der Position?

Solarview mit SAM BT, FHEM mit THZ 403 SOL, EDIMAX

Sky

Zitat von: Pfriemler am 31 März 2019, 17:48:39
a) Zum Thema "Status bei manuellem Schalten":
Ich habe gerade frisch einen Shelly1 mit Firmware 1.4.8. und mit Modulversion 1.81 im Test. Da ist nichts mit automatischer Meldung nach manuellem Schalten, nur nach Pollen. Habe ich was übersehen? Galt die aktive Meldung wirklich nur für die beta vom Shelly2?

b) ich bekomme frisch nach dem Einrichten mit schöner Regelmäßigkeit jede Minute Fehler ins Log:
2019.03.31 17:34:53.990 1: PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl line 4693.
2019.03.31 17:34:53.990 1: stacktrace:
2019.03.31 17:34:53.991 1:     main::__ANON__                      called by fhem.pl (4693)
2019.03.31 17:34:53.991 1:     main::readingsBulkUpdateIfChanged   called by ./FHEM/36_Shelly.pm (650)
2019.03.31 17:34:53.991 1:     main::Shelly_status                 called by ./FHEM/36_Shelly.pm (604)
2019.03.31 17:34:53.991 1:     main::__ANON__                      called by FHEM/HttpUtils.pm (606)
2019.03.31 17:34:53.991 1:     main::__ANON__                      called by fhem.pl (739)

Geht auch nach Neustart nicht weg.

c) nur am Rande: wegen a) MQTT zu nutzen wäre für mich keine Hürde, weder mit Shelly-Fw noch mit Tasmota, habe letztere reichlich im Einsatz. Allerdings habe ich gerade festgestellt, dass ein Shelly 1 (erste Version) mit Tasmota 0,3W weniger verbraucht, also 0,4 im Standby und 0,7 Watt mit aktivem Relais. Weniger Watt = weniger warm = weniger Veschleiß, gerade bei beengtem Einbau.
... Ruder zurück, nach letzten Messungen nehmen sich beide doch nicht so viel. Keine Ahnung, heute nachmittag war der Unterschied deutlich sichtbar, ich wechselte zwischen beiden Aktoren.
Tasmota bringt übrigens vom Fleck weg das Eingangs-Schalterverhalten "edge" mit, d.h. jede Schaltzustandsänderung bedeutet auch eine Relais-Änderung.


Wie wurde diese Fehlermeldung behoben ?
Habe im Moment eine ähnliche Fehlermeldung :


2019.08.26 17:30:27 1: PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl line 4752.
2019.08.26 17:30:27 1: stacktrace:
2019.08.26 17:30:27 1:     main::__ANON__                      called by fhem.pl (4752)
2019.08.26 17:30:27 1:     main::readingsBulkUpdateIfChanged   called by ./FHEM/36_Shelly.pm (894)
2019.08.26 17:30:27 1:     main::Shelly_status                 called by ./FHEM/36_Shelly.pm (848)
2019.08.26 17:30:27 1:     main::__ANON__                      called by FHEM/HttpUtils.pm (610)
2019.08.26 17:30:27 1:     main::__ANON__                      called by fhem.pl (745)

Prof. Dr. Peter Henning

ZitatWie wurde diese Fehlermeldung behoben ?
Durch Verwendung der aktuellen Modulversion.

LG

pah

Sky

Danke für die Antwort,

Meine ist aktuell
36_Shelly.pm        19984 2019-08-11 15:16:11Z phenning

Vielleicht noch einen Tip ?

Prof. Dr. Peter Henning

Aber ja:
1. Ignorieren, das ist nämlich nur eine Warnung ohne Konsequenzen.
2. Aussagekräftige Beschreibungen liefern, mit denen man etwas anfangen kann.

LG

pah

majorshark

Hallo,

ich versuche gerade die Schaltspiele und die Einschaltzeit der LED Leuchtmittel aufzuzeichnen. Dazu habe ich mit ein Notify erstellt das bei allen Aktoren mit Licht im Namen reagiert.


Licht.*:(on|off|set_on|set_off) {
Log(3, "NF_Schaltungen: ". $NAME ."|".$EVENT);
}


Nun habe ich aber festgestellt, dass bei den Shelly Aktoren immer drei Events ausgelöst werden. LichtHWR ist ein Shelly1 gesteuert durch das Shelly Modul. LichtBude und LichtDiele2 sind normale HM Aktoren. LichtTV ist ein mit Tasmota geflashter Sonoff via MQTT.


2019.08.31 12:41:23 3: NF_Schaltungen: LichtHWR|on
2019.08.31 12:41:23 3: NF_Schaltungen: LichtHWR|on
2019.08.31 12:41:23 3: NF_Schaltungen: LichtHWR|on
2019.08.31 12:41:52 3: NF_Schaltungen: LichtHWR|off
2019.08.31 12:41:52 3: NF_Schaltungen: LichtHWR|off
2019.08.31 12:41:52 3: NF_Schaltungen: LichtHWR|off
2019.08.31 12:46:19 3: NF_Schaltungen: LichtHWR|on
2019.08.31 12:46:19 3: NF_Schaltungen: LichtHWR|on
2019.08.31 12:46:19 3: NF_Schaltungen: LichtHWR|on
2019.08.31 12:49:10 3: NF_Schaltungen: LichtBude|on
2019.08.31 12:49:23 3: NF_Schaltungen: LichtBude|off
2019.08.31 12:49:25 3: NF_Schaltungen: LichtDiele2|on
2019.08.31 12:49:40 3: NF_Schaltungen: LichtDiele2|off
...
2019.08.31 13:28:30 3: NF_Schaltungen: LichtTV|set_on


Mit ist nicht ganz klar, warum beim Shelly drei Events ausgelöst werden und wie ich das verhindern kann. Mit
attr event-min-interval .*:3 hat es nicht funktioniert.

Könnte mich bitte mal jemand Erleuchten.
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch: