Unfortunately the new version is not yet available in the Play store. Any chance I can download the APK directly?
I keep having an issue where HD+ will update the presence sensor for presence tracking with a location about 1.5 miles away, which triggers a depart, but immediately (less than a second) sends another location event saying it entered the geofence.
Itās happening randomly on both my phone (Pixel 7) and my GFās phone (Samsung Galaxy S24). It happens while weāre at home and not even using the phone.
I assume the app just gets the location from the OS, but Iām not sure if there is a way to see location changes at a system level. I can look in Google Maps and see my timeline, and it shows me taking my kids to and from school today from 7:08 - 7:47 but then says I have been home ever since.
HD+ has this in the log for 10:57:
I do have it set in permissions so that HD+ can see location all the time and to use precise location, and the physical activity.
Just wondering if anyone else has this issue or if there is something I can do to prevent this.
I donāt see that option on the driver capabilities Driver Capability List | Hubitat Documentation
Guessing itās Nest only. Can you send me the device details as seen via MakerAPI? Also, how do you detect and enter into ECO mode? Driver Capability List | Hubitat Documentation
I wonder if newer Hub versions log this now.. canāt say Iāve seen it before. Also, itās good to know the exact cloud limit (128k).. donāt remember if that was documented anywhere.
How many devices do you have configured? Iāve got 118 devices and it looks like that API results in 68k. Iāve got 73 devices added to MakerAPI.
Of course some devices return a LOT more data than others.. look at this blink camera:
{
"name" : "Camera-88951",
"label" : "Porch Camera",
"type" : "BlinkChild-Camera",
"id" : "544",
"date" : "2026-05-26T18:59:34+0000",
"model" : null,
"manufacturer" : null,
"room" : null,
"roomId" : null,
"capabilities" :
[
"MotionSensor",
"ImageCapture",
"Actuator",
"Battery",
"TemperatureMeasurement",
"Switch",
"Sensor"
],
"attributes" :
{
"First Boot" : null,
"dataType" : "STRING",
"values" : null,
"Serial" : null,
"Temp Alert Status" : null,
"Motion Regions Compatible" : null,
"Account ID" : "XXXXX",
"Early Termination" : null,
"temperature" : "79",
"Siren Volume" : null,
"Snapshot Enabled" : null,
"Flip Video" : null,
"Temp Alarm Enable" : null,
"LFR 108 Wakeups" : null,
"Battery Alert Status" : "false",
"Battery Signal" : null,
"Dev 2" : null,
"Early Termination Supported" : null,
"Early Notification Compatible" : null,
"Feature Plan ID" : null,
"Local Connection Certificate ID" : null,
"Video Recording Optional" : null,
"WiFi Signal" : null,
"Battery Status" : "ok",
"Time DHCP Lease" : null,
"Alert Repeat" : null,
"Thumbnail Image" : null,
"Firmware Version" : null,
"MFG Mez Range" : null,
"Alert Tone Volume" : null,
"MFG Main Range" : null,
"Motion Sensitivity" : null,
"Light Sensor CH0" : null,
"Video Recording Enable" : null,
"Clip Bitrate" : null,
"Flip Video Compatible" : null,
"Unit Number" : null,
"LiveView Rate" : null,
"Light Sensor Data Valid" : null,
"Battery Voltage Hysteresis" : null,
"Last Temp Alert" : null,
"Time DNS Resolve" : null,
"Last Snapshot Event" : null,
"Battery Alert Count" : null,
"Alert Tone Enable" : null,
"Battery Number" : null,
"MFG Main Type" : null,
"Snapshot Period Minutes Options" : null,
"Last Command ID" : null,
"Media ID" : null,
"Options" : null,
"Temp Adjust" : null,
"Total TB Wakeups" : null,
"LFR TB Wakeups" : null,
"Network ID" : "XXXXX",
"Dev 3" : null,
"switch" : "on",
"LiveView Seconds" : null,
"Light Sensor Data New" : null,
"Temperature Alert Count" : null,
"Battery Check Time" : null,
"Local Storage Enabled" : null,
"Retry Count" : null,
"Socket Failure Count" : null,
"Camera Key" : null,
"Continue Warning" : null,
"Battery Alert Account" : null,
"Usage Rate" : null,
"Enabled" : null,
"Light Sensor CH1" : null,
"New Command" : null,
"Night Vision Exposure" : null,
"Snapshot Compatible" : null,
"Record Audio" : null,
"Alert Interval" : null,
"Battery Voltage Threshold" : null,
"Record Audio Enable" : null,
"LFR Strength" : null,
"Deleted" : null,
"motion" : "inactive",
"Illuminator Enable" : null,
"LiveView Continue Interval" : null,
"Snapshot Period Minutes" : null,
"Camera ID" : null,
"DriverVersion" : null,
"Motion Regions" : null,
"Local Storage Compatible" : null,
"Time WLAN Connect" : null,
"image" : "<img src=\"http://192.168.0.200/local/Camera-88951_Image.jpg\">",
"LiveView Enabled" : null,
"Auto Test" : null,
"Issues" : "[]",
"Usage" : null,
"LFR Sync Interval" : null,
"Privacy Zones Compatible" : null,
"Invert Image" : null,
"LFR Alert Count" : null,
"Thumbnail File" : "/api/v3/media/accounts/XXXXX/networks/XXXXX/xt2/XXXXX/thumbnail/thumbnail.jpg?ts=1779216623&ext=",
"Time 108 Boot" : null,
"Armed" : "false",
"Illuminator Intensity" : null,
"Max Resolution" : null,
"Video Length" : null,
"WiFi Strength" : null,
"WiFi Connect Failure Count" : null,
"LiveView Duration" : null,
"Type" : "xt2",
"MAC Address" : null,
"Temp Interval" : null,
"Trigger Source" : null,
"IPv" : null,
"Lifetime Count" : null,
"Temp Hysteresis" : null,
"DriverName" : null,
"Camera Seq" : null,
"Lifetime Duration" : null,
"Temp Alert State" : null,
"Temp Min" : null,
"Clip Max Length" : null,
"Battery Voltage" : "170",
"Error Codes" : null,
"Clip Seconds" : null,
"Flip Image" : null,
"Local Storage Status" : null,
"Early PIR Compatible" : null,
"Name" : "Porch Camera",
"Status" : "done",
"Arm String" : "Armed",
"Last LFR Alert" : null,
"Dev 1" : null,
"WiFi Timeout" : null,
"Siren Enable" : null,
"MFG Mez Type" : null,
"Temp Max" : null,
"Illuminator Duration" : null,
"Trigger ID" : null,
"Video hz" : null,
"Liveview Bitrate" : null,
"Join Available" : null,
"LFR Signal" : null,
"Created" : null,
"Thumbnail" : "<img height=\"25%\" width=\"25%\" src=\"http://192.168.0.200/local/Camera-88951_Image.jpg\">",
"FW Git Hash" : null,
"Join State" : null,
"DHCP Failure Count" : null,
"Trigger Time" : null,
"Time First Video" : null,
"Battery Alarm Enable" : null,
"Updated" : "Tue May 19 14:50:26 EDT 2026",
"DriverStatus" : null,
"Motion Detection Enabled" : "true",
"Submit Logs" : null,
"LiveView RTSP" : null,
"Total 108 Wakeups" : null,
"BatteryValue" : "ok",
"battery" : "75",
"Battery Voltage Interval" : null,
"Account" : null,
"Last Battery Alert" : null,
"Clip Rate" : null,
"Video Quality" : null,
"PIR Rejections" : null,
"Early Notification" : null,
"ID" : "88951",
"Clip Warning Threshold" : null,
"Tile" : null,
"AC Power" : null,
"Ring Device ID" : null,
"Night Vision Exposure Compatible" : null,
"Buzzer On" : null
},
"commands" :
[
{
"command" : "GetCameraInfo"
},
{
"command" : "GetCameraLiveView"
},
{
"command" : "GetNewVideo"
},
{
"command" : "GetThumbnail"
},
{
"command" : "MotionDetectionDisable"
},
{
"command" : "MotionDetectionEnable"
},
{
"command" : "SystemArm"
},
{
"command" : "SystemDisarm"
},
{
"command" : "off"
},
{
"command" : "off"
},
{
"command" : "on"
},
{
"command" : "on"
},
{
"command" : "take"
}
]
},
If I can detect or āguessā when thereās too many devices to be returned via cloud mode I could break up the /devices/all request to a single /devices request and then fetch individual devicesā attributes.
Thereās a link in the first post - apk download - You can tell youāre on this version if you see a check for updates option in about menu
Iāve did a lot of testing when I first implemented this and what Iād do is drive around and then go through the device logs looking for events like what you shared.. it used to take some time to go line by line but when working on the iOS version I did the same thing and this time asked AI to look at the logs and it reduced the process down quite a bit..
All to say that if youāre willing to send the logs I should be able to track down the issue. Youād first have to put the app into debug mode and then just wait until you see the issue happen again. I think thereās enough geofence logging in debug mode to really narrow down what happened. Anyway, if you send them just let me know here or via DM and Iāll look.
Perfect! This version solves the issue. I am now up and running again with a new token. Thanks ![]()
I just sent you the logs from today.
version 1.0.2813 (beta)
- better geofencing logic
- save/restore last image picker source
- remove The Noun Project image source
- added Iconify image source
Geofencing should now verify spurious OS events that arenāt very accurate. I also made some image picker changes to match the newer version of HD+ ā adding Iconify as an image source.
Hello - Pretty new to Hubitat and am trying to make use of your app but am also getting blocked at the first step of just trying to detect the hubitat with an āInvalid Access Tokenā error.
I have tried installing the Maker API app in multiple ways (I am still not sure exactly what settings I should use for the install). Fully updated the package manager and my Hubitat OS. I have also tried manually entering the settings. My Hubitat may have had another IP Address in the past, but I am not sure how I could check that or whether that is actually an issue. Pretty stuck at this point and any help would be appreciated!
@jpage4500 Have you considered open-sourcing HD+? I think it could unlock a lot of AI-powered enhancements from the community.
@jpage4500 Unfirtunately I deleted a device within HD+ after pusihing it by Maker API instead of hiding it. Now I would like to āre-addā it to HD+ again. Any ideas how to do this?
I tried to clear HD+ cache, but without kuck. I also tried to reset and set the device again in Maker API, but without any luck. Itās neither shown in the dashboard, nor in the hidden device folder.
The device is shown on a different HD+ dashboard, which states everything is working fine and itās a locally issue with my Pixel 10 Pro.
Thanks for any help with this.
Hmm.. you shouldn't be able to delete a device that's returned by MakerAPI - the app should have just hidden it. If it doesn't show up under More Options -> View Hidden Devices the only other place you could check is if it's in a folder.. Is that possible?
I just checked the other folders but did not find it anywhere. The menu with hidden devices shows just a couple of devices but I can't say if thatās correct because I use the dashboard for a quite long time.
That's a bit strange
My apologies, I found the device in a sub-sub-folderā¦ā¦..
Sorry for any confusion.
Have a nice weekend
@jpage4500 Iām still very interested in having the folder icons reflect the state of its content items, including color.
Thatās the new multi-platform version of this app. Iām referring to the original.




