[RELEASE] HD+ - Android Dashboard

That's not clear. What I should have said is that the folder titles are switched. The folders are all there and have the correct contents but the titles don't match the contents.

I'm not sure if this is a good idea -- going back and forth -- Would it be possible, or even useful, to have a way to auto export/import from the same file on google drive -- like once an hour or even once a day. I find myself updating, changing, then running around the house to import. Then I go right back to messing with the one I have on my desk and doing it all over again.

As long as I can turn it off. :wink:

1 Like

Apologies if this is somewhere :point_up_2: but I couldn't find it...

In HE I have created a virtual device of type "Virtual Omni Sensor" which has a 'variable' attribute that I can write text to in node-red. Is there a way to setup this device in this app so I can see that text? I can in the HE dashboard but the closest I've come in this app is selecting Multiple Value Sensor but the text doesn't appear there, just a nice blank tile except for the title.

Agreed.

Color Wheel issue. The wheel comes up to change icon color on my phone, but not on the Fire 10 Tabs. I thought maybe it was a landscape vs portrait mode. Same issue. The colored bar comes up the hex and the slider - but no color wheel on the Fire Tabs.

That sounds very interesting...I don't remember seeing that before.

@jpage4500 - FYI, your boss called, and they haven't seen you in a month and wonder where you are.

:wink:

Seriously, I don't know how you have any life outside working on this app with all the great stuff you're doing. Thank you for the amazing service you're doing for the community.

1 Like

Where does one go a nice icon pack for this?

:point_up_2: [RELEASE] Hubitat Dashboard - Android dashboard app

What time of device is this? I don't see anything with a 'variable' attribute in the docs

Can you send the JSON for this device (capabilities, attributes, commands)?

It's a built-in HE device
Screenshot_2020-11-15_17-55-43

Since it's a built-in I don't think I can. Maybe I just don't know where to look. Here is the device page


You can see the attribute I'm talking about in the upper right.

I just started the timer for 2 hours and here is the HE tile that displays the time left and that I'm trying to duplicate in your app
Screenshot_2020-11-15_18-03-45

I remembered reading about this in a topic here so I went looking and found

This of use?

1 Like

D'oh! Didn't think it might be public. Thanks, I'm sure it will help @jpage4500

RE: Omni Sensor & JSON - I added this device to my HE and then added it to the MakerAPI.

At that point, you can get the JSON response returned from Maker API (and what's received in the dashboard app) by clicking on the 'get all devices w/full details' link (Maker API settings). You can just show the omni device only by replacing "all" with the device ID.

The final result should look something like this:
http://192.168.0.202/apps/api/38/devices/415?access_token=41ae***

{
  "id": "415",
  "name": "test sensor",
  "label": "test sensor",
  "attributes": [
    {
      "name": "acceleration",
      "currentValue": "inactive",
      "dataType": "ENUM",
      "values": [
        "inactive",
        "active"
      ]
    },
    {
      "name": "carbonDioxide",
      "currentValue": 350,
      "dataType": "NUMBER"
    },
    {
      "name": "carbonMonoxide",
      "currentValue": "clear",
      "dataType": "ENUM",
      "values": [
        "detected",
        "tested",
        "clear"
      ]
    },
    {
      "name": "contact",
      "currentValue": "closed",
      "dataType": "ENUM",
      "values": [
        "closed",
        "open"
      ]
    },
    {
      "name": "energy",
      "currentValue": null,
      "dataType": "NUMBER"
    },
    {
      "name": "humidity",
      "currentValue": 35,
      "dataType": "NUMBER"
    },
    {
      "name": "illuminance",
      "currentValue": 50,
      "dataType": "NUMBER"
    },
    {
      "name": "motion",
      "currentValue": "inactive",
      "dataType": "ENUM",
      "values": [
        "inactive",
        "active"
      ]
    },
    {
      "name": "power",
      "currentValue": null,
      "dataType": "NUMBER"
    },
    {
      "name": "presence",
      "currentValue": "present",
      "dataType": "ENUM",
      "values": [
        "present",
        "not present"
      ]
    },
    {
      "name": "smoke",
      "currentValue": "clear",
      "dataType": "ENUM",
      "values": [
        "clear",
        "tested",
        "detected"
      ]
    },
    {
      "name": "temperature",
      "currentValue": 70,
      "dataType": "NUMBER"
    },
    {
      "name": "variable",
      "currentValue": "2:00",
      "dataType": "STRING"
    },
    {
      "name": "water",
      "currentValue": "dry",
      "dataType": "ENUM",
      "values": [
        "wet",
        "dry"
      ]
    }
  ],
  "capabilities": [
    "IlluminanceMeasurement",
    {
      "attributes": [
        {
          "name": "illuminance",
          "dataType": null
        }
      ]
    },
    "TemperatureMeasurement",
    {
      "attributes": [
        {
          "name": "temperature",
          "dataType": null
        }
      ]
    },
    "RelativeHumidityMeasurement",
    {
      "attributes": [
        {
          "name": "humidity",
          "dataType": null
        }
      ]
    },
    "ContactSensor",
    {
      "attributes": [
        {
          "name": "contact",
          "dataType": null
        }
      ]
    },
    "MotionSensor",
    {
      "attributes": [
        {
          "name": "motion",
          "dataType": null
        }
      ]
    },
    "PresenceSensor",
    {
      "attributes": [
        {
          "name": "presence",
          "dataType": null
        }
      ]
    },
    "WaterSensor",
    {
      "attributes": [
        {
          "name": "water",
          "dataType": null
        }
      ]
    },
    "AccelerationSensor",
    {
      "attributes": [
        {
          "name": "acceleration",
          "dataType": null
        }
      ]
    },
    "EnergyMeter",
    {
      "attributes": [
        {
          "name": "energy",
          "dataType": null
        }
      ]
    },
    "PowerMeter",
    {
      "attributes": [
        {
          "name": "power",
          "dataType": null
        }
      ]
    },
    "SmokeDetector",
    {
      "attributes": [
        {
          "name": "smoke",
          "dataType": null
        }
      ]
    },
    "CarbonMonoxideDetector",
    {
      "attributes": [
        {
          "name": "carbonMonoxide",
          "dataType": null
        }
      ]
    },
    "CarbonDioxideMeasurement",
    {
      "attributes": [
        {
          "name": "carbonDioxide",
          "dataType": null
        }
      ]
    }
  ],
  "commands": [
    "COClear",
    "CODetected",
    "accelerationActive",
    "accelerationInactive",
    "arrived",
    "close",
    "departed",
    "dry",
    "motionActive",
    "motionInactive",
    "open",
    "setCarbonDioxide",
    "setEnergy",
    "setIlluminance",
    "setPower",
    "setRelativeHumidity",
    "setTemperature",
    "setVariable",
    "smokeClear",
    "smokeDetected",
    "wet"
  ]
}

Anyway, long-story short this device looks like it supports all of the sensor capabilities. But, I still can't figure where "variable" comes from (ie: which capability is it related to?). So, I'm not sure what device type I can use to support this.. I'll do some searching on the forums and maybe it'll be explained somewhere

1 Like

Thanks for the pointer. Here is the info though I don't know how to conveniently format it.

{"id":"993","name":"De-Icing Time Left","label":"De-Icing Time Left","attributes":[{"name":"acceleration","currentValue":null,"dataType":"ENUM","values":["inactive","active"]},{"name":"carbonDioxide","currentValue":null,"dataType":"NUMBER"},{"name":"carbonMonoxide","currentValue":null,"dataType":"ENUM","values":["detected","tested","clear"]},{"name":"contact","currentValue":null,"dataType":"ENUM","values":["closed","open"]},{"name":"energy","currentValue":null,"dataType":"NUMBER"},{"name":"humidity","currentValue":null,"dataType":"NUMBER"},{"name":"illuminance","currentValue":null,"dataType":"NUMBER"},{"name":"motion","currentValue":null,"dataType":"ENUM","values":["inactive","active"]},{"name":"power","currentValue":null,"dataType":"NUMBER"},{"name":"presence","currentValue":null,"dataType":"ENUM","values":["present","not present"]},{"name":"smoke","currentValue":null,"dataType":"ENUM","values":["clear","tested","detected"]},{"name":"temperature","currentValue":null,"dataType":"NUMBER"},{"name":"variable","currentValue":"stopped","dataType":"STRING"},{"name":"water","currentValue":null,"dataType":"ENUM","values":["wet","dry"]}],"capabilities":["IlluminanceMeasurement",{"attributes":[{"name":"illuminance","dataType":null}]},"TemperatureMeasurement",{"attributes":[{"name":"temperature","dataType":null}]},"RelativeHumidityMeasurement",{"attributes":[{"name":"humidity","dataType":null}]},"ContactSensor",{"attributes":[{"name":"contact","dataType":null}]},"MotionSensor",{"attributes":[{"name":"motion","dataType":null}]},"PresenceSensor",{"attributes":[{"name":"presence","dataType":null}]},"WaterSensor",{"attributes":[{"name":"water","dataType":null}]},"AccelerationSensor",{"attributes":[{"name":"acceleration","dataType":null}]},"EnergyMeter",{"attributes":[{"name":"energy","dataType":null}]},"PowerMeter",{"attributes":[{"name":"power","dataType":null}]},"SmokeDetector",{"attributes":[{"name":"smoke","dataType":null}]},"CarbonMonoxideDetector",{"attributes":[{"name":"carbonMonoxide","dataType":null}]},"CarbonDioxideMeasurement",{"attributes":[{"name":"carbonDioxide","dataType":null}]}],"commands":["COClear","CODetected","accelerationActive","accelerationInactive","arrived","close","departed","dry","motionActive","motionInactive","open","setCarbonDioxide","setEnergy","setIlluminance","setPower","setRelativeHumidity","setTemperature","setVariable","smokeClear","smokeDetected","wet"]}

I figured out how to handle this.. I'll just add a new device type "Variable String" which will be an option if the device has a "variable" attribute in it. Easy enough to add in

1 Like

Thanks so much! I'm sorry this turned out to be such an effort.

version 1.0.714 (beta)

  • add new button popup dialog for displaying multiple buttons on a device
  • allow editing button labels (ie: replace "1" with "Kitchen")
  • add new device type: "Variable String" which displays the variable attribute of a device (if set)
  • simplify Blink camera states & icons

I added a small icon on button device types which will display a popup showing all of the buttons available. The button labels now can be edited as well to give them more meaningful names.


I'm still not 100% satisfied with the button UI.. at some point it'd be nice to be able to set icons and/or colors to each button. But, this seems like a step in the right direction.

Also note that any of these buttons can be clicked, held or double-clicked. Each of these actions will call a different method on the HE (press/hold/doubleTap). I'm not sure how many people actually use all of these actions but it's there in case you do.

There's also a new "Variable String" device type which you can use if your device has a "variable" attribute.

3 Likes

Thank you! I'll try it out in a few hours, after I get the last yard work of the season done.

I've decided to use tap and hold to select the hours I mentioned here

I use the "tap" to select the face value and "hold" to select face value + 4 so I get 1-8 hours which is plenty for my use case.

FYI, I decided to not use "double-tap" because the timeout is too short and I wind up with 2 taps instead. This is NOT a complaint, just info.