How to mirror DarkSky temp to Vera?

Just installed DarkSky on openLuup to replace WU on my veras and looking to mirror High & Low Temps.

On creating virtual device in vera I thought to use D_TemperatureSensor1.xml for the D_xxx.xml filename but do not know what I should do for I_xxx.xml filename? Would that even work?

As the watch sends to one vera should I try cloning DarkSky to mirror the same info to the other veras on the network or is there a way with just one instance?

Any device will do. I generally use either D_ComboDevice1.xml or D_GenericSensor1.xml. The VeraBridge mirror will simply create the right serviceId/variable. No implementation file is needed.

Under AltUI, you can set up multiple device watches (in this case mirrors) for a single variable. Each installed VeraBridge plugin creates its own unique Data Service Provider (named Vera@ipaddress) which you may select from the menu.

You will, of course, have to create the dummy device in each individual Vera manually.

When I try to create the virtual device in altui I get ‘Enter a valid Ixxx.xml file name’. Is there another method for creating a new device?

You can, of course, do so with either of these:

[ul][li]http://wiki.micasaverde.com/index.php/Luup_Lua_extensions#function:_create_device[/li]
[li]http://wiki.micasaverde.com/index.php/Luup_UPnP_Variables_and_Actions#HomeAutomationGateway1[/li][/ul]

Thank you. Feel I am in the deep end now. Would I need to use …

luup.create_device("", “testdevice”, “Test Device”, “D_GenericSensor1.xml”, “”, “”, “”, false, false, 0, 0, 0, “,manufacturer=MiOS”, 0, “”, “”, true, false)

and if so where should I be entering this? I have manged to get two devices created using Create Device in Apps/Develop Apps on the vera but they exist without variables so I’m guessing that’s why the mirror is not showing.

Sorry, but I’ve rather lost the plot as to what you’re actually trying to do…

[ul][li]You have DarkSky running under openLuup.[/li]
[li]you have made a dummy device of some sort on Vera(s)[/li][/ul]

So all you need is to mirror your required DarkSky variables to the Vera device numbers.

[quote=“akbooer, post:6, topic:199306”]Sorry, but I’ve rather lost the plot as to what you’re actually trying to do…

[ul][li]You have DarkSky running under openLuup.[/li][/ul]

Yes - working nicely

[ul][li]you have made a dummy device of some sort on Vera(s)[/li][/ul]

Yes - Create Device in Apps/Develop Apps

So all you need is to mirror your required DarkSky variables to the Vera device numbers.

Yes - Enable Push to VeraIP and entered 0-18 as the dummy device number.[/quote]
Not sure where I’ve gone wrong - don’t know if I have created the dummy device correctly as I have not been able to find a concrete guide for this.

You need to enter just 18 as the device number (assuming that is the Vera device number you want to write to.)

No luck sadly. Have attached what I can see.

That’s device number 20?

Yes - I hope so. I have added two more dummy devices trying to crack this. NB I did remember to mirror to 20.

Sorry - thought I had attached log aswell. Can tell it’s the end of the week

The variable won’t be created until the value in openLuup changes.

Sorry ak still nothing coming through.

[ol][li]let’s see the latest log…[/li]
[li]…including when you change your local mirror variable, manually, to a new value[/li][/ol]

Also, a screen shot of the AltUI Variable page with the Push To (graph) menu open for that variable.

As an example, I’ve just set up a new mirror to my Vera Edge. Changing the local mirrored variable gives this sequence in the log:

2018-06-18 11:39:15.650   luup.variable_set:: 130.urn:akbooer-com:serviceId:DataYours1.AppMemoryUsed was: 8458 now: 8458.0 #hooks:1
2018-06-18 11:39:15.651   openLuup.http:: request completed (2 bytes, 1 chunks, 1 ms) tcp{client}: 0x1414250
2018-06-18 11:39:15.653   luup.watch_callback:: 130.urn:akbooer-com:serviceId:DataYours1.AppMemoryUsed function: 0x78f8b0
2018-06-18 11:39:16.672   openLuup.http:: request completed (4585 bytes, 1 chunks, 1583 ms) tcp{client}: 0xdbd350
2018-06-18 11:39:16.792   luup_log:352: VeraBridge DSP Mirror: 130.urn:akbooer-com:serviceId:DataYours1.AppMemoryUsed --> 149.urn:akbooer-com:serviceId:DataYours1.AppMemoryUsed@172.16.42.14
2018-06-18 11:39:16.792   luup_log:352: /data_request?id=variableset&DeviceNum=149&serviceId=urn:akbooer-com:serviceId:DataYours1&Variable=AppMemoryUsed&Value=8458%2e0
2018-06-18 11:39:16.834   openLuup.http:: GET /data_request?id=lu_status2&output_format=json&DataVersion=904515301&Timeout=60&MinimumDelay=1500&_=1528904425331 HTTP/1.1 tcp{client}: 0xdbd350
2018-06-18 11:39:19.953   luup.variable_set:: 10149.urn:akbooer-com:serviceId:DataYours1.AppMemoryUsed was: EMPTY now: 8458.0 #hooks:0

Amongst other things, this shows:

[ul][li]the local variable AppMemoryUsed being set to a new value (8458.0)[/li]
[li]the watch callback set up by the bridge mirror being called[/li]
[li]the log entry from the bridge mapping the local dev.svc.var to the remote one (149.urn:akbooer-com:serviceId:DataYours1.AppMemoryUsed@172.16.42.14)[/li]
[li]AltUI doing a new status HTTP request to the remote Vera[/li]
[li]the local bridged device variable being created as the remote one is created (device 10149)[/li][/ul]

This is the expected sequence of events, if it’s set up correctly.

Brilliant. Thanks ak. Was relying on seeing the variable in the device/dashboard but of course it won’t appear there.

So to recap create new dummy device in vera (Create Device in Apps/Develop Apps) using D_ComboDevice1.xml for Upnp Device Filename and name your device under description. In Altui/openLupp open the variables list for the device to be mirrored, push desired variable by selecting the ip of remote vera (or ctrl select for multiple veras), enter dummy device number (without 0-) and save correctly. Wait for variable to change to see the mirror appear on dummy device. The new variable will be found in the variables list. Genius.

Excellent, glad that’s working for you now. Fine description of the full process.

How would you set the temperature variable via HTTP? I’m trying this:

http://192.168.0.10:3480/data_request?id=lu_action&output_format=json&DeviceNum=242&serviceId=urn:upnp-org:serviceId:TemperatureSensor1&action=SetCurrentTemperature&CurrentTemperature=84.01

Not working though…

There is no SetCurrentTemperature action.

Why are you trying to set a temperature reading? It will get overwritten on the next update anyway.