On HomeyPro early 2023 version 10.0.0-rc.122, I found it necessary to give both “athomID” and “id” parameters for a successful push_text.
Example code:
// Tested using versions:
// - Homey Pro (Early 2023), version 10.0.0-rc.122
// - Homey Web App version 1.9.58
// Status as of 15-July-2023: working
// send message to specified user, or if none specified, then first user in getUsers list
var user_name = (typeof args[0] === 'string')
? args[0]
: '';
var user_athom_id = null;
var user_id = null;
if (user_name.length) {
log('Looking-up user:', user_name);
} else {
log('No user name specified, so will take first user from getUsers list');
}
log('Get user details');
users = await Homey.users.getUsers();
var found_user = false;
for (const user of Object.values(users)) {
log(user.name, '; id=', user.id, '; athomId=', user.athomId);
if ( (!user_name.length || (user.name == user_name)) && ! found_user) {
if (!user_name.length) {
user_name = user.name;
log('Using first user from getUsers list:', user_name)
}
user_athom_id = user.athomId;
user_id = user.id;
found_user = true;
}
}
var notification_text = `'Saying hello to ${user_name}'`
if (!user_id) {
log('Failed to find user: ', user_name);
} else { // user found
log('Sending push message to:', user_name, '; id=', user_id, '; athomId=', user_athom_id);
await Homey.flow.runFlowCardAction(
{
uri: 'homey:manager:mobile',
id: 'homey:manager:mobile:push_text',
args: {
user: {
athomId: user_athom_id,
id: user_id
},
text: notification_text
},
}
)
.then(() => log('runFlowCardAction OK'))
.catch(error => log(`runFlowCardAction Error:`, error));
}