[ST Edge] vEdge Creator: a virtual device generator for end users

You and the other devs here continue to amaze me with your dedication and support for the community.

5 Likes

Hi Todd, here’s another niche request. Any chance you could add a virtual solar inverter?

I can get the info from my Fronius inverter using your HTTP GET driver, but short of creating 5 separate devices each with an appropriate name, I can’t find a way to make single device with all the info.

It’s basically just 5 numeric fields:

  • PV power generation
  • Load
  • Draw from Grid (negative number if pushing to grid)
  • Battery discharge (negative number if charging)
  • Battery state of charge (%)

All, except the state of charge are expressed in kW.
PV Generation would be the field I would put in the dashboard view.

Mariano has a virtual device that contains 5 numeric fields, which I can populate, but there’s no way to rename the fields from “Number Field One”, “Number Field Two” etc, and I can never remember which is which after the second one.

Thanks in advance, and I understand if it’s not a priority :pray:

only available for new created devices i guess. I’m curious to try, but I would have many routines to update having to change all the users. Not sure I want to :slight_smile: I’ll update

You are correct - to get either the location field in the presence device, or the battery options for the Temp/Humidity device, you’ll have to create a new device.

1 Like

Well now you are squarely in the realm of a custom device driver :-). If you really want this, direct message me and we may be able to come to an arrangement :wink:

@TAustin Just to confirm, did not auto upgrade, had to delete and scan nearby devices. Many thanks for all your work.

1 Like

Here’s a question for you? Would it be possible to add an additional setting to toggle between presence status and location to be displayed on the main card?

I think so. I can take a look at it for the next update.

Hi Todd, I’m having trouble getting the creator device back. I accidently deleted it, but it is not being recreated when I scan for new devices.

I have Virtual Devices V2 driver installed.

I have tried uninstalling and reinstalling the driver, and then scanning again, but nothing is coming up.

I’m not having any trouble getting a new Web Requestor or LAN Device Monitor doing the same process, but I cannot see a new vEdge Creator device.

Have looked in every room.
Any ideas?

On IOS after the last update I noticed devices I had added were not showing up. I had to quit and restart the app for them to show up.

About vEdge Creator, Creating device has not been working.
I uninstalled Edge creator, and re-install edge creator(I did search for 4 hours, because the creator had not been come up in my hub).
Creating device still didn’t work, after reinstalling.
is there any error in drive?

Just a comment about the new text field in the virtual presence sensor. You called it “location”, which is the same name as the field that stores the location name of which hub the virtual device is associated with, which you can see when you edit the virtual device from it’s menu. (I have 2 hubs, whose “location” fields are Home or Cottage).

Don’t get me wrong, I love extra flexibility and your drivers and API browser are great, but I wonder whether this will cause some confusion in the future?

To those reporting trouble with the creator device not being (re)created. Thank-you for the reports. There is clearly something going on because multiple people are reporting this. Unfortunately I have not been able to reproduce the problem in my own tests.

Usually this type of issue is due to the device already existing somewhere, or there being a conflict with the device network ID. You can use tools like the CLI or my API Browser+ web app to confirm that the device doesn’t already exist, but that really doesn’t appear to be the problem based on the info provided so far.

A couple of you have already provided driver logs showing the driver attempting to create the device, and no error message resulting, but no device ever being created. I’m going to have to get some help from SmartThings to figure out what is going on.

I’m really sorry for the trouble, and appreciate your patience while we figure this out.

3 Likes

It’s a valid point. I can certainly consider other terms. Some possibilities:

  • Place
  • User-defined place
  • Where

@Jake_Mohl any thoughts?

1 Like

I have no issue changing it to Place or Where. I’m currently leveraging an unofficial API for life360 to update this.

@TAustin this is also why I would like to know if an option would be add a setting that would allow you to choose what’s displayed, either present/ not present or location/place.

Hi @TAustin, and thanks for all the great work. I am not sure this is the right place to ask, but it seems like a place to start. I’m also happy to move this to a different thread if you know of one.

I am working on an edge driver for a TempurPedic adjustable bed. It has an IP address, and responds to UDP commands. It does not send out any info like status, and so the driver would essentially be virtual in that it has momentary buttons that send out UDP commands over the LAN.

One option would be to create a virtual momentary button that could be configured to execute a list of Lua commands. For example, to reset the bed to “flat”, the command sequence is:

local host, port = “192.168,1.1”, 50007
local cmd = string.char(0x33, 0x05, 0x32, 0x0A, 0x94, 0x5C, 0x04, 0x00, 0xCC)
local socket = require(“socket”)
local udp = socket.udp()
udp:sendto(cmd, host, port))

Another obvious option would be to create a proper edge driver for the TempuPedic bed controller that has all the buttons programmed in. I have written the Lua code for all of the commands already. Since the vEdge Creator already makes virtual momentary buttons “on the fly”, you already have done about 90% of the work (and like most computer scientists, I’m basically lazy :slight_smile:

Thanks,
james

After this working fine for quite some time, I’m having problems creating virtual devices now. The trace on the log isn’t showing much:

2023-03-30T01:04:50.218936895+00:00 TRACE Virtual Devices V2  Received event with handler capability
2023-03-30T01:04:50.221443812+00:00 INFO Virtual Devices V2  <Device: 5b662061-b3d7-4205-84df-8e1dcf985b52 (vEdge Creator V2.7)> received command: {"args":{"value":"Momentary"},"capability":"partyvoice23922.createdev6","command":"setDeviceType","component":"main","positional_args":["Momentary"]}
2023-03-30T01:04:50.223459062+00:00 DEBUG Virtual Devices V2  vEdge Creator V2.7 device thread event handled

That’s it. In the app I’m getting “A network server or error occurred. Try again late”

You need to update your vEdge Creator device, the newest version is 2.91. Here’s how:

3 Likes

Hey @MABeatty1978, curiosity, Where Can I check the logs? :sweat_smile:

It’s in the OP.

“If you have any problems, it would be helpful to get a log output, but for that you will need the CLI:”

smartthings edge:drivers:installed
smartthings edge:drivers:logcat <driverID> --hub-address=<hub ip addr>

If you’re not familiar with the CLI