Homey.zigbee.runCommand

What kind of «commands» are possible with this API apart from «PING» and «UPDATE_NODES»?

I would ideally like to update the «Occupancy» attribute of a zigbee thermostat but don’t know whether that is possible in the Web API (or Homeyscript)?

    readonly STARTING: "STARTING";
    readonly IDLE: "IDLE";
    readonly RESET: "reset";
    readonly ADD_NODE: "ADD_NODE";
    readonly REPAIR_NODE: "REPAIR_NODE";
    readonly ADD_NODE_ABORT: "ADD_NODE_ABORT";
    readonly EXTENDED_INTERVIEW: "EXTENDED_INTERVIEW";
    readonly EXTENDED_INTERVIEW_ABORT: "EXTENDED_INTERVIEW_ABORT";
    readonly INTERVIEW: "INTERVIEW";
    readonly UPDATE_NODES: "UPDATE_NODES";
    readonly CHANGE_CHANNEL: "CHANGE_CHANNEL";
    readonly CREATE_NODE_BINDINGS: "CREATE_NODE_BINDINGS";
    readonly VERIFY_FIRMWARE: "VERIFY_FIRMWARE";
    readonly FLASH_FIRMWARE: "FLASH_FIRMWARE";
    readonly PING: "PING";

Updating attributes can only be done from an app, not using the Web API. But attributes like occupancy typically are read-only anyway.

Thanks, Robert! Very interesting! Hours of googling and searching here and github gave no clue about the commands.

And you are obviously right about the Occupancy_sensing cluster, but in this case there’s a physical button on the thermostat to turn on «away mode» which toggles a certain attribute that in turn changes the Occupancy_sensing cluster internally/«server side». But Namron’s Homey app/driver doesn’t expose it unlike with other zigbee implementations.

(Side note: also the links to the Namron app’s source, support etc are not working, and the repository seems to have been deleted from github)

Athom should require “official” apps to always provide a way to contact the developer :roll_eyes:

FWIW, the values I posted are from the @athombv/homey-core package that you can only access if you jailbreak your Homey.

Oh no. I was mulling making my first ever app this weekend after having scoured a lot of source code, when you intrigue me with yet another rabbit-hole; jailbreaking…:sweat_smile:

I guess it’s hard for Athom as well to warn or complain to an app author that has severed ties (addresses), but I agree and think Athom should consider a warning box about it, like with incompatible apps.

Since neither Homeyscript or the Web API allow for writing zigbee attributes/commands, I have to reverse engineer (well…had it been compiled) and duplicate the manufacturer’s app to solve this. BTW: Can I access the files somewhere without jailbreaking …?

(Side note: please expand the Web API, Athom, as there’s not much less security involved in using the Web API as compared to installing an app (not even mentioning jailbreaking)).

Since it’s Javascript, you can access the source files quite easily as well if you jailbreak your Homey.

Yes, you can install and build this tool: GitHub - raspberrypi/usbboot: Raspberry Pi USB booting code, moved from tools repository

Then with the rpiboot executable you can mount your Homey’s storage over USB as a mass storage device. Your OS does need to support ext4 filesystems, as those are used for the Homey partitions.

Finally found the files in the very helpful github repository «LostHomeyApps». And from there I traced a fork which may be the active one submitting app updates. Commented about the unhandled feature there and we’ll just see.

Meanwhile, I tried to just change the device json via posting to the web api from homeyscript, but even first changing the unexposed attribute/capability to «setable» didn’t make the «away mode» stick to «true» it seems. BUT the mere attempt to directly change the value to true turned off the thermostat, so that’s something….