Modul 36_Shelly.pm

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

Vorheriges Thema - Nächstes Thema

cobra001100

Hallo zusammen,

nutze das Shelly Modul und es funktioniert bei mir einwandfrei mit einem Shelly Plug und einen Shelly 1.
Erstmal vielen Dank für das Modul.

Ich möchte nun, wenn der Shelly 1 eingeschaltet wird einen zweiten Aktor schalten.
Dieser Aktor soll möglichst "sofort" auf ein Zustandsänderung des Shellys reagieren.
Ich habe in der Beschreibung von dem Modul gelesen, dass mit der Beta Firmware möglich sein soll.

Leider weiß ich nicht genau wie das funktionieren soll.

Ich nutze die Firmware 1.4.3 (Release). Kann diese schon die Zustandänderung an FHEM übermitteln?

Leider habe keine Beta Firmware auf der Seite von Shelly gefunden  :-[

Ich hoffe ich bin hier richtig ::)

LG
Tobias

Florie

Stell Mal Interval auf 1. Dann geht das auch sofort ;)

Gesendet von meinem ONEPLUS A6003 mit Tapatalk


Prof. Dr. Peter Henning

ZitatIch habe in der Beschreibung von dem Modul gelesen, dass mit der Beta Firmware möglich sein soll.

Leider weiß ich nicht genau wie das funktionieren soll.

Ich auch nicht, und ich habe auch weder etwas von "Übermitteln" noch von einer "Zustandsänderung von Shelly 1" geschrieben.

Das Modul 36_Shelly.pm pollt den Aktor in regelmäßigen Abständen - wobei ein Intervall von einer Sekunde ziemlich gefährlich ist. Denn es wird jeweils ein http-Request abgesetzt. Je nach Latenz im Netz, je nach Auslastung des Shellys etc. kann dies zu Fehlern und zum Ausbremsen des FHEM-Systems führen. Muss nicht - aber keine Garantie.

Die Shellys senden nur AKTIV eine Zustandsänderung, wenn sie im MQTT-Modus sind.

Allerdings kann auch diese verzögert sein. Damit Menschen etwas als "sofort" empfinden, sollte die Latenz < 0,4 Sekunden sein. Das ist auch mit MQTT nicht garantiert.

Fazit: Wer etwas "gleichzeitig" schalten will, sollte den Schaltbefehl auf anderem Weg an FHEM übermitteln, und die Schaltbefehle von dort aus (fast) gleichzeitig übermitteln.

LG

pah


cobra001100

Vielen Dank für deine Erläuterung du hast mir sehr weitergeholfen.


Tobias_94

Hallo zusammen.
Danke nochmal für die Hilfe.
Seit heute Mittag lässt sich mein Shelly 2 nicht mehr schalten. Der State steht auf Error.
Damit die beteiligten nicht nochmal die Glaskugel benutzen müssen hier das Listing:

Internals:
   DEF        192.168.178.66:80
   DURATION   0
   INTERVAL   60
   MOVING     stopped
   NAME       WZ_Deckenlampen
   NR         64
   STATE      Error
   TCPIP      192.168.178.66:80
   TYPE       Shelly
   READINGS:
     2018-12-30 00:00:10   cloud           disabled
     2018-12-30 00:00:10   firmware        v1.4.3
     2019-01-01 23:24:07   network         connected
     2019-01-01 12:59:45   overpower_0     false
     2018-12-30 00:03:22   overpower_0|1   false
     2019-01-01 09:38:40   overpower_1     false
     2019-01-01 13:22:00   power           0
     2019-01-01 13:22:00   relay_0         false
     2018-12-30 00:03:22   relay_0|1       true
     2019-01-01 09:38:40   relay_1         false
     2019-01-01 23:38:15   state           Error
Attributes:
   defchannel 0
   mode       relay
   model      shelly2
   room       80_Wohnzimmer,90_Alexa,Licht
   shellyuser admin

Cluni

Gib mal das Passwort neu ein...


Gesendet von iPhone XR mit Tapatalk

m_gatz

Moin zusammen,

ich möchte gern meinen Shelly2 mit einem Toggle versehen, der beim Drücken eines Funktasters ausgeführt wird.

Leider habe ich dazu gerade eine Blockade im Hirn.
Folgendes DoIf tut es in einem Fall nicht und im anderen bootet der Shelly neu.  :'(


(["XMI_158d00015635fb:\bclick\b"] and [shelly_Number1:relay_0])
(set shelly_Number1 off 0)
(set shelly_Number1 on 1)
DOELSE
(set shelly_Number1 off 1)
(set shelly_Number1 on 0)



Vielen Dank für die Unterstützung!!

stefanpf

#82
Zitat von: Prof. Dr. Peter Henning am 29 Dezember 2018, 09:56:17
Betreffend das Passwort: Das wird in einer separaten Datei verschlüsselt abgelegt. Sollte  nach einem Save config auch beim Neustart verfügbar sein. Achtung: Diese Routine stammt nicht von mir, ggf. mal bei Rudi König anfragen.

Hi,

habe meine Shellys noch nicht und nutze gerade die Wartezeit um mich etwas einzulesen.
Wg. des verlorenen Passwortes: eventuell habt ihr das Device zwischenzeitlich umbenannt?
Das Passwort wird in einem Schlüssel der den Devicenamen enthält abgelegt. Nach dem Umbenennen ist dieser nicht mehr verfügbar.

Das könnte man modulseits abfangen wie z.B. hier
http://github.com/mhop/fhem-mirror/blob/master/fhem/FHEM/72_FB_CALLMONITOR.pm

#################################
# If Device is renamed, copy the password data
sub
FB_CALLMONITOR_Rename($$)
{
    my ($new, $old) = @_; 
   
    my $old_index = "FB_CALLMONITOR_".$old."_passwd";
    my $new_index = "FB_CALLMONITOR_".$new."_passwd";
   
    my $old_key =getUniqueId().$old_index;
    my $new_key =getUniqueId().$new_index;
   
    my ($err, $old_pwd) = getKeyValue($old_index);
   
    return undef unless(defined($old_pwd));
   
    setKeyValue($new_index, FB_CALLMONITOR_encrypt(FB_CALLMONITOR_decrypt($old_pwd,$old_key), $new_key));
    setKeyValue($old_index, undef);
}



P.S.
das Passwort wird unverschlüsselt abgelegt
(https://wiki.fhem.de/wiki/DevelopmentModuleAPI)
Für die Verschlüsselung ist das jeweilige Modul zuständig.
Im Callmonitor ist auch eine entsprechende Diggest MD5 Implementierung enthalten.

Gruß Stefan

Prof. Dr. Peter Henning

I stand corrected: Das Passwort wird ohne Zusatzaufwand nicht verschlüsselt.

Zwar sind inzwischen so viele Kollisionsangriffe auf MD5 bekannt, dass von der Sicherheit des im Callmonitor verwendeten Verfahrens nicht auszugehen ist. Aber als nötig erachte ich das schon deshalb nicht, weil das Passwort an den Shelly im Klartext übertragen wird.

LG

pah


ulli

Hallo zusammen,
ich habe mir vor kurzem einen Shelly 2 für meine Rolladenaktoren bestellt. (Leider ist er noch auf dem Postweg.)
Ich frage mich ob man einen der Schalteingänge vom Shelly als Tür/Fensterkontakt nutzen kann.
Ich würde das mit einem Reedkontakt und einem Magneten an der Tür an den S1/2 Schalteingang des Shellys hängen wollen.
Lässt es die SW zu den Schalter ohne Aktion durch den Shelly selbst zu nutzen und per FHEM den Zustand auszulesen und Aktionen auszuführen?

Viele Grüße,
   Ulli

Prof. Dr. Peter Henning

Prinzipiell ja - aber davon rate ich dringend ab. Denn der Magnetkontakt müsste 230 V schalten, dafür sind die Reed-Relais nur in Sonderfällen geeignet. Und man muss 230 am Fensterrahmen haben...

LG

pah

ulli

Hm, wenn meine Annahme richtig ist dürfte doch am Shelly der Schaltkontakt keinen Strom fließen lassen, sondern nur die anliegenden Spannung messen.
d.h. es fließt auch kein Strom über das Reed-Relay.
Die Spannung habe ich eh am Fenster da ja das Rollo dort montiert ist.


UweH

#87
Zitat von: ulli am 04 Januar 2019, 18:20:42
Hm, wenn meine Annahme richtig ist dürfte doch am Shelly der Schaltkontakt keinen Strom fließen lassen, sondern nur die anliegenden Spannung messen.
d.h. es fließt auch kein Strom über das Reed-Relay.
Die Spannung habe ich eh am Fenster da ja das Rollo dort montiert ist.
Ganz dünnes Eis. Finger weg.
Wenn Du schon unbedingt mit einem Reedkontakt den Shelly schalten willst, dann über den Umweg eines (12- oder 24V) Relais. Dafür brauchst Du zwar zusätzlich eine Kleinspannung am Fenster, ist aber sicherer. Frag mal den Elektriker Deines Vertrauens, was er von Deinem Plan hält...

EDIT: Deine Frage gehört übrigens hierhin.

Gruß
Uwe

Hellspawn

Ich habe da mal eine Verständnisfrage.

Ich habe nun mehrere Shelly1, Shelly2 und einen Shelly4 in Betrieb. Der Shelly4 schaltet bei mir im Stall mehrere Aussenleuchten, diese sind auch über einen Schalter bedienbar. Funktioniert soweit wunderbar.
Für Fhem helfe ich mir da mit einem Dummy, welcher meinen Schalter simuliert und ein simples DOIF schaltet dann.

Wie habt Ihr das gelöst? Auch ein Dummy für jeden Ausgang mit dem dazugehörigem DOIF oder Notify? Oder gibt es da eine einfachere Lösung ?

Gruß
Carsten

det.

Hallo Carsten,
Schau mal nach readingsProxy
LG
det.