mongoose-os-apps / shelly-homekit

Apple HomeKit firmware for Shelly's
Other
1.78k stars 128 forks source link

Support for Shelly Plus 2PM #1013

Closed herzkerl closed 2 months ago

herzkerl commented 2 years ago

I couldn‘t find any comments regarding the Plus 2PM, is there any news regarding this device?

Elehiggle commented 10 months ago

Same problem ... my shellys 2.5 are dying and there is no device which can replace the roller shutter function ... returning to original software (Backflash) is not a necessary feature

I just use Eve Shutter Switches everywhere now, you could also bury them inside the wall if you wanted.

knabalex commented 10 months ago

Eve Shutter Switches didn’t match the design of my other switches in the house 😢Am 15.11.2023 um 14:11 schrieb Elehiggle @.***>:

Same problem ... my shellys 2.5 are dying and there is no device which can replace the roller shutter function ... returning to original software (Backflash) is not a necessary feature

I just use Eve Shutter Switches everywhere now, you could also bury them inside the wall if you wanted.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

Roalkege commented 10 months ago

Using it a s roller shutter would not work with the current state of the +2PM. Roller shutter requires power measurement.

Correct me if i'm wrong but the Shelly Plus 2PM has integrated power measurement. 2 relay outputs with power measurement on screw terminal. https://kb.shelly.cloud/knowledge-base/shelly-plus-2pm#ShellyPlus2PM(SNSW-002P16EU)-Shortdescription https://www.shelly.com/de/products/shop/shelly-plus-2-pm/shelly-plus-2-pm-2-pack

timoschilling commented 10 months ago

With the current state of our firmware it will not work to support window covers. The hardware support power measurement, but our firmware not.

basejumpa commented 10 months ago

See PR #1341 with my build which works for lights.

masip85 commented 10 months ago

With the current state of our firmware it will not work to support window covers. The hardware support power measurement, but our firmware not.

But, because it's not prepare to get the measurement or because it is impossible?

ingski commented 9 months ago

Using it a s roller shutter would not work with the current state of the +2PM. Roller shutter requires power measurement.

not necessarily - as I remember this is currently used to auto calibrate the opening and closing times. This could however be substituted by manual measuring of the times. I could live with that, although of course the downside would be a less accurate setting of intermediate positions.

Actually I'm using the special version from https://github.com/mongoose-os-apps/shelly-homekit/pull/449 in one of my 2.5 Shellys where due to a separate relay power measurement does not allow to identify the end positions. However - I am glad to get all three connected roller shutters fully opened and closed and I can well live with the vague setting I get when I set them to 20, 50 or 75% .

I believe a +2PM Version with the above patch integrated would be a good solution if you need to replace 2.5 devices...

NS-K commented 9 months ago

@timoschilling I was taking a look to your plus2pm branch and something took my attention about the ade7953 initialisation on shelly 2PM+:

int reset_pin = 33;
  mgos_gpio_set_mode(reset_pin, MGOS_GPIO_MODE_OUTPUT);
  mgos_gpio_write(reset_pin, 0);
  mgos_msleep(100);
  mgos_gpio_write(reset_pin, 1);
  mgos_gpio_set_mode(reset_pin, MGOS_GPIO_MODE_INPUT);

i see that you are resetting the pin 33 before the i2c communication which is the I2C SDA GPIO so i assume that you are working on the v0.1.5 hardware revision. but did you try to reconfigure the GPIO36 to INPUT mode as it's directly connected to the ADE7953's IRQ pin on this hardware revision. this will avoid any conflict like on the shelly25.

s_ade7953 = mgos_ade7953_create(mgos_i2c_get_global(), &ade7953_cfg);

  if (s_ade7953 == nullptr) {
    LOG(LL_INFO, ("Failed to init ADE7953"));
    return mgos::Errorf(STATUS_UNAVAILABLE, "Failed to init ADE7953");
  }

  Status st;
  std::unique_ptr<PowerMeter> pm1(new ADE7953PowerMeter(1, s_ade7953, 1));
  if (!(st = pm1->Init()).ok()) return st;
  std::unique_ptr<PowerMeter> pm2(new ADE7953PowerMeter(2, s_ade7953, 0));
  if (!(st = pm2->Init()).ok()) return st;

  pms->emplace_back(std::move(pm1));
  pms->emplace_back(std::move(pm2));

mgos_gpio_setup_input(36, MGOS_GPIO_PULL_NONE);
// or gpio 27 on hardware revision v0.1.9
//mgos_gpio_setup_input(27, MGOS_GPIO_PULL_NONE);
lucassite120 commented 9 months ago

did anyone try this already? Flash New Shelly Plus 2PM for Apple HomeKit by OTA: https://www.youtube.com/watch?v=1VA9xkROlQc&ab_channel=RavenSystem

I followed these steps to flash Shelly for Homekit and it worked from https://www.youtube.com/watch?v=06YHkRkwJE4

hughfr4nc15 commented 8 months ago

did anyone try this already? Flash New Shelly Plus 2PM for Apple HomeKit by OTA: https://www.youtube.com/watch?v=1VA9xkROlQc&ab_channel=RavenSystem

I followed these steps to flash Shelly for Homekit and it worked from https://www.youtube.com/watch?v=tXkaTqY86cc

Anyone else tried this?

hejsiri commented 7 months ago

@NS-K Do you think there is a chance to add support for Shelly 2PM?

TibsD commented 6 months ago

Any news on this from the developers? The HAA alternative does not attract me a lot.

lucassite120 commented 6 months ago

Any news on this from the developers? The HAA alternative does not attract me a lot.

OTA flashing HAA Homekit firmware now is very easy: https://github.com/RavenSystem/mgos32toHAA?tab=readme-ov-file#shelly-convert-to-haa

hughfr4nc15 commented 6 months ago

OTA flashing HAA Homekit firmware now is very easy:

https://github.com/RavenSystem/mgos32toHAA?tab=readme-ov-file#shelly-convert-to-haa

Haven't tried this one yet. Do you like it? Does it work well?

lucassite120 commented 6 months ago

OTA flashing HAA Homekit firmware now is very easy: https://github.com/RavenSystem/mgos32toHAA?tab=readme-ov-file#shelly-convert-to-haa

Haven't tried this one yet. Do you like it? Does it work well?

Yes. I'm moving all my Shelly to HAA. Beginning is a bit complex, but it's awesome!! It has a great community support to solve any question.

hughfr4nc15 commented 6 months ago

I'm curious. :) Will give it a try. Have been using Homebridge for the 2PM's.

lucassite120 commented 6 months ago

Try it. HAA works like a charm. You have a new video with subs explaining all process. https://www.youtube.com/watch?v=06YHkRkwJE4

dodvip123 commented 5 months ago

Try it. HAA works like a charm. You have a new video with subs explaining all process. https://www.youtube.com/watch?v=06YHkRkwJE4

Thanks, very good to know it works well!

Alcor72 commented 5 months ago

Try it. HAA works like a charm. You have a new video with subs explaining all process. https://www.youtube.com/watch?v=06YHkRkwJE4

Thanks, very good to know it works well!

Yep it works well... but... after using the mongoose's firmware... it looks like you're back in the 80's... :-) Biggest issue for me is the autocalibration which is not possible. Anyway... keep waiting.

A recall as it was said previously... no need of ability to flash back units (when it is easy and works well... you just forget the equipment...since it breaks down...)

hughfr4nc15 commented 5 months ago

Yep it works well... but... after using the mongoose's firmware... it looks like you're back in the 80's... :-)

Biggest issue for me is the autocalibration which is not possible.

Anyway... keep waiting.

A recall as it was said previously... no need of ability to flash back units (when it is easy and works well... you just forget the equipment...since it breaks down...)

This was exactly what kinda made me wait a little bit more. 🙂 I'm running mongoose on the older models and Homebridge Plugin on the 2PM's.

Alcor72 commented 5 months ago

This was exactly what kinda made me wait a little bit more. 🙂 I'm running mongoose on the older models and Homebridge Plugin on the 2PM's.

Did you manage to get the 2PM's runing as window covers instead of windows? I am strugglin a bit with this with the homebridge pluggin.

hughfr4nc15 commented 5 months ago

Did you manage to get the 2PM's runing as window covers instead of windows? I am strugglin a bit with this with the homebridge pluggin.

Yes, since I started using it it's been fine apart from the known "issues" like if you change the cover position in the wall button it will show as "Opening..." or "Closing..." indefinitely until you change it via Siri or Homekit. Apart from that... all good.

Here's an example of a device configuration in my Homebridge config:

           {
                "id": "ShellyPlus2PM-5341C28ER834",
                "name": "Whatever-Shade",
                "exclude": false,
                "hostname": "192.168.1.100",
                "switch:0": {
                    "exclude": true,
                    "type": "switch"
                },
                "switch:1": {
                    "exclude": true,
                    "type": "switch"
                },
                "switch:2": {
                    "exclude": false,
                    "type": "switch"
                },
                "switch:3": {
                    "exclude": false,
                    "type": "switch"
                },
                "cover:0": {
                    "exclude": false,
                    "type": "windowCovering"
                }
            },

I usually just copy paste a new on directly in the config file JSON instead of using the plugin GUI. Hope it helps.

Alcor72 commented 5 months ago

Did you manage to get the 2PM's runing as window covers instead of windows? I am strugglin a bit with this with the homebridge pluggin.

Yes, since I started using it it's been fine apart from the known "issues" like if you change the cover position in the wall button it will show as "Opening..." or "Closing..." indefinitely until you change it via Siri or Homekit. Apart from that... all good.

Here's an example of a device configuration in my Homebridge config:

           {
                "id": "ShellyPlus2PM-5341C28ER834",
                "name": "Whatever-Shade",
                "exclude": false,
                "hostname": "192.168.1.100",
                "switch:0": {
                    "exclude": true,
                    "type": "switch"
                },
                "switch:1": {
                    "exclude": true,
                    "type": "switch"
                },
                "switch:2": {
                    "exclude": false,
                    "type": "switch"
                },
                "switch:3": {
                    "exclude": false,
                    "type": "switch"
                },
                "cover:0": {
                    "exclude": false,
                    "type": "windowCovering"
                }
            },

I usually just copy paste a new on directly in the config file JSON instead of using the plugin GUI. Hope it helps.

Hi, thanks for the help. however I guess I miss something since it don’t work… Where exactly should I paste the code? I got the hoobs interface giving this

image

thanks in advance.

markirb commented 4 months ago

Any news on this from the developers? The HAA alternative does not attract me a lot.

I tried running this today on my 2PM. Still some issues see PR (https://github.com/mongoose-os-apps/shelly-homekit/pull/1388), but basic functionality seems to be working on mine also Power Measurement (on latest HW).

If anyone wants to help and has UART access: A dump of the flash with esptool might be helpful to fix some of the remaining problems.

br

markirb commented 4 months ago

I can only say that downgrade does not work.

My current suspect is stock firmware not shipping conf0.json in default OTA and we override it. One can suspect that therein lies the information to discern the two hardware versions with their different pinout. And most likely the stock fw does not boot when there is no (correct?) information.

markirb commented 3 months ago

Hi,

there is some good news: Downgrade is finally possible, as is detection of revision (https://github.com/mongoose-os-apps/shelly-homekit/pull/1388). PM calibration values can be read but currently non calibrated are better.

So here is the first beta2 to test for you guys. Use at your own risk.(on a Mac please only use right click for download otherwise zip is extracted) shelly-homekit-ShellyPlus2PM.zip (updated again, downgrade works now)

This was quite some work... If you enjoy and use it please consider a donation to Timo (https://paypal.me/timoschilling) or me (https://www.paypal.com/donate/?hosted_button_id=RVFA9G5VMXRX8) to cover for hardware and hours lost along the way.

br

devaccount89 commented 3 months ago

Question: What is with the auto-calibration for window covers? if you use the Home Kit firmware is this not needed anymore? Thank you. br

freswa commented 3 months ago

@devaccount89 I can calibrate the covers just fine. What are you missing?

devaccount89 commented 3 months ago

@freswa Ah yes. Sorry- saw the option just appearing once I switched the mode 👍 Thank you!

Mayoor7 commented 3 months ago

Sorry, I'm new to Homekit and Hoobs. Are there any instructions on how to add the files from your zip file @markirb into Hombridge/Hoobs? Thanks for your work!

freswa commented 3 months ago

@Mayoor7 See the README. Don't extract the zip, but upload it as a firmware file in the stock ui.

roonie commented 3 months ago

I have now installed beta 5 on my Shelly. This went pretty smoothly and works as expected. Calibration also works fine.

However, I ran into 1 thing and that is that the manual shutter control now works differently. Previously I could turn the knob to the open or close position and then when I released the knob, the shutter would stop. Now it keeps going until I turn it in the opposite direction. So it keeps closing until I turned the knob to the open position and then the shutter stops. Then I have to turn it to neutral and back to open to get it to open. This is not much of a problem, but does deviate from how the shelly software works.

freswa commented 3 months ago

@roonie Set the Input mode to "Separate - toggle" and try again.

roonie commented 3 months ago

@freswa Cool, that works. Thanks for the quick response.

itaiLandau commented 3 months ago

just installed two new shelly plus 2pm to control lights and installed beta 5 but they both have a very slow response time from homekit, one is around 2-3 seconds but the other is 10-20 and sometimes doesn't even change state. both have near instant response from the web portal and its just via homekit. anyone else experiencing this?