Announcement

Collapse
No announcement yet.

Somfy ZRTSI Zwave to RTSI

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #61
    Resurrecting an old post. First, like someone else above, I'm in awe as to the person figuring out the value of 1255 as working for stop! For our exterior shades, stop was 255, but for our interior shades (same ZRTSI controller no less), 1255 is stop.

    Which leads me to the following tip. We have nine virtual nodes -- six correspond to individual shades, and the other three correspond to groups of shades. Up/down/stop was working just for seven of the virtual nodes. For the other two, I was just getting up/down functionality, not stop.

    As usual with Z-Wave devices, removing the virtual node from the network and readding it fixed the issue. So, if you're having problem with stop not working, try this.

    Comment


    • #62
      How can I get Alexa to stop a shade?

      Thanks for the research to find the stop command for the ZRSTi. I have implemented it, and it works great within Homeseer, using the Stop button I have setup.
      However, I can't find a way for Alexa to control the Stop function. Alexa can control Up, which is ON, and Down, which is Off, but I can't seem to find a way for Alexa to control Stop.
      Has anyone gotten this to work, or does anyone have any suggestions on what I can try?
      Thanks
      Mike

      Originally posted by bentrice View Post
      I was able to solve this problem differently. When I added another button to my binary, the value 255 did not stop the movement but only moved the blinds to the "UP" state.

      Here is what I did:
      1. Under device management, Delete the Binary control (optional)
      2. Click on the Multilevel device
      3. Click on Status Graphics
      3. Delete the controls for the slider (optional)
      4. Add a New Single Value where
      Value=1255
      Status=Stop
      Control Use=Not Specified
      Row=1
      Column=3
      Status-Control=Control


      Now, you'll have to build events that move the blinds and stop them with delays.

      Comment


      • #63
        I have a Somfy ZRTSI and HS3 with a z-net. I set the Somfy Z-wave setup to the base node and include and hit the button again and it says base node including. I have tried a few times with including a node in HS 3 both secure and non-secure and HS3 reports success and I do end up with a new node in HS3. But the ZRTSI never indicates successes and as such won't go on to adding the virtual nodes. Done the reset ZRTSI game a couple of times and no different results. I wonder if anyone has a suggestion.

        Z-Wave Node 14 is Z-Wave version: Lib: 3.42 App: 1.8
        Z-Wave Z-Wave manufacturer information for node 14, ID: 71=47H (Somfy), Type: 23122=5A52H, ID: 21759=54FFH
        Z-Wave Done. Node 14 Added.
        -Rick

        Comment


        • #64
          I have gotten spoiled a lazy with adding devices with my Z-NET. I haven't had much of any problem even when the node was on the different floor and about 50 feet away. So today I tried to get the ZRTSI to work and I moved myself and the ZRTSI close to the Z-Net controller and low and behold it added fine. Adding the Virtual nodes for each channel was wonky. HS3 would add one, then when trying to add the second one it would fail. Monkeying around I found I could stop-start hs3 and then include one more virtual, stop-start hs3 and so on and got them all added. Zwave range seems a bit poor but so far no RTS range problems. I have two more blinds to add that are the furthermost most away and will see how well it plays with them.
          -Rick

          Comment


          • #65
            Wow! This "Stop" Value = "MY" Actually works!

            I was really disappointed when a discussion with the Somfy tech people concluded that since the RTS blind system does not communicate back to the ZRTSI there is no way for it, nor the Z-Wave system, to know at what position a blind is opened. So basically, all it can do is go up or down.

            For roll shades that's kind of OK since "up" is open and "down" is closed. But for horizontal blinds, up is all the way closed one way and down is all the way closed the other way...so you really can't "open" a blind.

            The first step of my solution was set the upper limit to a midpoint at which the blind is actually open. So instead of rotating a full 180 degrees from closed to closed, you can go from closed to say 90 degrees open (but that will be the new open limit, even with a remote). I need a full closed for because of the projection screen, but you could also set the lower limit anywhere you like. So you could have partially open at 20 degrees and fully open at 90 degrees.

            Next I finally discovered this thread with Bentrice's "1255 Stop Value". So I went and reprogrammed a "MY" key position at about 45 degrees and I now have three commands/positions: full closed, 45 degrees and 90 degrees open.

            Since I don't want my blinds to slant inwards and let the sun in, I'm reall happy with this compromise! By the way, these are 2.5" Bali wood blinds. And so now, when I power up the Epson projector, it turns on my Marantz and lowers the screen, the BLMarantz PI sees the receiver turn on and slowly dims the room lights and turns the blinds to 0 degrees. All I need now is a popcorn plug-in
            Regards,
            Chris
            HS3 Pro 3.0.0.531 Shuttle XS36VL Atom PC - Win 7 Pro 32 / HCSII / Insteon / Z-Wave & SmartStick+ / DSC 1832 - PC5108 - IT100 / 651 devises & 154 events
            Plug-Ins: APCUPSD / BLDSC / BLiTunes / BlueIris / BLMarantz / BLShutdown / Device History / HCS2 / Insteon / Jon00 Network Monitor / Jon00 DB Charting / PHLocation2 / WeatherXML / Z-Wave

            Comment


            • #66
              Just wanted to say thanks for finding the stop command, that really helped me out.

              Comment


              • #67
                Executing the Preset on Somfy RTS Blinds

                So,


                I have Somfy RTS (433) blinds working with no issues with regards to the ZRTSI II rts to ZWAVE converter. As well, I have the stop (1255) command working as well with an event to wait a certain time and then execute to stop the blinds at a set position. I want to know how we can execute the preset command or what some say is the my command that has been set. please let me know. I do know this can be done as I have it working inside the Device handler for smart things, but trying to see how we do this in Homeseer as I want to use this platform 100% of the time. I have included the device handler code below from ST as a reference. Any help is greatly appreciated!


                /**
                *
                * https://community.smartthings.com/t/...egration/13492
                * Modified ERS 12/29/2016
                *
                * Version 1.0.7
                *
                * Version History
                *
                * 1.0.7 26 Mar 2017 Few updates (be sure to go into each device, select settings (gear), and hit done
                * 1.0.6 29 Dec 2016 Health Check
                * 1.0.5 01 May 2016 bug fixes
                * 1.0.4 01 May 2016 Sync commands for cases where blinds respond to multiple channels (all vs. single)
                * 1.0.3 17 Apr 2016 Expanded runIn timer for movement and completed states
                * 1.0.2 04 Apr 2016 Added runIn timer for movement vs. completed states
                * 1.0.1 07 Mar 2016 Add Blinds support by edit device to set to blinds type
                * 1.0.0 24 Feb 2016 Multi-tile, Window Shade Capability, Device Handler attempts to maintain state
                *
                * Notes:
                *
                * Somfy ZRTSII does not report accurate status for the device.
                *
                * This device handler maintains an internal view of device status based on last command
                * reissuing a command to the shade (up, down, preset (when stopped)) does not move the shade/blinds if it is already in that position
                * My/stop command does different actions depending if the shade is idle (go to MY or closed position) or moving (stop)
                *
                * Once the device is installed, it defaults to "shade" operation. If "blinds" operation is desired, for the device go to settings (gear)
                * and change the device operation to Window Blinds
                *
                * Shade and Blinds operate differently in ZRTSII buttons
                * - Shades actions: up button: open (on switch), down button: close (off switch), my/stop button: presetPosition (50%)
                * - Blinds actions: up button: open (on switch), down button: tilt open (off switch), my/stop button: close (50%)
                *
                * Window Shade Capability standardizes: (these should not be changed, except by SmartThings capabilities updates)
                * - windowShade: unknown, closed, open, partially open, closing, opening
                * - Commands: open(), close(), presetPosition()
                *
                */
                metadata {
                definition (name: "Somfy Z-Wave Shades and Blinds Multi tile", namespace: "E_Sch", author: "Eric, Ash, Others") {
                capability "Switch Level"
                capability "Switch"
                capability "Window Shade"
                //capability "Polling"
                capability "Refresh"
                capability "Actuator"
                capability "Health Check"

                attribute "stopStr", "enum", ["preset/stop", "close/stop"]

                command "OpenSync"
                command "CloseSync"
                command "TiltSync"
                command "levelOpenClose", [ "number" ]

                attribute "lastPoll", "STRING"

                fingerprint deviceId: "0x1105", inClusters: "0x2C, 0x72, 0x26, 0x20, 0x25, 0x2B, 0x86"
                }

                simulator {
                status "on": "command: 2003, payload: FF"
                status "off": "command: 2003, payload: 00"
                status "09%": "command: 2003, payload: 09"
                status "10%": "command: 2003, payload: 0A"
                status "33%": "command: 2003, payload: 21"
                status "66%": "command: 2003, payload: 42"
                status "99%": "command: 2003, payload: 63"

                // reply messages
                reply "2001FF,delay 5000,2602": "command: 2603, payload: FF"
                reply "200100,delay 5000,2602": "command: 2603, payload: 00"
                reply "200119,delay 5000,2602": "command: 2603, payload: 19"
                reply "200132,delay 5000,2602": "command: 2603, payload: 32"
                reply "20014B,delay 5000,2602": "command: 2603, payload: 4B"
                reply "200163,delay 5000,2602": "command: 2603, payload: 63"
                }

                preferences {
                input ("shadeType", "enum", options:[
                "shades": "Window Shades",
                "blinds": "Window Blinds"],
                title: "Window Shades or Blinds?", description: "set type (shades or blinds)", defaultValue: "shades",
                required: false, displayDuringSetup: true )
                }

                tiles(scale: 2) {
                multiAttributeTile(name:"shade", type: "lighting", width: 6, height: 4) {
                tileAttribute("device.windowShade", key: "PRIMARY_CONTROL") {
                attributeState("unknown", label:'${name}', action:"refresh.refresh", icon:"st.doors.garage.garage-open", backgroundColor:"#ffa81e")
                attributeState("closed", label:'${name}', action:"open", icon:"st.doors.garage.garage-closed", backgroundColor:"#bbbbdd", nextState: "opening")
                attributeState("open", label:'up', action:"close", icon:"st.doors.garage.garage-open", backgroundColor:"#ffcc33", nextState: "closing")
                attributeState("partially open", label:'preset', action:"presetPosition", icon:"st.Transportation.transportation13", backgroundColor:"#ffcc33")
                attributeState("closing", label:'${name}', action:"presetPosition", icon:"st.doors.garage.garage-closing", backgroundColor:"#bbbbdd")
                attributeState("opening", label:'${name}', action:"presetPosition", icon:"st.doors.garage.garage-opening", backgroundColor:"#ffcc33")
                }
                tileAttribute ("device.level", key: "SLIDER_CONTROL") {
                attributeState("level", action:"switch level.setLevel")
                }
                tileAttribute ("device.speedLevel", key: "VALUE_CONTROL") {
                attributeState("level", action: "levelOpenClose")
                }
                }

                standardTile("switchmain", "device.windowShade") {
                state("unknown", label:'${name}', action:"refresh.refresh", icon:"st.doors.garage.garage-open", backgroundColor:"#ffa81e")
                state("closed", label:'${name}', action:"open", icon:"st.doors.garage.garage-closed", backgroundColor:"#bbbbdd", nextState: "opening")
                state("open", label:'up', action:"close", icon:"st.doors.garage.garage-open", backgroundColor:"#ffcc33", nextState: "closing")
                state("partially open", label:'preset', action:"presetPosition", icon:"st.Transportation.transportation13", backgroundColor:"#ffcc33")
                state("closing", label:'${name}', action:"presetPosition", icon:"st.doors.garage.garage-closing", backgroundColor:"#bbbbdd")
                state("opening", label:'${name}', action:"presetPosition", icon:"st.doors.garage.garage-opening", backgroundColor:"#ffcc33")

                // state("on", label:'up', action:"switch.off", icon:"st.doors.garage.garage-open", backgroundColor:"#ffcc33")
                // state("off", label:'closed', action:"switch.on", icon:"st.doors.garage.garage-closed", backgroundColor:"#bbbbdd")
                // state("default", label:'preset', action:"presetPosition", icon:"st.Transportation.transportation13", backgroundColor:"#ffcc33")
                }

                standardTile("on", "device.switch", width: 2, height: 2, inactiveLabel: false, decoration: "flat") {
                state("on", label:'open', action:"switch.on", icon:"st.doors.garage.garage-opening")
                }
                standardTile("off", "device.stopStr", width: 2, height: 2, inactiveLabel: false, decoration: "flat") {
                state("close/stop", label:'close/stop', action:"switch.off", icon:"st.doors.garage.garage-closing")
                state("default", label:'close', action:"switch.off", icon:"st.doors.garage.garage-closing")
                }
                standardTile("preset", "device.stopStr", width: 2, height: 2, inactiveLabel: false, decoration: "flat") {
                state("close/stop", label:'slats open', action:"switch level.setLevel", icon:"st.Transportation.transportation13")
                state("default", label:'preset/stop', action:"switch level.setLevel", icon:"st.Transportation.transportation13")
                }
                controlTile("levelSliderControl", "device.level", "slider", height: 1, width: 3, inactiveLabel: false) {
                state("level", action:"switch level.setLevel")
                }

                standardTile("refresh", "command.refresh", width:2, height:2, inactiveLabel: false, decoration: "flat") {
                state "default", label:'', action:"refresh.refresh", icon:"st.secondary.refresh"
                }

                // Poll provides data, but the ZRTSII does not provide accurate status
                //
                // standardTile("poll", "command.poll", width:2, height:2, inactiveLabel: false, decoration: "flat") {
                // state "default", label:'poll', action:"poll", icon:"st.secondary.poll"
                // }

                main(["switchmain"])
                details(["shade", "on", "off", "preset"])
                }
                }

                def configure() {
                log.trace "configure() called"
                updated()
                }

                def ping() {
                log.trace "ping called"
                def now=new Date()
                def tz = location.timeZone
                def nowString = now.format("MMM/dd HH:mm",tz)
                sendEvent("name":"lastPoll", "value":nowString, displayed: false)
                refresh()
                }

                def updated() {
                log.trace "updated() called"

                sendEvent(name: "checkInterval", value: 60 * 60 * 1, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID], displayed: false)

                def currstat = device.latestValue("level")
                def currstat1 = device.latestValue("windowShade")

                log.debug "Shade type: ${settings?.shadeType}"
                if (settings?.shadeType) {
                if (settings.shadeType == "shades") {
                sendEvent(name: "stopStr", value: "preset/stop")
                } else {
                sendEvent(name: "stopStr", value: "close/stop")
                }
                } else {
                sendEvent(name: "stopStr", value: "preset/stop")
                }

                log.debug "switch state: ${currstat} windowShade state: ${currstat1}"
                if ( (currstat == null) || (currstat1 == null)) {
                if (currstat > null) {
                if (currstat >= 75) {
                //sendEvent(name: "windowShade", value: "open")
                finishOpenShade()
                } else if (currstat <= 25) {
                //sendEvent(name: "windowShade", value: "closed")
                finishCloseShade()
                } else {
                //sendEvent(name: "windowShade", value: "partially open")
                finishPartialOpenShade()
                }
                }
                }
                }

                def parse(String description) {
                description
                def result = []
                def cmd = zwave.parse(description, [0x20: 1, 0x26: 1, 0x70: 1])
                //log.debug "Parsed ${description} to ${cmd}"
                if (cmd) {
                result = zwaveEvent(cmd)
                log.debug "zwaveEvent( ${cmd} ) returned ${result.inspect()}"
                } else {
                log.debug "Non-parsed event: ${description}"
                }
                def now=new Date()
                def tz = location.timeZone
                def nowString = now.format("MMM/dd HH:mm",tz)
                result << createEvent("name":"lastPoll", "value":nowString, displayed: false)
                return result
                }

                def levelOpenClose(value) {
                log.trace "levelOpenClose called with value $value"
                if (value) {
                on()
                } else {
                off()
                }
                }

                // Somfy ZRTSII does not report accurate status for the device.
                // This device handler maintains an internal view of device status based on last command
                // reissuing a command to the shade (up, down, preset (my) (when stopped)) does not move the shade if it is already in that position
                // My/stop command does different actions depending if the shade is idle (go to MY position) or moving (stop)

                def zwaveEvent(physicalgraph.zwave.commands.basicv1.BasicReport cmd)
                {
                def result = []
                def tempstr = ""
                def statstr = "SAME"

                //log.trace "Basic report cmd.value: ${cmd.value}"

                if (cmd.value == 0) {
                //result << createEvent(name: "switch", value: "off")

                tempstr = "closed"
                if (settings?.shadeType) {
                if (settings.shadeType == "blinds") {
                tempstr = "tilted open"
                }
                }
                } else if (cmd.value == 0xFF) {
                //result << createEvent(name: "switch", value: "on")
                tempstr = "open"

                } else { // This has never happend
                //result << createEvent(name: "switch", value: "default")
                tempstr="neither open or closed"
                }
                def swstatstr = "${device.latestValue('switch')}"
                if (cmd.value == 0 && swstatstr == "on") { statstr = "DIFFERENT" }
                if (cmd.value == 0xFF && swstatstr == "off") { statstr = "DIFFERENT" }

                //log.debug "${statstr} Zwave state is ${tempstr}; device stored state is ${device.latestValue('switch')} dimmer level: ${device.latestValue('level')} "
                return result
                }

                def zwaveEvent(physicalgraph.zwave.commands.switchbinaryv1.Switc hBinaryReport cmd) {
                def result = []
                def tempstr = ""

                log.debug "SwitchBinaryReport cmd.value: ${cmd.value}"

                if (cmd.value == 0) {
                tempstr = "closed"
                if (settings?.shadeType) {
                if (settings.shadeType == "blinds") {
                tempstr = "tilted open"
                }
                }

                } else if (cmd.value == 0xFF) {
                tempstr = "open"

                } else { // this has never happened
                tempstr="neither open or closed"
                }
                log.debug "Reported state is ${tempstr}; device is ${device.latestValue('switch')} ${device.latestValue('level')} "

                //result << createEvent(name:"switch", value: cmd.value ? "on" : "off")
                //result << createEvent(name: "level",value: cmd.value, unit:"%",
                //descriptionText:"${device.displayName} dimmed ${cmd.value==255 ? 100 : cmd.value}%")
                return result
                }

                def zwaveEvent(physicalgraph.zwave.commands.switchmultilevelv1.S witchMultilevelReport cmd)
                {
                def result = []
                def tempstr = ""

                log.trace "SwitchMultilevelReport cmd.value: ${cmd.value}"

                if (cmd.value == 0) {
                //result << createEvent(name: "switch", value: "off")
                tempstr = "closed"
                if (settings?.shadeType) {
                if (settings.shadeType == "blinds") {
                tempstr = "tilted open"
                }
                }

                } else if (cmd.value == 0xFF) {
                //result << createEvent(name: "switch", value: "on")
                tempstr = "open"
                } else {
                //result << createEvent(name: "switch", value: "default")
                tempstr="neither open or closed"
                }
                //result << createEvent(name: "level",value: cmd.value, unit:"%",
                //descriptionText:"${device.displayName} dimmed ${cmd.value==255 ? 100 : cmd.value}%")
                log.debug "Reported state is ${tempstr}; device is ${device.latestValue('switch')} ${device.latestValue('level')} "
                return result
                }

                def on() {
                int level = 255
                log.trace "on() treated as open()"
                setLevel(level)
                }

                def off() {
                int level = 0
                log.trace "off() treated as close()"
                setLevel(level)
                }

                def setLevel() {
                log.trace "setLevel() treated as preset position"
                setLevel(25)
                }

                def open() {
                log.trace "open()"
                on()
                }

                def close() {
                log.trace "close()"
                off()
                }

                def presetPosition() {
                log.trace "presetPosition()"
                setLevel(50)
                }

                def OpenSync() {
                log.trace "OpenSync()"
                finishOpenShade()
                }

                def CloseSync() {
                log.trace "CloseSync()"
                finishCloseShade()
                }

                def TiltSync() {
                log.trace "TiltSync()"
                finishPartialOpenShade()
                }

                def refresh() {
                log.trace "refresh()"
                delayBetween([
                //zwave.switchBinaryV1.switchBinaryGet().format(),
                //zwave.switchMultilevelV1.switchMultilevelGet().format(),
                //zwave.meterV2.meterGet(scale: 0).format(), // get kWh
                //zwave.meterV2.meterGet(scale: 2).format(), // get Watts
                //zwave.sensorMultilevelV1.sensorMultilevelGet().format(),
                //zwave.sensorMultilevelV5.sensorMultilevelGet(sensorType:1, scale:1).format(), // get temp in Fahrenheit
                //zwave.batteryV1.batteryGet().format(),
                zwave.basicV1.basicGet().format()
                ], 3000)
                }

                // If you add the Polling capability to your device type, this command
                // will be called approximately every 5 minutes to check the device's state
                // zrtsII does not provide accurate status of shade position

                //def poll() {
                // log.trace "Poll"
                // zwave.basicV1.basicGet().format()
                //}

                def setLevel(level) {
                log.trace "setLevel(level) {$level}"
                log.debug "level.inspect " + level.inspect()

                int newlevel = level

                if (level > null) {

                if (level >= 75) {
                sendEvent(name: "windowShade", value: "opening")
                sendEvent(name: "level", value: level)
                sendEvent(name: "switch", value: "on")
                runIn(25, "finishOpenShade", [overwrite: true])
                delayBetween([
                zwave.switchMultilevelV1.switchMultilevelSet(value: 0xFF).format(),
                zwave.basicV1.basicGet().format()
                // sendEvent(name: "windowShade", value: "open"),
                // sendEvent(name: "switch", value: "on")
                ], 4000)
                } else if (level <= 25) {
                sendEvent(name: "windowShade", value: "closing")
                sendEvent(name: "switch", value: "off")
                runIn(25, "finishCloseShade", [overwrite: true])
                if (settings.shadeType == "shades") {
                delayBetween([
                zwave.switchMultilevelV1.switchMultilevelSet(value: 0x00).format(),
                zwave.basicV1.basicGet().format()
                // sendEvent(name: "windowShade", value: "closed"),
                // sendEvent(name: "switch", value: "off")
                ], 4000)
                } else {
                delayBetween([
                zwave.switchMultilevelV1.switchMultilevelStopLevelChange().f ormat(),
                zwave.basicV1.basicGet().format()
                // sendEvent(name: "windowShade", value: "closed"),
                // sendEvent(name: "switch", value: "off")
                ], 4000)
                }
                } else {
                def currstat = device.latestValue("windowShade")
                if (currstat == "open") { sendEvent(name: "windowShade", value: "closing") }
                else { sendEvent(name: "windowShade", value: "opening") }
                sendEvent(name: "level", value: level)
                sendEvent(name: "switch", value: "on")
                runIn(15, "finishPartialOpenShade", [overwrite: true])
                if (settings.shadeType == "shades") {
                delayBetween([
                zwave.switchMultilevelV1.switchMultilevelStopLevelChange().f ormat(),
                zwave.basicV1.basicGet().format()
                // sendEvent(name: "windowShade", value: "partially open"),
                // sendEvent(name: "switch", value: "default")
                ], 4000)
                } else {
                delayBetween([
                zwave.switchMultilevelV1.switchMultilevelSet(value: 0x00).format(),
                zwave.basicV1.basicGet().format()
                // sendEvent(name: "windowShade", value: "partially open"),
                // sendEvent(name: "switch", value: "default")
                ], 4000)
                }
                }

                // this code below causes commands not be sent/received by the Somfy ZRTSII - I assume delayBetween is asynchronous...

                //log.trace("finished level adjust")
                //if (newlevel != level) {
                //log.trace("finished level adjust1")
                //delayBetween([
                //sendEvent(name: "level", value: newlevel)
                //], 1000)
                //}
                }
                }

                def finishOpenShade() {
                sendEvent(name: "windowShade", value: "open")
                def newlevel = 99
                sendEvent(name: "level", value: newlevel)
                sendEvent(name: "switch", value: "on")
                }

                def finishCloseShade() {
                sendEvent(name: "windowShade", value: "closed")
                def newlevel = 0
                sendEvent(name: "level", value: newlevel)
                sendEvent(name: "switch", value: "off")
                }

                def finishPartialOpenShade() {
                sendEvent(name: "windowShade", value: "partially open")
                def newlevel = 50
                sendEvent(name: "level", value: newlevel)
                sendEvent(name: "switch", value: "on")
                }

                // this appears to never be called

                //def setLevel(level, duration) {
                // log.trace "setLevel(level, duration) {$level} ${duration}"
                // setLevel(level)
                // return
                //}

                Comment


                • #68
                  If I understood well, you want to use the “MY” button to set the curtains to the preset you set on your blinds.
                  Just press the stop button when the blinds are not moving.

                  Comment


                  • #69
                    I want to automate this. I have preset set. I want to create an event to run the preset condition vs open/close/stop

                    Comment


                    • #70
                      Originally posted by DSteiNeuro View Post
                      This is what we expected. The virtual child nodes have two switches. One is binary- On= Up, Off= Down. The second switch is multilevel 0-100 like a light dim.

                      I guess that there isn't a stop command for the Up/Down. That would be nice, but livable without it.

                      I haven't figured out what the "Bridge Node" does. I think that it may be for the TaHomA interface. It is a secondary Z Wave controller, so I wonder if I add it using Replicate Recieve if it would enable two way communication between the ZRTSI and HS.

                      The information for the Base node is as below, if someone can translate:
                      Hi, I have a Somfy Awning and was able to make OPEN and CLOSE via the ZRTS1 work via HS3 but (as stated by others) there is no STOP (or MY in Somfy words) to stop my awning in mid travel. I can live without this feature but if anyone knows how to STOP in mid travel, please let me know.
                      Thanks.

                      Comment


                      • #71

                        Comment


                        • #72
                          Thanks for the tip. I found that thread today and used 1255 and it works perfectly. Thanks.
                          CLOSED

                          Comment

                          Working...
                          X