iobroker-community-adapters / ioBroker.shelly

Integrate your Shelly devices into ioBroker via MQTT or CoIoT
Other
163 stars 66 forks source link

No support for SHDW-2 #192

Closed Rocko84 closed 4 years ago

Rocko84 commented 4 years ago

At this time Shelly door window 2 sensor not supported. Please add to Shelly adapter. Thanks

HGlab01 commented 4 years ago

The following information is required with a short note where it comes from, e.g. (status, settings, CoAP or MQTT). For new devices CoAP and MQTT are always implemented together and not even just MQTT or CoAP. Starting with version 3.3.2 the CoAP messages will be displayed in the lo-gfile without switching to the debug mode for unknown Shelly devices.

COAP MESSAGES Shelly device must be in CoAP mode. Search the log-file for this kind of info (e.g.):

1) Add an info like this to the issue: SHXX-XY#XXXXXX#1 : {"blk":[{"I":0, "D": "RGBW2"}], "sen":[{"I":118, "T": "S", "D": "Input", "R": "0/1", "L":0},{"I":111, "T": "S", "D": "Brightness_0", "R": "0/100", "L": 0},{"I":121, "T": "S", "D": "Brightness_1", "R": "0/100", "L":0},{"I":131, "T": "S", "D": "Brightness_2", "R": "0/100", "L":0},{"I":141, "T": "S", "D": "Brightness_3", "R": "0/100", "L":0},{"I":151, "T": "S", "D": "VSwitch_0", "R": "0/1", "L":0},{"I":161, "T": "S", "D": "VSwitch_1", "R": "0/1", "L":0},{"I":171, "T": "S", "D": "VSwitch_2", "R": "0/1", "L":0},{"I":181, "T": "S", "D": "VSwitch_3", "R": "0/1", "L":0},{"I":211, "T": "P", "D": "Power_0", "R": "0/288", "L":0},{"I":221, "T": "P", "D": "Power_1", "R": "0/288", "L":0},{"I":231, "T": "P", "D": "Power_2", "R": "0/288", "L":0},{"I":241, "T": "P", "D": "Power_3", "R": "0/288", "L":0}]} 2) Additionally this kind of info: SHXX-XY#XXXXXX#1 : {"G":[[0,111,50],[0,121,50],[0,131,50],[0,141,50],[0,151,0],[0,161,0],[0,171,0],[0,181,0],[0,211,0],[0,221,0],[0,231,0],[0,241,0],[0,118,0]]}

MQTT Check if the new Shelly device is listed in Shelly's API documentation https://shelly-api-docs.shelly.cloud . If the device is not in the Shelly API documentation install the ioBroker "MQTT Broker/Client" adapter. The new Shelly device has to be connected to the MQTT Broker/Client" adapter via MQTT. Add an export/screenshot of all objects for the new Shelly under "mqtt.0".

STATUS (http) Response of http://ip-shelly/status . Anonymize password if available. IP address, host name, SSID are not to be anonymized. This is superfluous

SETTINGS (http) Response of http://ip-shelly/settings . Anonymize password if available,. IP address, host name, SSID are not to be anonymized. This is superfluous

schmupu commented 4 years ago

@Rocko84 please add all information @HGlab01 mentioned above! without this information I can not add the DW2.

Rocko84 commented 4 years ago

COAP Message: 2020-07-07 07:48:15.428 - error: shelly.0 (13749) Shelly Device unknown, configuratin for Shelly device xxx.xxx.xxx.xx (undefined / undefined / SHDW-2#A4CF12F433E6#1) for CoAP does not exist!

2020-07-07 07:48:15.430 - error: shelly.0 (13749) 1. Send developer following Info: SHDW-2#A4CF12F433E6#1 : {"blk":[{"I":1,"D":"sensor_0"},{"I":2,"D":"device"}],"sen":[{"I":3108,"T":"S","D":"dwIsOpened","R":["0/1","-1"],"L":1},{"I":3109,"T":"S","D":"tilt","U":"deg","R":["0/180","-1"],"L":1},{"I":6110,"T":"A","D":"vibration","R":["0/1","-1"],"L":1},{"I":3106,"T":"L","D":"luminosity","U":"lux","R":["U32","-1"],"L":1},{"I":3110,"T":"S","D":"luminosityLevel","R":["dark/twilight/bright","unknown"],"L":1},{"I":3101,"T":"T","D":"extTemp","U":"C","R":["-55/125","999"],"L":1},{"I":3102,"T":"T","D":"extTemp","U":"F","R":["-67/257","999"],"L":1},{"I":3115,"T":"S","D":"sensorError","R":"0/1","L":1},{"I":3111,"T":"B","D":"battery","R":["0/100","-1"],"L":2},{"I":9102,"T":"EV","D":"wakeupEvent","R":["battery/button/periodic/poweron/sensor/alarm","unknown"],"L":2}]} 2020-07-07 07:48:15.430 - error: shelly.0 (13749) 2 .Send developer following Info: SHDW-2#A4CF12F433E6#1 : {"G":[[0,3108,0]]}

MQTT: grafik

Status: {"wifi_sta":{"connected":true,"ssid":"xxx","ip":"xxx.xxx.xxx.xx","rssi":-60},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"","unixtime":0,"serial":3,"has_update":false,"mac":"A4CF12F433E6","is_valid":true,"tmp":{"value":19.80,"units":"C","tC":19.80,"tF":67.64, "is_valid":true},"lux":{"value":155, "illumination": "bright", "is_valid":true},"accel":{"tilt":6, "vibration":0},"sensor":{"state":"open", "is_valid":true},"bat":{"value":100,"voltage":6.01},"act_reasons":["button"],"update":{"status":"unknown","has_update":false,"new_version":"","old_version":"20200612-144015/master@a3eeb1a1+"},"ram_total":49976,"ram_free":39540,"fs_size":233681,"fs_free":153863,"uptime":20}

Settings: {"device":{"type":"SHDW-2","mac":"A4CF12F433E6","hostname":"shellydw2-A4CF12F433E6","sleep_mode":true},"wifi_ap":{"enabled":false,"ssid":"shellydw2-A4CF12F433E6","key":""},"wifi_sta":{"enabled":true,"ssid":"xxx","ipv4_method":"dhcp","ip":null,"gw":null,"mask":null,"dns":null},"wifi_sta1":{"enabled":false,"ssid":null,"ipv4_method":"dhcp","ip":null,"gw":null,"mask":null,"dns":null},"mqtt": {"enable":false,"server":"xxx.xxx.xxx.xxx:xxxx","user":"xxx","id":"shellydw2-A4CF12F433E6","reconnect_timeout_max":60.000000,"reconnect_timeout_min":2.000000,"clean_session":true,"keep_alive":60,"max_qos":0,"retain":false,"update_period":30},"coiot": {"update_period":15},"sntp":{"server":"time.google.com","enabled":true},"login":{"enabled":false,"unprotected":false,"username":"admin"},"pin_code":"2ILI$N","name":null,"fw":"20200612-144015/master@a3eeb1a1+","discoverable":false,"build_info":{"build_id":"20200612-144015/master@a3eeb1a1+","build_timestamp":"2020-06-12T14:40:15Z","build_version":"1.0"},"cloud":{"enabled":true,"connected":true},"timezone":"Europe/Berlin","lat":51.227699,"lng":6.773460,"tzautodetect":true,"tz_utc_offset":0,"tz_dst":false,"tz_dst_auto":true,"time":"","unixtime":0,"dark_threshold":0,"twilight_threshold":0,"sleep_mode":{"period":6,"unit":"h"},"led_status_disable":true,"dark_url":null,"twilight_url":null,"close_url":null,"vibration_url":null,"tilt_enabled":true,"tilt_calibrated":true,"vibration_enabled":true,"reverse_open_close":false,"sensors":{"temperature_threshold":1.0,"temperature_unit":"C"},"temp_over_url":null, "temp_over_value":0.0, "temp_over_onetime":true,"temp_under_url":null, "temp_under_value":0.0, "temp_under_onetime":true,"temperature_offset":0.0}

I hope you now all relevant informations. kind regards

schmupu commented 4 years ago

@Rocko84 , perfekt! Damit kann ich arbeiten. Ich melde mich, sobald du es testen kannst

schmupu commented 4 years ago

Kannst Du bitte den Version 3.3.5 von GitHub laden und testen. Wie das geht steht hier

Rocko84 commented 4 years ago

Version 3.3.5 war bereits installiert. Habe es eben nochmal installiert, aber ohne Erfolg.

schmupu commented 4 years ago

Egal ob du die Version schon installiert hast, bitte nochmals installieren. Die Version 3.3.5 ist noch nicht fertig. An der arbeite ich ständig. Mechaniker der Installation der Version musst du die Shelly Instanz neu starten. Dann sollte es gehen.

Rocko84 commented 4 years ago

So es funktioniert, nur werden jegliche Werte als null angezeigt. 326DCE11-381F-432C-9CDE-B0581EB1AD18

HGlab01 commented 4 years ago

COAP oder MQTT?

Rocko84 commented 4 years ago

Habe auf MQTT und COAP probiert, alle Werte werden aktualisiert bleiben aber auf null

schmupu commented 4 years ago

Hmm, bin baff, das es bei MQTT und CoAP so ist. Hast du auch den MQTT Adapter disabled bzw die ports angepasst? Siehst du im Logfile das der DW2 gefunden wird?

Kannst du im CoAP Modus die Shelly Instanz auf Debug stellen und das Logfile hier veröffentlichen. Bitte auf dem Shelly DW2 einschränken.

Rocko84 commented 4 years ago

Der MQTT Adapter war nicht aus. Nun habe ich Werte im MQTT Modus. Nur die Temperatur bleibt auf null. Logfile schick ich später rum. 910535B6-7CD3-4C77-89CF-68851ED26FEF

schmupu commented 4 years ago
  1. Okay, für MQTT habe ich das korrigiert. Wenn du nochmals die Version 3.3.5 installierst (auch installieren wenn diese schon installiert ist) und die Instanz neu startest, sollte es bei MQTT nun einen Wert sensor.temperature geben, der gefüllt ist. Kannst du das bitte testen.

  2. Kannst Du den Shelly Adapter auf CoAP stellen und die Shelly Instanz auf debug (Expertenmodus aktiv sein). Den Debug Output benötige ich für den DW2.

Rocko84 commented 4 years ago

ich hoffe das reicht an Daten grafik grafik grafik

Rocko84 commented 4 years ago

Im mqtt Modus wird nun alles angezeigt

schmupu commented 4 years ago

Danke, das hilft. Du kannst aber auch das Logfile Downloaden und dann den Inhalt kopieren. Das geht auch. Die IP Adressen brauchst Du nicht zu schwärzen. Du nutzt garantiert etwas mit 192.168.x.y ? Auf die Adressen kann man nicht aus dem Internet drauf zugreifen. Kannst Du im Logfile einmal schauen ob Du für den DW2 auch andere Einträge mit Payload als 3108 findest. Das würde noch helfen.

schmupu commented 4 years ago

@Rocko84 , momentan sieht es so aus, dass per CoAP nur Tür auf/zu gesendet wird. Das ist dann ein Firmware Bug von Shelly! Kannst Du bitte einmal schauen wenn du das Fenster/Tür öffnest und schließt ob sich dann die Werte in sensor.door ändern?

Rocko84 commented 4 years ago

Die Werte in Sensor.door ändern sich. Alle anderen werden aktualisiert aber ohne Änderung. Hier grün: 164BFA3C-257A-41B2-A496-2FE75FE7B24C

Weiteres Problem: Ich habe einen zweiten dw2, der taucht hier gar nicht auf. Werde zu diesem Sensor gleich nochmal alle Daten senden.

Rocko84 commented 4 years ago

sorry, der zweite shelly taucht jetzt auch auf. finde keine weiteren Einträge mit Payload und einem anderen Wert

schmupu commented 4 years ago

Ich habe Shelly eine Mail geschrieben. Es handelt sich hier aber um einen Firmware Fehler. Da kann ich nichts tun. Ich hoffe inständig dass die Hardware besser ist.

schmupu commented 4 years ago

Kannst du bitte noch eine Sache versuchen. Stoppe die Shelly Instanz in ioBroker und öffne ein Terminalfenster.

cd /opt/iobroker/node_modules/iobroker.shelly
node coaptest.js | grep "SHDW-2"

Kannst Du mir davon ein paar Zeilen des Outputs schicken.

HGlab01 commented 4 years ago
cd /opt/iobroker/node_modules/iobroker.shelly
node coaptest.js | grep "SHDW-2"

Bei mir klappt grep nur mit "-a", also node coaptest.js | grep "SHDW-2" -a

Rocko84 commented 4 years ago

Klappt bei mir nicht.

Rocko84 commented 4 years ago

2C615D45-69A9-452B-9180-DF27FAC7289B

Noch nicht mal ne Fehlermeldung

HGlab01 commented 4 years ago

Hast du den Sensor auch benutzt (Fenster/Tür auf/zu?) Hat das rote Licht geblinkt? Nur dann wacht der Shelly auf und sendet ein paar COAP Nachrichten. Ich hab den SHDW-1 und die COAP-Implementierung ist da sehr unzuverlässig. Es kommt aber schon meistens auch eine COAP-Message bei Aktivierung des Sensors. Hätte gehofft, dass die Version2 nun stabiler funktioniert.

schmupu commented 4 years ago

@Rocko84 , es kommen keine CoAP Messages bei dir an. Sieht man sehr gut mit dem CoAP Testprogramm. Wende dich bitte an den Hersteller.

Rocko84 commented 4 years ago

Der Fehler lag zwischen den Ohren :) C80C052E-5006-469D-8D8A-4039180B2573

Rocko84 commented 4 years ago

@schmupu : hilft dir das jetzt doch nicht?

schmupu commented 4 years ago

firmware Fehler von shelly. in der Nachricht stehen zwei ,, hintereinander und einmal fehlt ein , zwischen ][. Das ist syntaktisch verkehrt. Bitte wende dich an Shelly!

Rocko84 commented 4 years ago

Ticket ist aus. Danke

Rocko84 commented 4 years ago

Der Fehler wird mit FW 1.8.0 behoben