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

Add support for ExteriorScreen (rts:ExteriorBlindRTSComponent) #43

Closed
iMicknl opened this issue Jun 7, 2020 · 5 comments
Closed

Add support for ExteriorScreen (rts:ExteriorBlindRTSComponent) #43

iMicknl opened this issue Jun 7, 2020 · 5 comments

Comments

@iMicknl
Copy link
Owner

iMicknl commented Jun 7, 2020

Copied from vlebourl/tahoma_extended#8 by @gieljnssns

Device details

  {
         "creationTime":1541775139000,
         "lastUpdateTime":1541775139000,
         "label":"Living",
         "deviceURL":"rts://",
         "shortcut":false,
         "controllableName":"rts:ExteriorBlindRTSComponent",
         "definition":{
            "commands":[
               {
                  "commandName":"close",
                  "nparams":0
               },
               {
                  "commandName":"down",
                  "nparams":0
               },
               {
                  "commandName":"identify",
                  "nparams":0
               },
               {
                  "commandName":"my",
                  "nparams":0
               },
               {
                  "commandName":"open",
                  "nparams":0
               },
               {
                  "commandName":"rest",
                  "nparams":0
               },
               {
                  "commandName":"stop",
                  "nparams":0
               },
               {
                  "commandName":"test",
                  "nparams":0
               },
               {
                  "commandName":"up",
                  "nparams":0
               }
            ],
            "states":[

            ],
            "dataProperties":[
               {
                  "value":"0",
                  "qualifiedName":"core:identifyInterval"
               }
            ],
            "widgetName":"UpDownExteriorScreen",
            "uiClass":"ExteriorScreen",
            "qualifiedName":"rts:ExteriorBlindRTSComponent",
            "type":"ACTUATOR"
         },
         "attributes":[
            {
               "name":"rts:diy",
               "type":6,
               "value":true
            }
         ],
         "available":true,
         "enabled":true,
         "placeOID":"",
         "widget":"UpDownExteriorScreen",
         "type":1,
         "oid":"",
         "uiClass":"ExteriorScreen"
      },```
@iMicknl
Copy link
Owner Author

iMicknl commented Jun 7, 2020

@gieljnssns if I am correct, this model is already supported, however you faced issues with the stop function?

stop is available in the commands section of your device, but apparently this is not working. In the original component, they use the my command for some devices, however I am not sure when to use which command.

@gieljnssns
Copy link

In my custom component I used this

def stop_cover(self, **kwargs):
        """Stop the cover."""
        if (
            self.tahoma_device.type
            == "io:RollerShutterWithLowSpeedManagementIOComponent"
        ):
            self.apply_action("setPosition", "secured")
        elif self.tahoma_device.type in (
            "rts:BlindRTSComponent",
            "io:ExteriorVenetianBlindIOComponent",
            "rts:VenetianBlindRTSComponent",
            "rts:DualCurtainRTSComponent",
            "rts:ExteriorVenetianBlindRTSComponent",
->          "rts:HorizontalAwningRTSComponent",
            "rts:BlindRTSComponent",
->          "rts:ExteriorBlindRTSComponent",
        ):
            self.apply_action("my")
        elif self.tahoma_device.type in (
            "io:HorizontalAwningIOComponent",
            "io:RollerShutterGenericIOComponent",
            "io:VerticalExteriorAwningIOComponent",
        ):
            self.apply_action("stop")
        else:
            self.apply_action("stopIdentify")

I think my stop with my blinds and awning were working

@iMicknl
Copy link
Owner Author

iMicknl commented Jun 8, 2020

I can hardcoded an exception to use my instead of stop, however I would like to understand when to choose stop and when to choose my. If this is based on a state / config setting, to make this more dynamic. We are trying to avoid hardcoding all io: / rts: types in this component.

@github-actions
Copy link

'There hasn't been any activity on this issue recently. Is this issue still present?
Please make sure to update to the latest Home Assistant version and version of this integration to see if that solves the issue. Let us know if that works for you by adding a comment 👍.
This issue now has been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.'

@iMicknl
Copy link
Owner Author

iMicknl commented Aug 5, 2020

Tracked in #204

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants