Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shelly Plus Plug S #1256

Open
salee31 opened this issue Apr 2, 2023 · 32 comments · May be fixed by #1305
Open

Shelly Plus Plug S #1256

salee31 opened this issue Apr 2, 2023 · 32 comments · May be fixed by #1305
Labels
new-device-support add support for a new device.

Comments

@salee31
Copy link

salee31 commented Apr 2, 2023

I couldn‘t find any comments regarding the Plus Plug S, is there any news regarding this device?
Is there upcoming support for Shelly Plus Plug S device?

@github-actions github-actions bot added the stale OP has not replied, gone stale, ready to close. label Apr 24, 2023
@mongoose-os-apps mongoose-os-apps deleted a comment from github-actions bot Apr 24, 2023
@timoschilling timoschilling added new-device-support add support for a new device. and removed stale OP has not replied, gone stale, ready to close. labels Apr 24, 2023
@tvavrys
Copy link

tvavrys commented Jul 15, 2023

Any update on this?

@trucidare trucidare linked a pull request Aug 3, 2023 that will close this issue
@trucidare
Copy link

Hey,

created a PR with a basic implementation without LED support. There are i think neopixel stuff used for LED stuff and not figured out how to use them right now.

Currently it support the button, homekit support, power- and temperature measurement.

@bsoener
Copy link

bsoener commented Aug 10, 2023

So I can't get my Shelly plug s flashed. Shows no reaction... As soon as I this link: http://192.168.178.66/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyPlugS.zip
I get this message:
Trying to update from http://rojer.me/files/shelly/shelly-homekit-ShellyPlugS.zip

When I go back to the Ip of the Shelly no Homekit view comes. Latest original firmware has been updated and wifi connection is strong. Does anyone know what this can be?

@raubsau
Copy link

raubsau commented Aug 27, 2023

@bsoener
Are you trying to flash a Shelly Plug S or Shelly Plus Plug S with the Shelly Plug S firmware?

Anyway, try to set a gateway and/or DNS IP in the network section of your device.

@bsoener
Copy link

bsoener commented Aug 27, 2023

I'm trying a Shelly Plus Plug S. But from what I've been told, this device is not supported?

@bsoener
Copy link

bsoener commented Sep 17, 2023

Is there no solution for this? Or an alternative to flashing?

@raubsau
Copy link

raubsau commented Sep 17, 2023

I am waiting for a "native" solution too.
In the meantime, I will use Hombridge (https://homebridge.io/)

@bsoener

This comment was marked as off-topic.

@jamesv91
Copy link

Hi, please is possibility to make flash the Shelly Plus Plug S with Homekit? I have the same issue like bsoener commented on Aug 10

Older Shelly Plug S was OK, also Shelly S - with no problem

@raubsau
Copy link

raubsau commented Oct 25, 2023

Can you please tell me what could be the reason for this?
I cannot help you, sorry...

@ragt03knisternd
Copy link

I am on FW 1.0.8 with my Shelly Plus Plug S. But the homekit FW does not work.
Same Problem

So I can't get my Shelly plug s flashed. Shows no reaction... As soon as I this link: http://192.168.178.66/ota?url=http://rojer.me/files/shelly/shelly-homekit-ShellyPlugS.zip I get this message: Trying to update from http://rojer.me/files/shelly/shelly-homekit-ShellyPlugS.zip

When I go back to the Ip of the Shelly no Homekit view comes. Latest original firmware has been updated and wifi connection is strong. Does anyone know what this can be?

@timoschilling
Copy link
Collaborator

We currently support only the Shelly Plug S (which is no longer sold by Shelly) and not the new Shelly Plus Plug S!

@Ladenburg1
Copy link

Is there any timewindow when it will be supported or do you have a workaround?
Thanks a lot

@gizzy90
Copy link

gizzy90 commented Dec 26, 2023

Hey,

created a PR with a basic implementation without LED support. There are i think neopixel stuff used for LED stuff and not figured out how to use them right now.

Currently it support the button, homekit support, power- and temperature measurement.

Hey @trucidare , I really like the work which is done for Shelly Homekit :) And I bought Shelly Plus Plug S and tried to use your PR. But I am not used to Git etc. Tried to "Makefile" a new .Zip to Upload the firmware, but failed. Any chance to get the .zip File from you to flash my shelly?

@trucidare
Copy link

Hey, find the build firmware in the link:

fw.zip

build using make ShellyPlusPlugS LOCAL=0

@fek89
Copy link

fek89 commented Jan 5, 2024

Hi,
I tried to update the Shelly Plus Plug 1 with this SW from @trucidare but I failed. Could you please explain me how to do this? And does the Plus Plug 1 then work with Homekit?
Thanks a lot!!

@theArch86
Copy link

theArch86 commented Jan 10, 2024

Hey, find the build firmware in the link:

fw.zip

build using make ShellyPlusPlugS LOCAL=0

Sorry, I don't know what I'm doing - but I tried

make ShellyPlusPlugS LOCAL=0

and get

make: *** No rule to make target ShellyPlusPlugS'. Stop.`

Would you be so kind and tell me what to do to build a firmware for ShellyPlusPlugS

@MountainMan1977
Copy link

Hi, i have the same issue (Plus Plug S v.2 ) - there is a newer Version here in Germany I think only with physical changes - some contacts had not specific length and so on...
Do you think there will be a firmware someday for this plug - otherwise I will send it back?!
Best regards and thanks for your work you share here!

@Ladenburg1
Copy link

Ladenburg1 commented Feb 9, 2024

I think there is nothing going on here. Thank you all for your great work using Shellys with Apple Homekit!
I'm switching to original Shelly firmware and integrate it in Homekit using HomeAssistant. This works fine running on a Raspberry.
Best regards

@nikeee
Copy link

nikeee commented Feb 29, 2024

I compiled the branch of @trucidare's fork (binary attached here: shelly-homekit-ShellyPlusPlugS.zip) and I'm having trouble flashing it.

Edit:
I seem to have the Shelly Plus Plug S v2 SNPL-10112EU:
https://kb.shelly.cloud/knowledge-base/shelly-plus-plug-s-v2
This is the model name that is printed on the plug. The device information that one can download in the web interface state that it is a SNPL-00112EU.
Don't know if this matters, or it means that both devices can use the same firmware.

After enabling debug logging, I found this message:

shelly_ota.cpp:245 Aborting update: backend 0x3ffe0a98 aborts update at file bootloader.bin: -4: app / fs already written, can't update boot

I'd like to help with the implementation for v2. Any pointers on how to get information about the hardware? It seems that it's necessary to break the case to take a look at the hardware.

Edit2:
I found this comment regarding the error:
tasmota/mgos32-to-tasmota32#31 (comment)

  • It seems that the order of entries in the zip file matters. The manifest must come first and the remaining files must be added in thee same order as they are listed in the manifest file.
  • Additionally, some files must be written before others.
  • I think boot and the partition table must always come first, as they have to be written before app and fs. This is also consistent with the manifest of the official firmware.
  • Now the error is shelly_ota.cpp:245 Aborting update: backend error while processing data: -1 (-10: Cannot relocate shelly)", which may be because the new partition table is incompatible with the one of the stock firmware. Or maybe something entirely different.

Edit3:
I managed to flash the firmware by using the fs order from the stock firmware as well as its partition table. By adding another nvs, I seem to have managed to get the same layout as the stock image. However, I won't share the file because I'm not sure how safe it is to use. It may brick devices as soon as something is written to the persistent file system because the addresses are not aligned with the one from the actual build of the firmware.

So I can confirm that the PR of @trucidare works if the layout is changed. I think this can be fixed by changing the FS config in mos.yml, but I don't know how this works. This may be a thing that can be done in 10s if someone knows what they are doing.

@raubsau
Copy link

raubsau commented Mar 1, 2024

I think there is nothing going on here. Thank you all for your great work using Shellys with Apple Homekit! I'm switching to original Shelly firmware and integrate it in Homekit using HomeAssistant. This works fine running on a Raspberry. Best regards

This is exactly what I did a few weeks ago: Home Assistant (HAOS) in Proxmox, created several Homekit Bridges via configuration.yaml and expose the Shelly Plugs via Home Assistant to Homekit.

As mentioned, thank you to everybody working on a Homekit integration of Shelly devices!

@bsoener
Copy link

bsoener commented Mar 1, 2024

Guys, you don't need to ask whether this will be developed any further. As far as I know, the developer is no longer working on this object because he was acquired directly from Shelly and is no longer allowed to do so.

@markirb
Copy link
Collaborator

markirb commented May 14, 2024

I compiled the branch of @trucidare's fork (binary attached here: shelly-homekit-ShellyPlusPlugS.zip) and I'm having trouble flashing it.

Edit: I seem to have the Shelly Plus Plug S v2 SNPL-10112EU: https://kb.shelly.cloud/knowledge-base/shelly-plus-plug-s-v2 This is the model name that is printed on the plug. The device information that one can download in the web interface state that it is a SNPL-00112EU. Don't know if this matters, or it means that both devices can use the same firmware.

After enabling debug logging, I found this message:

shelly_ota.cpp:245 Aborting update: backend 0x3ffe0a98 aborts update at file bootloader.bin: -4: app / fs already written, can't update boot

I'd like to help with the implementation for v2. Any pointers on how to get information about the hardware? It seems that it's necessary to break the case to take a look at the hardware.

Edit2: I found this comment regarding the error: tasmota/mgos32-to-tasmota32#31 (comment)

  • It seems that the order of entries in the zip file matters. The manifest must come first and the remaining files must be added in thee same order as they are listed in the manifest file.
  • Additionally, some files must be written before others.
  • I think boot and the partition table must always come first, as they have to be written before app and fs. This is also consistent with the manifest of the official firmware.
  • Now the error is shelly_ota.cpp:245 Aborting update: backend error while processing data: -1 (-10: Cannot relocate shelly)", which may be because the new partition table is incompatible with the one of the stock firmware. Or maybe something entirely different.

Edit3: I managed to flash the firmware by using the fs order from the stock firmware as well as its partition table. By adding another nvs, I seem to have managed to get the same layout as the stock image. However, I won't share the file because I'm not sure how safe it is to use. It may brick devices as soon as something is written to the persistent file system because the addresses are not aligned with the one from the actual build of the firmware.

So I can confirm that the PR of @trucidare works if the layout is changed. I think this can be fixed by changing the FS config in mos.yml, but I don't know how this works. This may be a thing that can be done in 10s if someone knows what they are doing.

Hi,

very good findings. I was just looking into the same things for a ShellyPlus1PM.

I think they changed the filesystem Type:

I had to do this:

-        ESP_IDF_EXTRA_PARTITION_2: "shelly,data,nvs,0x3fc000,16K"
+        ESP_IDF_EXTRA_PARTITION_2: "shelly,data,0x88,0x3fc000,16K"

So changing the nvs to 0x88. Afterwards it worked.
I will test this and maybe get this firmware running again...

@markirb
Copy link
Collaborator

markirb commented May 15, 2024

So I tested more of this today and this works perfectly for me now.

@trucidare if you want to fix this then just merge #1387 into your PR

@mongoose-os-apps mongoose-os-apps deleted a comment from lucassite120 May 16, 2024
@mjohm1
Copy link

mjohm1 commented May 17, 2024

I don't know how to generate the file myself. It would be so great if somebody could upload the ZIP.

@markirb
Copy link
Collaborator

markirb commented May 18, 2024

shelly-homekit-ShellyPlusPlugS.zip

This is the current build from PR. Try at your own risk

@Marcusyo
Copy link

Is there anything I am doing wrong? I cannot update my plus plug s with the zip file: Aborting update: manifest.json was not first in archive. Is there anything I can do to use the zip file?

@markirb
Copy link
Collaborator

markirb commented May 21, 2024

actually it is first in the zip file, strange thing...

image

@Marcusyo
Copy link

Maybe its because im on mac and had to create a separate zip file. I will try on my windows computer later

@markirb
Copy link
Collaborator

markirb commented May 21, 2024 via email

@jlanatta
Copy link

jlanatta commented May 27, 2024

In case someone wants to try this FW and revert to the original one afterwards the file can be found here.

I tried this with a Shelly Plus Plug S v2

@markirb
Copy link
Collaborator

markirb commented Jun 2, 2024

OK thanks for testing. The downgrade does not work simply because the file is not yet on rojers server.

Apart from that it seems to work for you guys?
Did anyone compare power readings to stock FW?

br

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new-device-support add support for a new device.
Projects
None yet
Development

Successfully merging a pull request may close this issue.