尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Name Change: This app was previously known as "Boolean Toolbox". The name was changed to "Smart (Components) Toolkit" to better reflect the expanded functionality beyond just boolean logic - now including state management, scene control, and flow utilities.
Advanced logic and state management for your Homey automations. Create smart devices that react to multiple inputs with customizable formulas, and manage device states with powerful capture/restore functionality.檢視完整 README ↗Name Change: This app was previously known as "Boolean Toolbox". The name was changed to "Smart (Components) Toolkit" to better reflect the expanded functionality beyond just boolean logic - now including state management, scene control, and flow utilities.
📚 Full Documentation: https://tiwas.github.io/SmartComponentsToolkit/
Advanced logic and state management for your Homey automations. Create smart devices that react to multiple inputs with customizable formulas, and manage device states with powerful capture/restore functionality.
v1.10.38 test — New Presence+ triggers start a Flow only after one selected person, or everyone, has remained away for a chosen number of minutes; returning home cancels the pending trigger, and a later departure is re-armed even if the previous trigger call is still finishing. Circadian Light Group Collections now also report Is paused when a member group is paused. See the Presence+ guide and Circadian Light Group guide.
Test and build your logic before deploying:
A floating, always-on-top desktop widget that lets you run Homey flows from any platform you're working on, with local favorites organized into folders and live Homey notifications surfaced as on-screen toasts.
apps/dashboard/ (with framework-agnostic logic in apps/dashboard/shared/)See apps/dashboard/README.md for setup, OAuth scopes and build instructions.
Combine the same capability from two or more Homey devices into one live virtual sensor, alarm, or text value.
| Feature | Description |
|---|---|
| Setup | Visual pairing wizard - select capability → calculation → source devices |
| Numbers | Average, minimum, maximum, sum, median |
| Booleans | Any/all, majority, count on, percentage on |
| Text / time | Most common, min/max, newest, circular average clock time |
| Flow triggers | Any value change, or numeric change above a fixed/percentage threshold |
📚 Read Composite Device guide →
The easiest way to create boolean logic with a visual pairing wizard.
| Feature | Description |
|---|---|
| Setup | Visual pairing wizard - select zone → device → capability |
| Inputs | Dynamic (2-10, auto-expands based on formula) |
| Formulas | Single formula per device |
| Best for | Simple setups, beginners |
Powerful device for advanced users who need multiple formulas or prefer JSON configuration.
| Feature | Description |
|---|---|
| Setup | Quick add with manual JSON configuration |
| Inputs | Dynamic (2-10, auto-expands based on formula) |
| Formulas | Multiple independent formulas per device |
| Best for | Advanced users, multi-formula needs |
Note: Logic Unit X (2, 3, 4...10 inputs) are legacy devices with fixed input counts - use the new Logic Unit instead.
Capture and restore device states. Create "scenes" by storing the current state of multiple devices and applying them later with a single action.
| Feature | Description |
|---|---|
| Setup | Visual pairing wizard - select zones and devices |
| Values | Fixed at setup time |
| Use case | Predefined scenes (Movie Night, Cleaning, etc.) |
Key features:
Dynamic state capture with templates, named slots, and push/pop stack operations.
| Feature | Description |
|---|---|
| Setup | Visual pairing wizard - define template of devices/capabilities |
| Values | Captured at runtime (not fixed) |
| Named states | Store multiple named snapshots |
| Stack | Push/pop for temporary state management |
Key features:
Example use case:
WHEN: Doorbell rings
THEN: Push current state to stack
THEN: Set all lights to 100%
THEN: Pop state (restore previous) [Homey Flow delay: 5 minutes]
Use Homey's built-in Flow delay for pauses like this. Homey stops app Flow cards after 60 seconds, so the app's own Wait card is limited to 55 seconds.
📚 Read State Capture Device guide →
Virtual light device that adjusts brightness and color temperature for a group of real lights based on time, sun position or ambient lux.
| Feature | Description |
|---|---|
| Schedule | Per anchor: clock time / solar event / lux sensor crossing |
| Solar events | Sunrise, sunset, civil/nautical/astronomical dawn/dusk, golden hour, blue hour, solar noon/midnight — with offset and polar fallback |
| Light profile | Per-phase dim + temperature (optional own morning profile), red mode threshold |
| Outdoor source | Astronomical / lux sensor / Open-Meteo / MET.no / external |
| Per-light | Enable, prewarm, allow red mode, min/max dim |
Key features:
Install via test channel: homey.app/a/no.tiwas.booleantoolbox/test/
📚 Read Circadian Light Group guide →
App Settings can generate a local diagnostic report and open a new GitHub issue with the report prefilled. The report includes app uptime, recent warnings/errors and stack traces, anonymous device counts, Circadian Light Group scheduler/member load, and available CPU, memory, and storage data. Common identifiers and secrets are redacted, nothing is uploaded automatically, and the report remains editable before submission.
These flow cards work independently - no device setup required.
Simple GO/NO GO flow control without needing variables or devices. Gates persist in memory until changed.
| Feature | Description |
|---|---|
| States | GO (open) or NO GO (closed) |
| Wait condition | Pause flow until gate becomes GO (with timeout, max 55 seconds) |
| Background wait | Wait minutes or hours for GO, then fire a trigger |
| Control | Open/close gates from any flow |
Flow Cards:
opened, result (GO/TIMEOUT), waited_secondsHomey's 60-second Flow card limit: Homey stops every app Flow card after 60 seconds. The Wait for GO condition therefore ends with an error after 55 seconds if the gate is still NO GO, even if its timeout is longer. For longer waits, use Start waiting for Conditional Gate GO together with the Conditional Gate wait finished trigger. In an Advanced Flow both cards can sit on the same canvas.
Example:
Flow 1 - Motion detected:
WHEN: Motion sensor triggered
THEN: Modify Conditional Gate "allow_lights" → GO
Flow 2 - Turn on lights:
WHEN: Door opened
AND: Gate "allow_lights" is GO
THEN: Turn on lights
Flow 3 - Disable at night:
WHEN: Time is 23:00
THEN: Modify Conditional Gate "allow_lights" → NO GO
Long wait example (turn the razor off after 2 minutes, or earlier on GO):
WHEN: Razor turned on
THEN: Modify Conditional Gate "Razor" → NO GO (re-arm the gate)
THEN: Start waiting for Conditional Gate GO "Razor" (default: NO GO, timeout: 2 minutes)
WHEN: Conditional Gate wait finished "Razor"
THEN: Turn off Razor
(optional: use the Result tag — GO = released early, TIMEOUT = 2 minutes passed)
WHEN: <something should end the wait early>
THEN: Modify Conditional Gate "Razor" → GO
Starting the wait again for the same gate (for example when the razor is turned on again) restarts the countdown; the replaced wait does not fire the trigger.
Limitations: Gate states and pending waits live in memory. They are lost when the app restarts (update, Homey reboot, crash); a pending background wait then never fires its trigger.
📚 Read Conditional Gates guide →
Homey's presence can briefly switch to Away and back. These triggers debounce that signal before a Flow is allowed to continue:
The countdown runs in the background, survives an app restart, and fires once per continuous absence. No Flow card is kept open while it waits.
Waiter Gates let your flows pause and wait for device states to change, with YES/NO outputs:
| Feature | Description |
|---|---|
| Wait condition | Pause flow until device capability reaches target value (max 55 seconds) |
| YES path | Value matches (or already matched) |
| NO path | Timeout expired before match, or a newer run with the same Waiter ID took over |
| Background wait | Wait minutes or hours for a value, then fire a trigger |
Flow Cards:
matched, result (MATCHED/TIMEOUT), value, waited_secondsHomey's 60-second Flow card limit: Homey stops every app Flow card after 60 seconds. The Wait until… condition therefore ends with an error after 55 seconds if the value has not arrived, even with a longer or no timeout. For longer waits, use Start waiting until device capability becomes value with a fixed Waiter ID plus the Capability wait finished trigger for that ID. Starting again with the same Waiter ID restarts the wait. Pending waits are in memory and are lost when the app restarts.
Long wait example:
WHEN: Kettle turned on
THEN: Start waiting until Kettle onoff becomes false (timeout: 10 minutes, id: kettle_boil)
WHEN: Capability wait finished "kettle_boil"
AND: the "Value matched" tag is Yes (Homey Logic card; No = timeout)
THEN: Send notification "Water is ready"
Range checking and value mapping with AND/OR logic.
Example: Check if temperature is comfortable (18-24°C):
18,24 (min, max)≥ AND ≤Logic Device (recommended for beginners):
Other devices:
[
{
"id": "formula_1",
"name": "Motion & Dark",
"expression": "A AND B",
"enabled": true,
"timeout": 60
}
]
Operators: AND, OR, XOR, NOT (plus &, |, ^, !)
WHEN: Formula [motion_detected] changed to TRUE
THEN: Turn on lights
Start with 2 inputs, grow to 10 automatically:
{"expression": "A AND B AND C AND D"}
// Device auto-expands to 4 inputs!
Lock inputs at first value for sequence-based logic:
{"firstImpression": true, "timeout": 30}
Each formula maintains its own input states:
[
{"id": "day_mode", "expression": "A AND B"},
{"id": "night_mode", "expression": "A OR B"}
]
Paste ugly JSON, get beautiful formatting on save. Works in all settings fields.
If this app makes your life easier, consider buying me a coffee ☕
Created by Lars Kvanum (@Tiwas)
This app is provided as-is. Use at your own risk.
Smart (Components) Toolkit - Smarter automations with advanced logic and state management 🚀