[APP][Pro] Custom Logic

If you installed the app, you can still use it.

Custom Logic – Changelog

v2.0.0 - 2.0.2 – Advanced Tokens & Supercharged Calculations

New: Token System

  • Added persistent advanced tokens
  • Added dynamic token namespaces
  • Added token existence checks
  • Added token delete support
  • Added token change triggers
  • Added reactive/computed tokens
  • Added token expression matching

New Flow Cards

Triggers

  • Token changed
  • Number above threshold
  • Number below threshold

Conditions

  • Token exists
  • Token expression is true
  • Number is greater than
  • Number is less than
  • Text contains value
  • Text exactly equals

Actions

  • Set token
  • Get token
  • Delete token
  • Compute token
  • Advanced calculate

Supercharged Calculation Engine

Added support for:

  • Regex
  • Arrays
  • Objects
  • JSON parsing
  • Date math
  • Timezone handling
  • Statistical calculations
  • Trigonometry
  • Logarithms
  • Unit conversion
  • Random functions
  • Nested expressions
  • Expression evaluation
  • Boolean logic
  • Conditional expressions
  • Advanced math operations

Examples

Basic Math

1 + 1
(10 * 5) / 2
pow(2, 8)
sqrt(144)

Statistical Functions

sum([1,2,3,4,5])
avg([10,20,30])
median([1,5,9,10])
min([5,2,9])
max([5,2,9])

Trigonometry

sin(90)
cos(45)
tan(180)

Logarithms

log(100)
ln(10)

Random Functions

random(1,100)

Arrays & Objects

[1,2,3,4]
{"name":"Homey","version":2}

JSON Parsing

json('{"temperature":22}')

Regex

regex('hello123', '[0-9]+')
regex('test@email.com', '^[^@]+@[^@]+\.[^@]+

Date Math

daysBetween('2025-01-01','2025-12-31')
addDays(now(), 7)
formatDate(now(), 'YYYY-MM-DD')

Timezones

timezone('Europe/Amsterdam')
convertTimezone(now(), 'UTC', 'Europe/Amsterdam')

Token Examples

token('energy.today')
token('energy.today') > 5
token('weather.temperature') < 0
token('house.mode') == 'away'

Boolean Logic

true && false
(5 > 2) && (10 < 20)

Conditional Expressions

if(temperature > 20, 'warm', 'cold')

Unit Conversion

convert(100, 'cm', 'm')
convert(5, 'km', 'mi')

Advanced Examples

avg([
  token('sensor.livingroom'),
  token('sensor.kitchen'),
  token('sensor.office')
])
if(token('energy.today') > 10, 'high usage', 'normal usage')
regex(token('alarm.message'), 'error|warning')
sum([
  token('solar.today'),
  token('battery.output')
]) - token('house.usage')

Fixes

  • Fixed missing FlowCard handlers
  • Fixed Homey publish validation errors
  • Fixed TypeScript build issues
  • Fixed runtime operator parsing
  • Fixed token title naming
  • Fixed FlowCard placeholders
  • Fixed install/build packaging
  • Removed broken cached build folders
  • Improved Homey compatibility

Will the app be re-released in the Homey App Store? I no longer have it installed.