[APP][Pro] Advanced Virtual Device (Device Capabilities App) with Unique Text Status Indicator

Well, just like everything in the AVD settings, i only show options that are applicable.
Thus, when you add a new numbersfield f.i., you get:
image

Just name, when you fill that, you get:
image

All reflect options are hidden behind reflect, and even it’s first loading of devices is behind it being selected. Saving resources, when you do not use reflection, it will not load anything extra at all.

When you Check Create Tag, another field appears:

This is how the whole settings work.
And the same for reflection:

I’ll share my new production AVDs as soon as they are done.

1 Like

BTW: I am not complaining - In fact am very charmed with all your work and dedication!

2 Likes

Working! :smirk:

1 Like

Amazing progress @Arie_J_Godschalk !
I like the idea of using AVD instead of groups.
I like the idea of using built Chronographs of AVD.
I agree with the other feedback to make an effort to hide advanced options that few may use.

I tried the test versions, but I got stuck updating a Status field with an AVD that is important to me. So I tried to go back to the regular app version for DC, Chronograph and BLL. Did you update the regular version with the new features?

I tried to update status on a new test AVD but that works fine, so somehow I need to find the issues with my AVD. I had several fields I used in the past and then deleted.

Here is the issue with the Status field when I put 12:34 into it.
Even though there is an error, the value is actually written in the Status field.

Is there a way to clean up my AVD without losing all the work I did on it?

image

image

image

Question about: My pool pump

[Write your question here]


TEF:

[tef:AVD,FLOWS:"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":/tef]

Can you create the error and the send a diagnostic please?

No, not the newest parts, but yeah, a few days back a version has gonne live, because a lott of issues were resolved, especially for HP2023.

The value error likely has todo with the HP2023 changes i made.
I have never changed AVD’s tho, you should need to go back.

Cleaning your AVD up can be done simply by saving in AVD settings; everything that doesn’t match is rebuild.

I am right now first solving hguh slowness in the test version when using device-reflection.
I’ll then try to solve the status field, because the current version can’t be released.

(Also cc to Arie and Dirk)

Hehehe, yeah but it is a brand new feature, and it is not always clear (to me!) what Arie means in the initial item naming and tooltips (such as tech jargon like “tokens” “string” “bool” ), but it’s also hard to find other descriptive words for those jargon words.

I ask you and others to help share some feedback on how the items names can reflect their function better, and on what’s in the tooltips.

And I think example use cases / AVD’s / scenario’s (for which Share your AVD / Share your flow is very useful) can be a good way to get going with this ‘swiss army knife’ app.

I also think it is a good idea to hide the more advanced stuff, but whát to hide under ‘Advanced users / Power users / experimental’ I don’t know.

I think this device is called Advanced Virtual Devices for a reason.

And, there is a choice, the ‘sister app’ Virtual Devices is very useful instead for the ‘average’ smart home users out there.

Just my opinion :upside_down_face:

Well, a few example’s are coming, i am rebuilding some of my flows and devices right now and fixing DC in the process.
The loop/slowness issue is resolved (dumn fault) and it’s now running gorgeously on my hp2019.

But, for Share Your Devices, i don’t yet have a Replace-With-Own screen for devices (or app variables/chronographs) used directly within AVD settings.
That will come, but this is mostly so i can replace Group on my hp2019 and loose the highest using MB app, running after Homey restart on about 22-24MB.

1 Like

2.10.14 is in test and stable btw.

2 Likes

Take your time. And I was also referring to the already existing examples of this AVD device in ‘shared AVD’s’ and ‘shared flows’.

1 Like

98a88b52-fad4-4e2b-b964-a24f122cf3c5

Okay,

I currently have/had 2 devices for each garden-part, one for sensor and one for lights.

I now have created an AVD Called Front Light (Lamp voor):

This is done with the next fields:

  • One text sensor to reflect the timer
    image

  • A number field for the Lux, connected to two devices and there Lux (Helderheid)


    image

  • A Yes/No for the Motion
    image
    image

  • A Yes/No for the Lights (for on the Sensor tab)
    image

  • And last but not least, main button

To replace the old device, i first use the flowcard from Device Capabilities: Get Flows containing Device old front light.
This gives me a list of flows and where the device-references are located, also just tags (which is the case for me, i mostly use the tags/tokens):

[
    {
        "id": "35c145ed-e9af-454b-8fc0-0a7c8d84d2fe",
        "name": "Sensor Voor",
        "flows": [
            {
                "id": "6a6b4f34-7b34-4898-8a71-7f22f56c0411",
                "name": "Sensor voor (beweging aan)",
                "conditions": true
            },
            {
                "id": "d0ee4890-986f-4fc6-9145-c59a4d967942",
                "name": "Voorsensor -> lichten (beveiliging)",
                "conditions": true
            },
            {
                "id": "a7c8967d-c033-4f08-8707-b95f74032d60",
                "name": "Verlichting Voor",
                "triggers": true
            },
            {
                "id": "08cb787a-83a1-4c88-affd-e8fd72133399",
                "name": "Kapstok Manager",
                "conditions": true
            },
            {
                "id": "f67cde27-4297-475f-8df0-f8e5ce3b7dcd",
                "name": "Voordeur Manager",
                "conditions": true
            },
            {
                "id": "58b44c10-2a97-4358-8df3-e6787d3afc60",
                "name": "Hal Manager",
                "conditions": true
            },
            {
                "id": "56d423df-861c-4d99-a365-9980fbe02ef3",
                "name": "Keuken Manager",
                "conditions": true
            },
            {
                "id": "e603c722-8c08-4cb9-9462-753e946dff52",
                "name": "Hal Manager (Kopie)",
                "conditions": true
            }
        ]
    }
]

After replaceing all tokens, running the flowcard again should give an empty array.

Personally, i’m loving this :slight_smile:

Finally, if the lights are not working, i dont have to goto Chronograph App Settings, then the Sensor Front, then the Lamp Front.
I can now open one device and have all the information in it, no flow needed :slight_smile:

Result:

image

and
image

I can push the button, and the lights are turned off/on.

3 Likes

UPDATE: the slowing down was because of a loop b/c the wrong ‘react’ use by me, it’s not a general issue


I’m back to the live app, Arie :hugs:
I sent a diag report.
The test version 2.10.16 also slows my Homey down, all I did was wait for some reaction between countless “homey is offline” messages.

Second, the functionality I’d like to see from a group of lights:

  1. When I switch the device tile on/off, or on/off per flow: turn all grouped lights on/off
  2. When one or more group lights are switched on, make the device tile ‘turn on’
  3. When the last group light is switched off, make the device tile ‘turn off’

Issue: With React option Yes, only react:
I can’t get Point 2 to work, without all group members turn on/off as well. And, when I turn a light off, while other group light(s) is/are still on, it turns on again immediately.
But what is the difference between Yes and Yes, only react
I just couldn’t test this.

Option Yes, but not from device updates is obviously not of use in this case.

1 Like

Groups:

Important to include delay and debounce.

I want to ensure that all lights in the group really switched on (sometimes not happening due to a broadcast or network hitch), so it would be nice to build in something that tests for a confirmation the member device is on/off.

Well, to be honest @Peter_Kawa , in almost all cases, this would be the one you want actually.
So much so, that i just removed the “Yes” option from React.

Yeah, you heared me right, i removed an option :wink:
Because this one, React: Yes, is to complicated and has a great potential for loops.

I will try to explain React and therefore first a little Reflect:

  • Reflect means to reflect app/device properties directly on AVD fields, like a mirror.
    All changes on the configured devices are directly reflected on the AVD field.
    This can be just one property from one devices (or app) or it can be from multiple devices, needing an calculation to be set when using multiple devices for Reflect, and there are the default ones you can pick from, like, sum, mean, min, max, all devices on, etc.
  • React appears after Reflection (devices) has been set in the settings.
  • React, like the tooltip explains, sets the property of the devices when the AVD field is changed/pressed/etc.
    So, any changes on the AVD field, like pressing a button on, is send to the devices.
    React had 3 options:
    • Yes, only React
      When selecting this option, parts of Reflection gets hidden, no more calculation, expression or debounce. Reflection itself is not happening, only reactions.
      So, changes on the devices are not reflected on the AVD.
      But changes on the AVD are send to the devices (it reacts).
    • Yes, but not from devices updates
      This is the option that will probably be most used actually @Peter_Kawa .
      This means: React: When you change the AVD field, it is send to the Devices.
      And changes on the Devices are Reflected on the AVD (so, change a dim slider on a device and the dim on the AVD will change also).
      However, it will not send this to all devices. When the AVD field is changed by a (client/grouped) device change, the AVD field itself is updated, but it will not (re) update all client-devices.
    • Yes
      This means the same as the above, devices are Reflected on the AVD field. Changes on the AVD field is Reacted/send to the client-devices. And when a client devices changes, this is send to the AVD field and then the new calculation is send to all cleitns again.
      This can created loops. Ofc’s i prevented to much looping, only value changes, but this option, i think, most people will not use it like i intend it, it will create issues, so i just pulled this option of the test version and published a new one to test.

Please note: if you had the testversion and have AVD React set to Yes or to Yes, only react, then you need to re-set an available option and press save.

Debounce is by default implemented already, set to 250 ms per device property. I might change it to also include a debouncer on setting the AVD field itself.
For delays, i don’t use any, i use the method from the DC watcher cards, because on HP2019, that method had already proven to be very good at controlling multiple devices, very, very fast after each other: each capability is set in sequence, not at once, and it waits for one to be set (or fail) before setting the next.
I did understand from @Jamie that on the HP2023, this might not be enough/working well anymore, so, if that turnes out to be true and not solveable by the firmware or something, i might indeed implement some delays.

Well, when you have React set to Yes, but not from devices update, lets say an on off button, and you also set the Calculation to True of all are True, what will happen is: you press the on/off button to On, it goes to On and starts updating devices.
It will execute the calculation for the AVD field, based on you pressing True, which is then set to all client-devices and when thus running the calculation, the response is True.
The feedback from the devices when set to true, are (on purpose!) not recieved by the AVD (this would create a loop).
However, lets say one of the lights recieved the set True command, it will true to do so.
When it fails, it will send another signla back to the AVD, and that one will be received, making the AVD field be re-calculated, and this time, it has one False in it’s devices, thus, turning the AVD field to Off.

That would be kinda of a confirmation :wink:

2 Likes

@Eternity
Please note: i found that i find tokens/tags etc, but i missed some devices-flowcards.
I’ll fix it when i can.

But here is the script itself that is used:

1 Like

Okay, to make the React and Reflect less complicated, i also just removed (in develop) the Debounce option per-field when using Reflection: Devices.

It’s now always set to 250ms by default.
I already have it on leading, maxwait:250 and trailing.
Meaning, when a device is suddenly updating like crazy, the very first and every 250ms, the last received, are reflected, all the ones in between are ignored.

1 Like

Sorry for the misunderstanding, when we were discussing this it was in regards to older devices not the new HP23. Which actually seems to work pretty well - with the exception of the normal issues you see when there is to much traffic in the air.

All these should work by my example.
You just need this one button:

  • Naam: Lights (lampen)
  • Show As: OnOff
  • Create Flowcards, yes (this is not needed for what you want)
  • Reflect: Devices
  • Device 1: A light with OnOff
  • Property 1: OnOff
  • Device 2: A light with OnOff
  • Property 2: OnOff
  • Calculation: True if any property is true
  • React: Yes, but not from devices updates

Thats it, i now control both Lights with one button, when one (or more) light(s) is turned on, the AVD will be switched to on, and when all lights are off, the AVD is off.

1 Like

Thanks for all the effort, time and the elaboration Arie! Very appreciated.

Yes I now get how it works.
I installed v2.10.17 and it now does what I’d like it to do :tada:
From a user’s perspective, I would name it like, “Yes, but don’t update other devices”