Windowcovering in OpenLuup with reactor

I want to move all my reactor sensors to OpenLuup. Everything works fine except device window covering.
In vera I can use up, down and stop command. I also can use luup code luup.call_action(“urn:upnp-org:serviceId:WindowCovering1”, “Stop”,“”, 992) .

image

In OpenLuup it does not show up down en stop. I can’t use luup code luup.call_action(“urn:upnp-org:serviceId:WindowCovering1”, “Stop”,“”, 10992) in OpenLuup.

image

Maybe someone can help me

I believe that Reactor was developed on openLuup, so I’m sure that @rigpapa will be along to sort this one out.

I don’t know if it’s in reactor beacuase the luup code doesn’t work either. Isn’t it the settings of windowcovering in openluup. I think these settings determine these state variables. Isn’t it?

OK, that wasn’t clear to me because your screen shots were all Reactor ones.

  • are you sure that the relevant service file is the same version on both Vera and openLuup?
  • do those actions show on the Action tab of the actual device (in AltUI or openLuup console)?

openLuup does not have some of the default devices that Vera Luup has. You likely just need to copy the following files from your Vera to your openLuup installation:

  • D_WindowCovering1.xml
  • D_WindowCovering1.json
  • S_WindowCovering1.xml

EDIT: @akbooer offers a better solution below

1 Like

Thank you for the quick response!

I am not an expert. How do I copy these files from Vera to my Pi4?

I found something.

In Vera :
Apps → develop apps → luup files
Then download these files. Correct?

Yes, that’s an easy way to get them.

Another way is to ssh into your Vera, then (supply user, Pi name/IP, and directory where indicated):

scp /etc/cmh-lu/*_WindowCovering* user@pihostname:/path/to/openLuup

…or reversing it, when sitting logged in to the Pi…

scp root@vera-ip:/etc/cmh-lu/*_WindowCovering* /path/to/openLuup

And of course, WinSCP will do it with a GUI.

Well, you could, but openLuup automates all this for you.

The VeraBridge plugin has an action (under the device Action tab) called GetVeraFiles. Just clicking on the action button (with no parameters) should download all the device / service / implementation / … files (and icons) to openLuup.

You only need to do it once (as described in the User Manual)

2 Likes

Thanks @rigpapa and @akbooer !
I tried both but i have no result/

It seems that all my windowcovers looks like a dimmer. I don’t know whats is wrong.

image

Can you check the “Attributes” on your Window Covering device and tell us what the device type is? Actually, just screen shot the entire Attributes view.

@rigpapa; here it is. Screenshot from OpenLuup

OK. Let’s check here… Have you:

  1. Copied the necessary service files (one way or another) into your OpenLuup install directory? (please go in and confirm the files actually exist–do not rely on the fact that you think you did something to copy them)
  2. Restarted Luup
  3. Hard-refreshed your browser?

If you’ve done all those things and it’s still not working, post the output of this query:

http://your-system-ip:3480/data_request?id=actions&DeviceNum=10992

@rigpapa
I used a USB stick. I copy de files into …/cmh-lu/.

I reboot my Pi and here is the output:

{"serviceList":[{
    "actionList":[{
      "arguments":[],
      "name":"ResetKWH"
    }],
    "serviceId":"urn:micasaverde-com:serviceId:EnergyMetering1"
  },{
    "actionList":[],
    "serviceId":"urn:micasaverde-com:serviceId:GenericSensor1"
  },{
    "actionList":[{
      "arguments":[],
      "name":"Reconfigure"
    },{
      "arguments":[],
      "name":"StressTest"
    },{
      "arguments":[],
      "name":"Remove"
    },{
      "arguments":[],
      "name":"Poll"
    },{
      "arguments":[],
      "name":"ToggleState"
    },{
      "arguments":[{"name":"PollingEnabled"},{"name":"PollMinDelay"}],
      "name":"SetPollFrequency"
    },{
      "arguments":[{"name":"Seconds"}],
      "name":"AllowPairing"
    }],
    "serviceId":"urn:micasaverde-com:serviceId:HaDevice1"
  },{
    "actionList":[],
    "serviceId":"urn:micasaverde-com:serviceId:SceneController1"
  },{
    "actionList":[],
    "serviceId":"urn:micasaverde-com:serviceId:ZWaveDevice1"
  },{
    "actionList":[{
      "arguments":[{"name":"ResetMode"},{"name":"HomeID"},{"name":"ZeroMemory"}],
      "name":"ResetNetwork"
    },{
      "arguments":[{"name":"StartAddress"},{"name":"StopAddress"},{"name":"Value"}],
      "name":"PutByte"
    },{
      "arguments":[{"name":"FailedOnly"}],
      "name":"ReconfigureAllNodes"
    },{
      "arguments":[],
      "name":"UpdateNetwork"
    },{
      "arguments":[{"name":"Device"}],
      "name":"UpdateNeighbors"
    },{
      "arguments":[{"name":"Restore"}],
      "name":"BackupDongle"
    },{
      "arguments":[],
      "name":"PollAllNodes"
    },{
      "arguments":[{"name":"InclusionMode"},{"name":"NodeType"},{"name":"Timeout"},{"name":"Multiple"},{"name":"Reload"}],
      "name":"RemoveNodes"
    },{
      "arguments":[{"name":"InclusionMode"},{"name":"NodeType"},{"name":"Timeout"},{"name":"Multiple"},{"name":"ControllerShift"},{"name":"Reload"}],
      "name":"AddNodes"
    },{
      "arguments":[],
      "name":"DownloadNetwork"
    },{
      "arguments":[{"name":"BatteryMinutes"},{"name":"Node"},{"name":"StressCycles"},{"name":"Configure"},{"name":"ManualRoute"},{"name":"StartStage"},{"name":"StopStage"}],
      "name":"HealNetwork"
    },{
      "arguments":[{"name":"IsTemporary"},{"name":"PollingEnabled"},{"name":"PollDelayInitial"},{"name":"PollDelayDeadTime"},{"name":"PollMinDelay"},{"name":"PollFrequency"}],
      "name":"SetPolling"
    },{
      "arguments":[{"name":"Node"},{"name":"Data"}],
      "name":"SendData"
    },{
      "arguments":[{"name":"Data"}],
      "name":"SimulateIncomingData"
    }],
    "serviceId":"urn:micasaverde-com:serviceId:ZWaveNetwork1"
  },{
    "actionList":[{
      "arguments":[{"name":"newLoadlevelTarget"}],
      "name":"SetLoadLevelTarget"
    },{
      "arguments":[{"name":"GetLoadlevelTarget"}],
      "name":"GetLoadLevelTarget"
    },{
      "arguments":[{"name":"retLoadlevelStatus"}],
      "name":"GetLoadLevelStatus"
    },{
      "arguments":[{"name":"newOnEffectLevel"}],
      "name":"SetOnEffectLevel"
    },{
      "arguments":[{"name":"newOnEffect"}],
      "name":"SetOnEffect"
    },{
      "arguments":[{"name":"retOnEffect"},{"name":"retOnEffectLevel"}],
      "name":"GetOnEffectParameters"
    },{
      "arguments":[],
      "name":"StepUp"
    },{
      "arguments":[],
      "name":"StepDown"
    },{
      "arguments":[],
      "name":"StartRampUp"
    },{
      "arguments":[],
      "name":"StartRampDown"
    },{
      "arguments":[],
      "name":"StopRamp"
    },{
      "arguments":[{"name":"newLoadLevelTarget"},{"name":"newRampTime"}],
      "name":"StartRampToLevel"
    },{
      "arguments":[{"name":"newStepDelta"}],
      "name":"SetStepDelta"
    },{
      "arguments":[{"name":"retStepDelta"}],
      "name":"GetStepDelta"
    },{
      "arguments":[{"name":"newRampRate"}],
      "name":"SetRampRate"
    },{
      "arguments":[{"name":"retRampRate"}],
      "name":"GetRampRate"
    },{
      "arguments":[],
      "name":"PauseRamp"
    },{
      "arguments":[],
      "name":"ResumeRamp"
    },{
      "arguments":[{"name":"retIsRamping"}],
      "name":"GetIsRamping"
    },{
      "arguments":[{"name":"retRampPaused"}],
      "name":"GetRampPaused"
    },{
      "arguments":[{"name":"retRampTime"}],
      "name":"GetRampTime"
    }],
    "serviceId":"urn:upnp-org:serviceId:Dimming1"
  },{
    "actionList":[{
      "arguments":[{"name":"newTargetValue"}],
      "name":"SetTarget"
    },{
      "arguments":[{"name":"RetTargetValue"}],
      "name":"GetTarget"
    },{
      "arguments":[{"name":"ResultStatus"}],
      "name":"GetStatus"
    }],
    "serviceId":"urn:upnp-org:serviceId:SwitchPower1"
  },{
    "actionList":[{
      "arguments":[],
      "name":"Up"
    },{
      "arguments":[],
      "name":"Down"
    },{
      "arguments":[],
      "name":"Stop"
    }],
    "serviceId":"urn:upnp-org:serviceId:WindowCovering1"
  }]}

Hard refresh your browser again.

By the way, they should look like a dimmer. That’s how Vera handles them, so that’s how openLuup will. But you should have “Up” and “Down” actions on the menu in Reactor.

@rigpapa

On my vera reactor says
image

On OpenLuup

image

the standard folder is /etc/cmh-ludl. is cmd-lu correct?

It’s wherever your openLuup is installed on your Pi. It would be the same directory where you find L_Reactor.lua.

yes, i thought it may have been a mistake, thats all.

sorry it is :
home/pi/cmh-ludl

L_reactor.lua
is in it, but I don’t see state variable up, down and stop in openluup. grrrrr…