Jump to content

Welcome to Smart Home Forum by FIBARO

Dear Guest,

 

as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.

 

As a member you can:

  •     Start new topics and reply to others
  •     Follow topics and users to get email updates
  •     Get your own profile page and make new friends
  •     Send personal messages
  •     ... and learn a lot about our system!

 

Regards,

Smart Home Forum by FIBARO Team


  • 0

Shelly QuickApps suite


jgab

Question

Here is a link to a set of QAs to control Shelly devices.

Please login or register to see this link.

 

  • It's both gen 1 and gen 2 devices. Gen 2 devices are easier to integrate with the web socket API than the gen 1 where we need to poll the device with regular interval.
  • Battery operated devices are in general a pain to support as they sleep and wake up now and then - which makes polling difficult. So, battery devices are not in focus
  • The QAs support the basic features expected from a device of that QA type so they fit into the fibaro model of handling devices. Extra features like setting timers etc that Shelly support is better handled with the pretty good mobile/cloud Shelly app.

 

There are a lot of devices that are potentially supported but not all have been tested. Please give us feedback here or in

Please login or register to see this link.

 so we can come out with an 1.1 update... ;-)   (gen 1 Shelly 1 and Shelly 1PM have issues but will be fixed in next release)

 

The suite contains 5+1 different QAs that each support different Shelly devices.

 

The devices tested, and devices not tested but we expect they could work are:

 

ShellyMultiDevice v1.0

com.fibaro.deviceController + child devices
Supported Shelly devices:
- Shelly 3EM (Gen1). Note: untested
  Children:
  - com.fibaro.binarySwitch
  - com.fibaro.energyMeter
  - com.fibaro.energyMeter
  - com.fibaro.energyMeter
- Shelly EM (Gen1). Note: tested
  Children:
  - com.fibaro.binarySwitch
  - com.fibaro.energyMeter
  - com.fibaro.energyMeter
- Shelly Plus 2PM (Switch) (Gen2). Note: tested
  Children:
  - com.fibaro.binarySwitch
  - com.fibaro.binarySwitch
- Shelly Pro 2 (Gen2). Note: untested
  Children:
  - com.fibaro.binarySwitch
  - com.fibaro.binarySwitch
- Shelly Pro 2M (Switch) (Gen2). Note: tested
  Children:
  - com.fibaro.binarySwitch
  - com.fibaro.binarySwitch
- Shelly Pro 3 (Gen2). Note: tested
  Children:
  - com.fibaro.binarySwitch
  - com.fibaro.binarySwitch
  - com.fibaro.binarySwitch
- Shelly Pro 4PM (Gen2). Note: tested
  Children:
  - com.fibaro.binarySwitch
  - com.fibaro.binarySwitch
  - com.fibaro.binarySwitch
  - com.fibaro.binarySwitch
Supported HC3 QuickAppMethods:
- <com.fibaro.binarySwitch>:turnOn()
- <com.fibaro.binarySwitch>:turnOff()
- <com.fibaro.binarySwitch>:toggle()

 

ShellySingleColor v1.0

com.fibaro.colorController
Supported Shelly devices:
- Shelly Color Bulb (Gen1). Note: tested, only color mode for now
- Shelly RGBW2 Color (Gen1). Note: tested
Supported HC3 QuickAppMethods:
- QuickApp:turnOn()
- QuickApp:turnOff()
- QuickApp:setValue(val)
- QuickApp:setColor(r,g,b,w)
- QuickApp:startLevelIncrease()
- QuickApp:startLevelDecrease()
- QuickApp:stopLevelChange()

 

ShellySingleCover v1.0

com.fibaro.rollerShutter
Supported Shelly devices:
- Shelly Plus 2PM (Cover) (Gen2). Note: tested
- Shelly Pro 2M (Cover) (Gen2). Note: tested
Supported HC3 QuickAppMethods:
- QuickApp:open()
- QuickApp:close()
- QuickApp:stop()
- QuickApp:setValue(value)

 

ShellySingleDimmer v1.0

com.fibaro.multilevelSwitch
Supported Shelly devices:
- Shelly Dimmer 1 (Gen1). Note: tested
- Shelly Dimmer 2 (Gen1). Note: tested
- Shelly Vintage (Gen1). Note: tested
Supported HC3 QuickAppMethods:
- QuickApp:turnOn()
- QuickApp:turnOff()
- QuickApp:setValue(val)
- QuickApp:startLevelIncrease()
- QuickApp:startLevelDecrease()
- QuickApp:stopLevelChange()

 

ShellySingleSwitch v1.0

com.fibaro.binarySwitch
Supported Shelly devices:
- Shelly 1 (Gen1). Note: untested
- Shelly 1L (Gen1). Note: untested
- Shelly 1PM (Gen1). Note: tested, not working yet...TBD
- Shelly Plus 1 (Gen2). Note: tested
- Shelly Plus 1 PM (Gen2). Note: tested
- Shelly Plus Plug IT (Gen2). Note: untested
- Shelly Plus Plug S (Gen2). Note: tested
- Shelly Plus Plug UK (Gen2). Note: untested
- Shelly Plus Plug US (Gen2). Note: untested
- Shelly Pro 1 (Gen2). Note: tested
- Shelly Pro 1 PM (Gen2). Note: tested

Supported HC3 QuickAppMethods:
- QuickApp:turnOn()
- QuickApp:turnOff()
- QuickApp:toggle()

 

ShellyPlusHT v1.0

com.fibaro.temperatureSensor + com.fibaro.humiditySensor child
Supported Shelly devices:
- Shelly Plus H&T (Gen2). Note: tested, experimental, only wakes up when new data is available
  Children:
  - com.fibaro.temperatureSensor
  - com.fibaro.humiditySensor
Supported HC3 QuickAppMethods:

Edited by jgab
  • Like 7
Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0

This is great!  I've got a working, yet clunky, QA to control my RGBW2 but was always looking for something cleaner.   Does the ShellySingleColor handle using the RGBW2 for controlling just white LEDs. I'm using just 2 channels to control my under cabinet lights.

Link to comment
Share on other sites

  • 0
  • Inquirer
  • 2 hours ago, C23 said:

    This is great!  I've got a working, yet clunky, QA to control my RGBW2 but was always looking for something cleaner.   Does the ShellySingleColor handle using the RGBW2 for controlling just white LEDs. I'm using just 2 channels to control my under cabinet lights.

    no, unfortunately it doesn't support the rgb2 in "white mode" yet. I guess it would be supported by the ShellyMultiDevice QA and it would create 4 com.fibaro.multilevelSwicth devices as children to control the 4 channels. ? 

    I'll see if it can make it into the next release....

    Link to comment
    Share on other sites

    • 0

    Cool. @jgab is in plan creating QA for getting sensor data, for example energy data from Shelly Pro 3 EM or from SHelly plus H&T?

     

    BTW, playing with Energy data from Shelly Pro 3 EM via Modbus. It needs to be enabled via URL, e.g. http://192.168.33.1/rpc/Modbus.SetConfig?config={"enable":true}.

     

    Please login or register to see this attachment.

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • 9 minutes ago, jakub.jezek said:

    Cool. @jgab is in plan creating QA for getting sensor data, for example energy data from Shelly Pro 3 EM or from SHelly plus H&T?

     

    BTW, playing with Energy data from Shelly Pro 3 EM via Modbus. It needs to be enabled via URL, e.g. http://192.168.33.1/rpc/Modbus.SetConfig?config={"enable":true}.

     

    Sensors on battery are problematic as they sleep a lot and there is no good way on the HC3 to leverage any of the actions/notification protocols the Shellys support for incoming connections 😕 

    The plus H&T is kind of working (ShellyPlusHT.fqa). Because it sleeps a lot it will not keep a web socket open, so we need to poll it and hope that it's awake when we do so. It works so-and-so...

    If it's connected with USB it will wake up every ~3min and send data and that works a bit better. 

     

    No, no modbus in the plans and extra sensors that can be added to the devices...

    Link to comment
    Share on other sites

    • 0
    28 minutes ago, jgab said:

    no, unfortunately it doesn't support the rgb2 in "white mode" yet. I guess it would be supported by the ShellyMultiDevice QA and it would create 4 com.fibaro.multilevelSwicth devices as children to control the 4 channels. ? 

    I'll see if it can make it into the next release....

    Thanks for the update and I'll keep following the thread for progress. I'll stick with the QA I have for now since I need to be able to control the level of the 2 channels as I'm assuming the ShellyMultiDevice QA would just give me on/off.

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Posted (edited)
    27 minutes ago, jakub.jezek said:

    Cool. @jgab is in plan creating QA for getting sensor data, for example energy data from Shelly Pro 3 EM or from SHelly plus H&T?

     

    BTW, playing with Energy data from Shelly Pro 3 EM via Modbus. It needs to be enabled via URL, e.g. http://192.168.33.1/rpc/Modbus.SetConfig?config={"enable":true}

     

    Btw, do you talk modbus with the device from the QA? Setting it in modbus state seems to disable the normal device server(?)

    3 minutes ago, C23 said:

    Thanks for the update and I'll keep following the thread for progress. I'll stick with the QA I have for now since I need to be able to control the level of the 2 channels as I'm assuming the ShellyMultiDevice QA would just give me on/off.

    No, it would give you dimming and startLevelIncrease, startLevelDecrease etc. Like a com.fibaro.multilevelSwitch that is used for dimmable white lights. and you would ge one such child QA per channel.

    Edited by jgab
    Link to comment
    Share on other sites

    • 0

    I've been experimenting with H&T and I've described how I solved it in this thread. If you don't have your own local microcomputer, RPI, NAS, where you can store data from the sensor, you can use external services. see:

    Please login or register to see this link.

     

     

    Link to comment
    Share on other sites

    • 0

    And when I think about it, it would be possible to load those values directly from H&T to HC3 via the its API.
    Unfortunately, I don't have H&T available for testing right now, so I won't verify that.

    eM.

     

    Edited by Martin_N
    Edit: tax -> its
    Link to comment
    Share on other sites

    • 0
    48 minutes ago, jgab said:

     

    Btw, do you talk modbus with the device from the QA?

    Yes, It Is direct Modbus TCP. No bridge in the middle.

     

    49 minutes ago, jgab said:

    Setting it in modbus state seems to disable the normal device server(?

    We also use Control4 driver that uses RPC and it seems to work. Also we have access to webserver od the device And through the Shelly Cloud.

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Posted (edited)
    1 hour ago, Martin_N said:

    And when I think about it, it would be possible to load those values directly from H&T to HC3 via the tax API.
    Unfortunately, I don't have H&T available for testing right now, so I won't verify that.

    eM.

     

    Yes, all solutions relying on an external server was ruled out. Would be nice if the HC3 would have been a MQTT broker...

    What is the tax API?

    1 hour ago, jakub.jezek said:

    We also use Control4 driver that uses RPC and it seems to work. Also we have access to webserver od the device And through the Shelly Cloud.

    I been looking at Shelly Cloud, but oath and juggling tokens are not so user friendly - but I may look some more at that.

    2 hours ago, Martin_N said:

    I've been experimenting with H&T and I've described how I solved it in this thread. If you don't have your own local microcomputer, RPI, NAS, where you can store data from the sensor, you can use external services. see:

    Please login or register to see this link.

    So, I was a bit more successful in trying to connect using web socket (compared to just http rest/rpc) - when the connection is established I usually get both temp and humidity back.

    With REST I sometimes only got one before it went offline.

     

    So, the 'action' callbacks are a model I would have liked to use (for gen1) but they don't support bearer authorisation that the HC3 requires. Maybe the Shelly people will add it as there have been some questions on it in the forums. 

     

    In general, the Shelly devices support a multitude of connectivity options - just a pity the HC3 is a bit limited in it's connectivity options  - no multicast, no webhooks, no incoming websockets, ...

    however, the websocket connectivity for powered gen2 devices works very well.

     

    Some advertising. The QAs were developed with the fibemu Visual Studio Code emulator. Made it a breeze to work with web sockets and http and debug - and then scripts to package and distribute the QAs.

    And you get some really good writing aid from plugins that continuously lints the code, wrong use of variables, wrong function arguments etc.

     

    Edited by jgab
    Link to comment
    Share on other sites

    • 0
    1 hour ago, jgab said:

    What is the tax API?

    Mea culpa, mea culpa, mea maxima culpa :)

    Tax API = its (his) API. Autocorrect on virtual keyboard. 

     

    1 hour ago, jgab said:

    Would be nice if the HC3 would have been a MQTT broker...

    Yessss... Ohhh... I want it... 

     

    Link to comment
    Share on other sites

    • 0

    @jgab, just tested multilevel QA with Shelly Dimmer 2 and here is some feedback. I do not know if there will be any future changes but what I can see now.

     

    In OFF state device reports it is on in the widget, but ON/OFF button and slider are in correct position.

    Please login or register to see this spoiler.

    In API I see this: {"ison":false,"source":"http","has_timer":false,"timer_started":0,"timer_duration":0,"timer_remaining":0,"mode":"white","brightness":50,"transition":0}

     

    This sounds like limitation to Fibaro UI but not 100% sure, yet.

     

    Also in case of Level Change commands. It should be faster. It goes from 0-100% (0-255) in 20 seconds, which is too slow. 5 seconds is ok.

     

    Best regards,

    Jakub

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • 2 hours ago, jakub.jezek said:

    @jgab, just tested multilevel QA with Shelly Dimmer 2 and here is some feedback. I do not know if there will be any future changes but what I can see now.

     

    In OFF state device reports it is on in the widget, but ON/OFF button and slider are in correct position.

    Please login or register to see this spoiler.

    Yes, I can tweak that. Could also make the speed a quickVar to let people adjust it themselves.

    Link to comment
    Share on other sites

    • 0
    2 minutes ago, jgab said:

    Yes, I can tweak that. Could also make the speed a quickVar to let people adjust it themselves.

    That would be great. Few times in past people reported issue that dimming is too slow with HUE Lights till Fibaro fixed it.

     

    4 minutes ago, jgab said:

    I can probably save it elsewhere so the value is set to 0 too when off.

    So the Shelly has the ison and brightness in this case. Anyway, think I can fix it.

    In the past I made 1-way Modbus QA for controling DMX lights via Modbus to DMX controller (

    Please login or register to see this link.

    ). I used QA variable that cannot be changed by user, only QA code itself and keep it there.

     

    Please login or register to see this attachment.

    Link to comment
    Share on other sites

    • 0
    On 8/2/2023 at 5:09 AM, jgab said:

    Here is a link to a set of QAs to control Shelly devices.

    Please login or register to see this link.

     

    • It's both gen 1 and gen 2 devices. Gen 2 devices are easier to integrate with the web socket API than the gen 1 where we need to poll the device with regular interval.
    • Battery operated devices are in general a pain to support as they sleep and wake up now and then - which makes polling difficult. So, battery devices are not in focus
    • The QAs support the basic features expected from a device of that QA type so they fit into the fibaro model of handling devices. Extra features like setting timers etc that Shelly support is better handled with the pretty good mobile/cloud Shelly app.

     

    There are a lot of devices that are potentially supported but not all have been tested. Please give us feedback here or in

    Please login or register to see this link.

     so we can come out with an 1.1 update... ;-)   (gen 1 Shelly 1 and Shelly 1PM have issues but will be fixed in next release)

     

    The suite contains 5+1 different QAs that each support different Shelly devices.

     

    The devices tested, and devices not tested but we expect they could work are:

     

    ShellyMultiDevice v1.0

    com.fibaro.deviceController + child devices
    Supported Shelly devices:
    - Shelly 3EM (Gen1). Note: untested
      Children:
      - com.fibaro.binarySwitch
      - com.fibaro.energyMeter
      - com.fibaro.energyMeter
      - com.fibaro.energyMeter
    - Shelly EM (Gen1). Note: tested
      Children:
      - com.fibaro.binarySwitch
      - com.fibaro.energyMeter
      - com.fibaro.energyMeter
    - Shelly Plus 2PM (Switch) (Gen2). Note: tested
      Children:
      - com.fibaro.binarySwitch
      - com.fibaro.binarySwitch
    - Shelly Pro 2 (Gen2). Note: untested
      Children:
      - com.fibaro.binarySwitch
      - com.fibaro.binarySwitch
    - Shelly Pro 2M (Switch) (Gen2). Note: tested
      Children:
      - com.fibaro.binarySwitch
      - com.fibaro.binarySwitch
    - Shelly Pro 3 (Gen2). Note: tested
      Children:
      - com.fibaro.binarySwitch
      - com.fibaro.binarySwitch
      - com.fibaro.binarySwitch
    - Shelly Pro 4PM (Gen2). Note: tested
      Children:
      - com.fibaro.binarySwitch
      - com.fibaro.binarySwitch
      - com.fibaro.binarySwitch
      - com.fibaro.binarySwitch
    Supported HC3 QuickAppMethods:
    - <com.fibaro.binarySwitch>:turnOn()
    - <com.fibaro.binarySwitch>:turnOff()
    - <com.fibaro.binarySwitch>:toggle()

     

    ShellySingleColor v1.0

    com.fibaro.colorController
    Supported Shelly devices:
    - Shelly Color Bulb (Gen1). Note: tested, only color mode for now
    - Shelly RGBW2 Color (Gen1). Note: tested
    Supported HC3 QuickAppMethods:
    - QuickApp:turnOn()
    - QuickApp:turnOff()
    - QuickApp:setValue(val)
    - QuickApp:setColor(r,g,b,w)
    - QuickApp:startLevelIncrease()
    - QuickApp:startLevelDecrease()
    - QuickApp:stopLevelChange()

     

    ShellySingleCover v1.0

    com.fibaro.rollerShutter
    Supported Shelly devices:
    - Shelly Plus 2PM (Cover) (Gen2). Note: tested
    - Shelly Pro 2M (Cover) (Gen2). Note: tested
    Supported HC3 QuickAppMethods:
    - QuickApp:open()
    - QuickApp:close()
    - QuickApp:stop()
    - QuickApp:setValue(value)

     

    ShellySingleDimmer v1.0

    com.fibaro.multilevelSwitch
    Supported Shelly devices:
    - Shelly Dimmer 1 (Gen1). Note: tested
    - Shelly Dimmer 2 (Gen1). Note: tested
    - Shelly Vintage (Gen1). Note: tested
    Supported HC3 QuickAppMethods:
    - QuickApp:turnOn()
    - QuickApp:turnOff()
    - QuickApp:setValue(val)
    - QuickApp:startLevelIncrease()
    - QuickApp:startLevelDecrease()
    - QuickApp:stopLevelChange()

     

    ShellySingleSwitch v1.0

    com.fibaro.binarySwitch
    Supported Shelly devices:
    - Shelly 1 (Gen1). Note: untested
    - Shelly 1L (Gen1). Note: untested
    - Shelly 1PM (Gen1). Note: tested, not working yet...TBD
    - Shelly Plus 1 (Gen2). Note: tested
    - Shelly Plus 1 PM (Gen2). Note: tested
    - Shelly Plus Plug IT (Gen2). Note: untested
    - Shelly Plus Plug S (Gen2). Note: tested
    - Shelly Plus Plug UK (Gen2). Note: untested
    - Shelly Plus Plug US (Gen2). Note: untested
    - Shelly Pro 1 (Gen2). Note: tested
    - Shelly Pro 1 PM (Gen2). Note: tested

    Supported HC3 QuickAppMethods:
    - QuickApp:turnOn()
    - QuickApp:turnOff()
    - QuickApp:toggle()

     

    ShellyPlusHT v1.0

    com.fibaro.temperatureSensor + com.fibaro.humiditySensor child
    Supported Shelly devices:
    - Shelly Plus H&T (Gen2). Note: tested, experimental, only wakes up when new data is available
      Children:
      - com.fibaro.temperatureSensor
      - com.fibaro.humiditySensor
    Supported HC3 QuickAppMethods:

     

     

    Hi, jgab@,

     

    Thank you very much for the "QAs", very useful....
    The module (Shelly i4), it is installed/connected to the electrical network, but does not have the function of activating the load (light circuit)... it only serves as a trigger (1 click, 2 clicks and press and release), would it be possible a "QA" for this device too? I wanted to use it to call scenes....

    Best regards,

    Jorge

    Link to comment
    Share on other sites

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Answer this question...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

    ×
    ×
    • Create New...