Modul 36_Shelly.pm

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

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

Meine Güte, mach Dir doch bitte mal klar, auf welchen Umwegen sich die App mit dem Shelly verbindet. Das ist ein Sicherheitsleck, also sollte man froh über jede nicht vorhandene Einstellmöglichkeit sein.

LG

pah

Mave

Ich habe jetzt auf MQTT umgestellt.

majestro84

Hallo

Ich nutze schon einiger Zeit das Modul ohne Probleme.
Mir ist in letzter Zeit öfters beim starten des FHEM Servers im log eine Meldung aufgefallen.
PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl line 4684.

Ich habe sie erstmal ignoriert weil ich auch nicht die Zeit hatte danach zu suchen.
Das hat sich nun geändert und ich habe mal im global das attr stacktrace auf 1 gesetzt um zu gucken wo die Warnung her kommt.

2019.01.30 19:41:17 1: PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl line 4684.
2019.01.30 19:41:17 1: stacktrace:
2019.01.30 19:41:17 1:     main::__ANON__                      called by fhem.pl (4684)
2019.01.30 19:41:17 1:     main::readingsBulkUpdateIfChanged   called by ./FHEM/36_Shelly.pm (650)
2019.01.30 19:41:17 1:     main::Shelly_status                 called by ./FHEM/36_Shelly.pm (604)
2019.01.30 19:41:17 1:     main::__ANON__                      called by FHEM/HttpUtils.pm (606)
2019.01.30 19:41:17 1:     main::__ANON__                      called by fhem.pl (734)


Es scheint das es aus dem Shelly Modul kommt, beim pollen des Status.

Hier ein list des Shellys
Internals:
   CHANGED   
   DEF        192.168.0.35
   FUUID      5c488521-f33f-e69a-9f66-04417c4d0fd0541d
   INTERVAL   60
   NAME       F_Licht_EG
   NR         413
   STATE      off
   TCPIP      192.168.0.35:80
   TYPE       Shelly
   OLDREADINGS:
   READINGS:
     2018-12-05 12:02:50   cloud           disabled
     2018-12-05 13:05:01   config          default_state=last
     2018-12-05 12:02:50   firmware        v1.3.5
     2019-01-30 17:13:54   network         connected
     2019-01-30 19:37:11   relay           off
     2019-01-30 19:37:11   state           off
Attributes:
   icon       hue_filled_gu10_par16
   model      shelly1
   room       Flur


Schon einmal vielen Dank für die Mühe und des super Moduls.

Gruß Alex

Server: Fujitsu ESPRIMO Q920 - aktuellen FHEM-Docker Image:Z-Wave (RollerShutter,DoorWindow,Socket,PIR,....) | ENIGMA2 | EGPM2LAN | BLE-Tag(PRESENCE) | HUE | alexa-fhem | Shelly | MQTT2
1.Pi-Zero:Viessmann(optolink) mit 89_VCONTROL300.pm
2.Pi3 Dongle Server: Zigbee2MQTT(CC1352P-2), Z-Wave(UZB1), BT

sledge

Auf den ersten Blick sieht es so aus, als ob die FW des Shelly ein wenig veraltet ist (aktuell ist 1.4.5).

FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

majestro84

Hallo
Danke für den Tipp habe da natürlich auch zuerst dran gedacht, nur wurde mir auf der Weboberfläche des Shelly kein Update angeboten.
Jetzt habe ich den Shelly einmal neu gestartet und siehe da ein Update verfügbar.

Leider bleibt die Warnung im log für jeden meiner 4 Shelly 1 ein mal.
2019.01.31 12:48:12 1: PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl line 4684.
2019.01.31 12:48:12 1: stacktrace:
2019.01.31 12:48:12 1:     main::__ANON__                      called by fhem.pl (4684)
2019.01.31 12:48:12 1:     main::readingsBulkUpdateIfChanged   called by ./FHEM/36_Shelly.pm (650)
2019.01.31 12:48:12 1:     main::Shelly_status                 called by ./FHEM/36_Shelly.pm (604)
2019.01.31 12:48:12 1:     main::__ANON__                      called by FHEM/HttpUtils.pm (606)
2019.01.31 12:48:12 1:     main::__ANON__                      called by fhem.pl (734)
2019.01.31 12:48:12 1: PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl line 4684.
2019.01.31 12:48:12 1: stacktrace:
2019.01.31 12:48:12 1:     main::__ANON__                      called by fhem.pl (4684)
2019.01.31 12:48:12 1:     main::readingsBulkUpdateIfChanged   called by ./FHEM/36_Shelly.pm (650)
2019.01.31 12:48:12 1:     main::Shelly_status                 called by ./FHEM/36_Shelly.pm (604)
2019.01.31 12:48:12 1:     main::__ANON__                      called by FHEM/HttpUtils.pm (606)
2019.01.31 12:48:12 1:     main::__ANON__                      called by fhem.pl (734)
2019.01.31 12:48:12 1: PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl line 4684.
2019.01.31 12:48:12 1: stacktrace:
2019.01.31 12:48:12 1:     main::__ANON__                      called by fhem.pl (4684)
2019.01.31 12:48:12 1:     main::readingsBulkUpdateIfChanged   called by ./FHEM/36_Shelly.pm (650)
2019.01.31 12:48:12 1:     main::Shelly_status                 called by ./FHEM/36_Shelly.pm (604)
2019.01.31 12:48:12 1:     main::__ANON__                      called by FHEM/HttpUtils.pm (606)
2019.01.31 12:48:12 1:     main::__ANON__                      called by fhem.pl (734)
2019.01.31 12:48:12 1: PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl line 4684.
2019.01.31 12:48:12 1: stacktrace:
2019.01.31 12:48:12 1:     main::__ANON__                      called by fhem.pl (4684)
2019.01.31 12:48:12 1:     main::readingsBulkUpdateIfChanged   called by ./FHEM/36_Shelly.pm (650)
2019.01.31 12:48:12 1:     main::Shelly_status                 called by ./FHEM/36_Shelly.pm (604)
2019.01.31 12:48:12 1:     main::__ANON__                      called by FHEM/HttpUtils.pm (606)
2019.01.31 12:48:12 1:     main::__ANON__                      called by fhem.pl (734)


Hier noch einmal ein list vom Shelly
Internals:
   CHANGED   
   DEF        192.168.0.35
   DURATION   0
   FUUID      5c488521-f33f-e69a-9f66-04417c4d0fd0541d
   INTERVAL   60
   MOVING     stopped
   NAME       F_Licht_EG
   NR         413
   STATE      off
   TCPIP      192.168.0.35:80
   TYPE       Shelly
   READINGS:
     2018-12-05 12:02:50   cloud           disabled
     2018-12-05 13:05:01   config          default_state=last
     2019-01-31 12:36:27   firmware        v1.4.5
     2019-01-31 12:45:07   network         connected
     2019-01-31 08:47:11   relay           off
     2019-01-31 12:45:12   state           off
Attributes:
   icon       hue_filled_gu10_par16
   model      shelly1
   room       Flur


Gruß Alex
Server: Fujitsu ESPRIMO Q920 - aktuellen FHEM-Docker Image:Z-Wave (RollerShutter,DoorWindow,Socket,PIR,....) | ENIGMA2 | EGPM2LAN | BLE-Tag(PRESENCE) | HUE | alexa-fhem | Shelly | MQTT2
1.Pi-Zero:Viessmann(optolink) mit 89_VCONTROL300.pm
2.Pi3 Dongle Server: Zigbee2MQTT(CC1352P-2), Z-Wave(UZB1), BT

ArduPino

#110
@majestro84
Habe ich auch, nur die Zeilennummern sind anders.
2019.02.01 20:13:59 1: stacktrace:
2019.02.01 20:13:59 1:     main::__ANON__                      called by fhem.pl (4602)
2019.02.01 20:13:59 1:     main::readingsBulkUpdateIfChanged   called by ./FHEM/36_Shelly.pm (651)
2019.02.01 20:13:59 1:     main::Shelly_status                 called by ./FHEM/36_Shelly.pm (604)
2019.02.01 20:13:59 1:     main::__ANON__                      called by FHEM/HttpUtils.pm (606)
2019.02.01 20:13:59 1:     main::__ANON__                      called by fhem.pl (724)


Die Perl Warnung habe ich auch schon lange.

piet_pit

#111
Hallo Zusammen,
ich wollte heute auch einmal das Shelly-Modul in FHEM aktivieren, bekomme aber folgende Fehlermeldung:


2019.02.11 20:06:15 0: Can't locate JSON.pm in @INC (you may need to install the JSON module) (@INC contains: . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl ./FHEM) at ./FHEM/36_Shelly.pm line 34.
BEGIN failed--compilation aborted at ./FHEM/36_Shelly.pm line 34.

2019.02.11 20:06:26 1: reload: Error:Modul 36_Shelly deactivated:
Can't locate JSON.pm in @INC (you may need to install the JSON module) (@INC contains: . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl ./FHEM) at ./FHEM/36_Shelly.pm line 34.
BEGIN failed--compilation aborted at ./FHEM/36_Shelly.pm line 34.


Ich habe das Modul entsprechend des Shelly WIKI in FHEM konfiguriert und auch ein Update gemacht.
Woran kann dieser Fehler liegen, muss ich irgendetwas nachinstallieren?

Vielen Dank für die Hilfe.
Pit
FHEM 6.0 auf Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7490
HM-Mod-RPI-PCB
JeeLink
CUNO 1.47

det.

Steht doch auch im Wiki deutlich hervorgehoben- der Hinweis die commandref zu lesen.
Dort findest Du genau wie auch in Deiner geposteten Fehlermeldung den Hinweis
This module needs the JSON package

Also bitte auf dem Server nachinstallieren
LG
det.

Jamo

Leider kann man das Shelly modul nicht disablen. Da ich mein WLAN ausschalte, zeigt das modul im state immer error an, wobei dann meine Structure auf undefined geht.
Kann man das disable noch dazubauen? Damit würde der state bei Wlan ausfall dann wohl immer den letzten Zustand beibehalten ...
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

ollir

Zitat von: inoma am 12 Februar 2019, 00:05:39
Leider kann man das Shelly modul nicht disablen. Da ich mein WLAN ausschalte, zeigt das modul im state immer error an, wobei dann meine Structure auf undefined geht.
Kann man das disable noch dazubauen? Damit würde der state bei Wlan ausfall dann wohl immer den letzten Zustand beibehalten ...

ja hatte ich auch. Einfach "interval" auf Null, dann wird nichts gepollt

piet_pit

Hallo Zusammen,

@det, habe ich überlesen, sorry.

Da ich nicht so bewandert bin in Sachen Linux, gibt es eine Info (WIKI?), wie ich das JSON Package im Zusammenhang mit FHEM am besten installiere? Ich habe gelesen, dass es sowohl über CPAN als auch über apt-get geht, was macht hier Sinn und funktioniert?

Vielen Dank und viele Grüße
Pit
FHEM 6.0 auf Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7490
HM-Mod-RPI-PCB
JeeLink
CUNO 1.47


Apollon

#117
Hallo,
nachdem ich hier im Forum auf Shelly aufmerksam geworden bin, habe ich letzte Woche 3 Shellys bekommen. Ich nutze ebenfalls das Modul 36_Shelly.
Meine beiden Shelly2 habe ich als Rollladenschalter eingebunden. Die Befehle open und closed funktionieren einwandfrei. Ich habe jedoch 2 Probleme, für die ich keine Lösung finde.

  • Wenn ich einen Prozentwert auswähle, erhalte ich als state ERROR. Es wird nicht geschaltet.
    Edit:
    Wenn ich den Befehl direkt im Browser absetze, erhalte ich als Antwort: Not calibrated!
    In der App habe ich nun auch die Kalibrierung gefunden. Allerdings wird die Kalibrierung  mit dem Fehler "Calibration failed - maxtime reached on first opening" abgeschlossen.
  • Beim Befehl open und closed wird bei state moving_up und moving_down angezeigt. Wenn der Befehl abgearbeitet ist, wird stopped angezeigt. Müsste hier nicht open oder closed angezeigt werden?
Ich vermute, dass ich irgendetwas falsch eingestellt habe, kann aber den Fehler nicht finden.
Shellysettings:{"device":{"type":"SHSW-21","mac":"B6E62D5A4F70","hostname":"shellyswitch-5A4F70","num_outputs":2, "num_meters":1, "num_rollers":1},"wifi_ap":{"enabled":false,"ssid":"shellyswitch-5A4F70","key":""},"wifi_sta":{"enabled":true,"ssid":"NetzBM_Low","ipv4_method":"static","ip":"192.168.178.60","gw":"192.168.178.1","mask":"255.255.255.0","dns":null},"mqtt": {"enable":false,"server":"192.168.33.3:1883","user":"","reconnect_timeout_max":60.000000,"reconnect_timeout_min":2.000000,"clean_session":true,"keep_alive":60,"will_topic":"shellies/shellyswitch-5A4F70/online","will_message":"false","max_qos":0,"retain":false,"update_period":30},"login":{"enabled":false,"unprotected":false,"username":"admin","password":"admin"},"pin_code":"zjv#Q-","coiot_execute_enable":false,"name":"","fw":"20190213-160238/v1.4.7@62267d06","build_info":{"build_id":"20190213-160238/v1.4.7@62267d06","build_timestamp":"2019-02-13T16:02:38Z","build_version":"1.0"},"cloud":{"enabled":false,"connected":false},"timezone":"Europe/Berlin","lat":50.110901,"lng":8.682130,"tzautodetect":true,"time":"07:56","hwinfo":{"hw_revision":"prod-2018-10c", "batch_id":5},"mode":"roller","max_power":1840,"relays":[{"name":null,"ison":false,"has_timer":false,"overpower":false,"default_state":"off","btn_type":"toggle","btn_reverse":0,"auto_on":0.00,"auto_off":0.00,"schedule":false,"schedule_rules":[],"sun":false,"sun_on_times":"0000000000000000000000000000","sun_off_times":"0000000000000000000000000000"},{"name":null,"ison":false,"has_timer":false,"overpower":false,"default_state":"off","btn_type":"toggle","btn_reverse":0,"auto_on":0.00,"auto_off":0.00,"schedule":false,"schedule_rules":[],"sun":false,"sun_on_times":"0000000000000000000000000000","sun_off_times":"0000000000000000000000000000"}],"rollers":[{"maxtime":22.00,"default_state":"stop","swap":false,"input_mode":"openclose","button_type":"toggle","btn_reverse":0,"state":"stop","power":0.00,"is_valid":true,"safety_switch":false,"schedule":false,"schedule_rules":[],"sun":false,"sun_open_times":"0000000000000000000000000000","sun_close_times":"0000000000000000000000000000","obstacle_mode":"disabled","obstacle_action":"stop","obstacle_power":200,"obstacle_delay":1,"safety_mode":"while_opening","safety_action":"stop","safety_allowed_on_trigger":"none","off_power":2,"positioning":true}],"meters":[{"power":0.00,"is_valid":true,"timestamp":1550130985,"counters":[0.000, 0.000, 0.000],"total":0}]}

Fhem:Internals:
   CHANGED   
   DEF        192.168.178.60
   DURATION   0
   FUUID      5c62ba24-f33f-144b-05fc-d8ee70fdacd03790
   INTERVAL   30
   MOVING     stopped
   NAME       SH_Rollo_WC
   NR         975
   STATE      stopped
   TARGETPCT  100
   TCPIP      192.168.178.60:80
   TYPE       Shelly
   READINGS:
     2019-02-14 06:09:00   cloud           disabled
     2019-02-13 19:10:23   config          rc=
     2019-02-14 06:07:59   firmware        v1.4.7
     2019-02-14 07:29:13   last_dir        up
     2019-02-14 05:45:22   network         connected
     2019-02-14 07:29:13   pct             102
     2019-02-14 07:29:13   position        102
     2019-02-14 07:29:13   power           0
     2019-02-14 07:29:13   state           stopped
     2019-02-12 08:14:54   stop_reason     normal
Attributes:
   cmdIcon    Auf:bms_Pfeil_rot Zu:bms_Pfeil_gruen stop:bms_Stop_2
   devStateIcon Zu:fts_shutter_100@blue Auf:fts_shutter_10@blue 9\d.*:fts_shutter_10@blue 8\d.*:fts_shutter_20@blue 7\d.*:fts_shutter_30@blue 6\d.*:fts_shutter_40@blue 5\d.*:fts_shutter_50@blue 4\d.*:fts_shutter_60@blue 3\d.*:fts_shutter_70@blue 2\d.*:fts_shutter_80@blue 1\d.*:fts_shutter_90@blue 0\d.*:fts_shutter_100@blue
   eventMap   open:Auf closed:Zu
   group      Rollläden
   interval   30
   mode       roller
   model      shelly2
   pct100     open
   room       Rollläden,Shelly
   webCmd     Auf:Zu:stop:pct
   widgetOverride pct:0,10,20,30,40,50,60,70,80,90,100


Log: 2019.02.14 11:19:36 1: [Shelly_updown] Issue a non-blocking call to http://192.168.178.60:80/roller/0?go=to_pos&roller_pos=50
2019.02.14 11:19:36 1: [Shelly_updown] has invalid JSON data


Grüße
Apollon


Bigsonic1

Unterstützt das Modul schon die neuen Rgbw2 von Shelly?

Apollon

Ist das eine Antwort auf meine Frage?
So wie ich das sehe, wird RGBW2 lediglich vom Shelly RGBW2 unterstützt. Ich habe aber 2 Shelly2-Geräte.