Closed Numbski closed 2 months ago
As it turns out, it's a good thing I didn't! I was completely wrong - the GPIOs are used differently between the plug and the plug US.
https://templates.blakadder.com/shelly_plug_US.html and https://templates.blakadder.com/shelly_plug.html
Shelly Plug US (shelly-plug-u1) GPIO # | Component |
---|---|
GPIO00 | Led1 |
GPIO01 | None |
GPIO02 | Led2i |
GPIO03 | None |
GPIO04 | Relay1 |
GPIO05 | BL0937 CF |
GPIO09 | None |
GPIO10 | None |
GPIO12 | HLWBL SELi |
GPIO13 | Button1 |
GPIO14 | HLWBL CF1 |
GPIO15 | LedLink |
GPIO16 | None |
FLAG | None |
Shelly Plug (shelly-plug-2) GPIO # | Component |
---|---|
GPIO00 | None |
GPIO01 | None |
GPIO02 | None |
GPIO03 | None |
GPIO04 | Relay 1 |
GPIO05 | HLW8012 CF |
GPIO09 | None |
GPIO10 | None |
GPIO12 | Button_i 1 |
GPIO13 | Led 1 |
GPIO14 | Led 2 |
GPIO15 | None |
GPIO16 | Led 3 |
GPIO17 | None |
Looks like some GPIO wrangling needs to be done.
The reason why it doesn't flash is that the US plug has a different name then the (EU) plug2, shelly-plug-u1 vs shelly-plug2. During the update the name of the current and the new firmware is compared and the flash will be aboard if not match.
I think you mixed some things: There are 3 Shelly plugs out there
The pinout you listed as "Shelly Plug (shelly-plug-2)" is that one of the "Shelly Plug", but the "Shelly Plug US" is more like the "Shelly Plug2".
I can give you a test build for the Plug US, but I have no test hardware at hand so I need to trust the Tasmota template, so it can happen that it brick your device.
I have 4 sitting here and the ability to pop it open and manually re-flash, so let’s do it. :)
Also, I did paste froM the tasmota template for us, but I was initially confused.
@Numbski ok, try this one - http://rojer.me/files/shelly/shplgu1.zip built from the commit above, i think it might work. if it does, please report if power consumption figures look ok (a good way to test is pluggin a heater, or a a fan, or iron and comparing power consumption numbers). also, let me know if system temperature in web ui looks reasonable (should be 45-60C or thereabouts). also please test reverting back to stock.
Thank you for that. My mother-in-law is critically ill, and we had to leave on a moments’ notice to get to her, and my return timeline is unknown. I will get to this when I can. I am so sorry for you to go to that effort then make you wait. I may be able to do it remotely, but that may not be feasible.
Tony Shadwick
@Numbski oh, sorry to hear that! don't worry, there's absolutely no rush with this.
@Numbski ok, try this one - http://rojer.me/files/shelly/shplgu1.zip built from the commit above, i think it might work. if it does, please report if power consumption figures look ok (a good way to test is pluggin a heater, or a a fan, or iron and comparing power consumption numbers). also, let me know if system temperature in web ui looks reasonable (should be 45-60C or thereabouts). also please test reverting back to stock.
I was able to try the OTA update with this build, but it doesn't take for me.
This issue is stale because it has been open 30 days with no activity. Comment or this will be closed in 7 days.
@Numbski any updates with your testing?
Not yet. I am back in town though, will try tomorrow.
Tony Shadwick
I'd be willing to test a new firmware on my plug if needed. It appears the previous iteration didn't work?
I tried compiling @rojer 's commit after rebasing master but the firmware doesn't apply for me either.
{"ts":1658371765.180, "level":2, "data":"mgos_ota_core.c:656 FW: shelly-plug-us1 esp8266 2.11.1 20220721-022206/2.11.1-3-g1f555d8-dirty sig 0x00\n"}
{"ts":1658371765.191, "level":2, "data":"shelly_update.cpp:242 Signature check: 00\n"}
{"ts":1658371765.198, "level":0, "data":"shelly_update.cpp:234 Wrong app name 'shelly-plug-us1'\n"}
{"ts":1658371765.206, "level":2, "data":"mgos_ota_core.c:1051 Update finished, result -13 (Aborted by event handler)\n"}```
Has the name changed for my plug?
{"name":null,"id":"shellyplugus-XXXXXXXX","mac":"XXXXXXXX","model":"SNPL-00116US","gen":2,"fw_id":"20220211-132652/plugusprod2_app-gcb4621f","ver":"plugusprod2","app":"PlugUS","auth_en":false,"auth_domain":null}
What is the state of Shelly Plug US support? yay or nay?
Attempted to install shelly-homekit today (after updating to latest stock firmware) and I get stuck with this message: "Trying to update from http://shelly.rojer.cloud/update."
Cheers and Thanks
I had a death in my family last year about the time a test build was made available, and I never got around to testing it. I have five of them here, so I really should get on that.
There is no support for "Shelly Plus Plug US"?
First off @Numbski, so sorry for your loss. Hope you and your family have been doing well.
I've tried to compile @rojer's commit linked above, but am getting some build errors. I can wade in and try to work around them myself, but maybe this is the wrong path entirely. Anyone have suggestions?
/Users/raphael/Downloads/shelly-homekit/src/shelly_main.cpp: In function 'void shelly::InitApp()':
/Users/raphael/Downloads/shelly-homekit/src/shelly_main.cpp:955:58: error: too few arguments to function 'void mgos_hap_add_rpc_service_cb(HAPAccessoryServerRef*, void (*)(HAPAccessoryServerRef*), void (*)(HAPAccessoryServerRef*))'
955 | mgos_hap_add_rpc_service_cb(&s_server, StartHAPServerCB);
| ^
In file included from /Users/raphael/Downloads/shelly-homekit/src/shelly_main.cpp:24:
/Users/raphael/Downloads/shelly-homekit/deps/homekit-adk/include/mgos_hap.h:126:6: note: declared here
126 | void mgos_hap_add_rpc_service_cb(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [/Users/raphael/Downloads/shelly-homekit/build_ShellyPlugUS1/objs/shelly_main.cpp.o] Error 1
There is no support for "Shelly Plus Plug US"?
I too would like support for the Shelly Plus Plug US please. Then I can flash all my shelly stuff, hopefully, and stop using the Shelly Bridge via HOOBS. :)
here is a new build of @rojer commit, please test it, it it works the next release will support PlugUS. ~PlugUS.zip~ Edit: out dated files removed, for newer version see 4 comments later
here is a new build of @rojer commit, please test it, it it works the next release will support PlugUS.
Sir- I am unsure how to install the plugin from a ZIP file in HOOBS, if that is even possible. Can it be installed through the HOOBS interface? I would love to test it out.
curl -F file=@fw.zip http://shelly.local/update
, you must replace shelly.local
with the hostname or ip of your Shelly
Hi @timoschilling, thanks so much for your work on this. I tried the above command with your new PlugUS.zip and got a -13 Aborted by event handler
response. Is there something else I should try?
here is a new build http://rojer.me/files/shelly/misc/shelly-homekit-ShellyPlugUS.zip, now it can be flash like every other shelly too. http://a.b.c.d/ota?url=http://rojer.me/files/shelly/misc/shelly-homekit-ShellyPlugUS.zip
Doesn't seem to be working for me, no specific error given. I'm on the Shelly 0.12 firmware, do you think that might be an issue?
@RaphiePS do you have a Plug US or a Plus Plug US? If you say you have version 0.12 it sounds like a Plus Plug US, the firmware from this PR is for the old Plus US without Plus. Support for the Plus version will follow in the future.
@timoschilling Here are the results of GET /shelly
, I think this implies a non- Plus plug, but I could be wrong.
{
"name": null,
"id": "shellyplugus-c049ef892e60",
"mac": "C049EF892E60",
"model": "SNPL-00116US",
"gen": 2,
"fw_id": "20221206-140846/0.12.0-gafc2404",
"ver": "0.12.0",
"app": "PlugUS",
"auth_en": false,
"auth_domain": null
}
Note that it didn't come with v0.12 firmware, that was a relatively recent upgrade suggested by the Shelly Web GUI. Do you have a suggested firmware version I should downgrade to before attempting the HomeKit flash? (And if so, where I could find these older firmware files? http://archive.shelly-tools.de doesn't seem to have files for the US Plug).
@RaphiePS There three reasons why yours must be a Plus:
gen: 2
Take a look in the web Ui of your Shelly in the left top corner is a logo, I expect it contains a Plus.
I suppose I should get on trying this today, as all of mine are plug US.
Tony Shadwick
@gedeyenite If you like to test it, you could simply do it by open this url in your browser http://a.b.c.d/ota?url=http://rojer.me/files/shelly/misc/shelly-homekit-ShellyPlugUS.zip (replace a.b.c.d with the ip of your shelly)
@Numbski @just-inlewis @evanpierre @ryanshuck was someone of you able to test that build? Reminder it's only for the "Plug US" not for the "Plus Plug US".
Hey @timoschilling sorry for the delay! I will keep an eye on this now to speed up your debug cycle!
{"ts":1676521342.232, "level":2, "data":"shelly_update.cpp:271 incoming fw signatures: 00\n"} {"ts":1676521342.239, "level":0, "data":"shelly_update.cpp:263 Wrong app name 'shelly-plug-u1'\n"} {"ts":1676521342.247, "level":2, "data":"mgos_ota_core.c:1051 Update finished, result -13 (Aborted by event handler)\n"}
@just-inlewis you have a Plus Plug US and not a Plug US, this build is only for the NON Plus version.
Still nobody that can test it? @Numbski?
@timoschilling It looks like only the Plug Plus US is available for purchase, both on the Shelly site and Amazon. If I could get my hands on the non-Plus I'd be happy to test it, but I'm having trouble finding one and I figure others are in the same boat.
@RaphiePS yes the Gen1 US Plug is out of stock.
@timoschilling I was able to get 2.11.2 installed on two of my Plug US (non-plus) devices. They are both now overheating consistently and the homekit server keeps stopping.
Installed version:
Version: 2.11.2
Build: 20230202-214551/2.11.2-21-gdd9215b-749-shelly-plug-us-support-dirty
Debug logs show:
38287858 shelly_main.cpp:360 == System temperature normal, resuming service
39285945 shelly_main.cpp:255 === Creating accessories
39294866 shelly_switch.cpp:244 Exporting 'Shelly Plug US': type 1, state: 0
39304051 shelly_main.cpp:351 == System temperature too high, stopping service
39308855 shelly_main.cpp:314 === Destroying accessories
The device works properly after reverting back to the stock firmware.
{
"type":"SHPLG-U1",
"mac":"<snip>",
"auth":false,
"fw":"20230913-113516/v1.14.0-gcb84623",
"discoverable":true,
"num_outputs":1,
"num_meters":1
}
Are there any other logs I can provide that would be helpful?
Looks like temperature measuring didn't work. We need to make a build with disabling it.
Is there any update on firmware support for the Plus Plug US?
Is there any update on firmware support for the Plus Plug US?
humble bump.
I would also be very interested in seeing this plug supported.
I could override this manually and force it to go, as I seriously doubt the esp8266 inside is wired differently, and I do have the ability to hot-air it off and manually flash it back to something usable, but I thought I'd ask about it prior to attempting that!