I’ve released a new Homey app called Widget Forge and wanted to briefly introduce it here.
The main idea came from my own dashboard use: quite often I wanted widgets that are not tied to one specific device or one hardcoded purpose.
Sometimes I just want to display exactly the information I need, formatted the way I want, and update it through flows.
So Widget Forge is basically my attempt to make that possible.
It is meant to provide custom dashboard widgets that can be filled and updated with Flow Cards.
That means the widget itself is more like a visual container, while the actual logic and data come from your own flows.
My goal is to keep it:
flexible
easy to understand
visually clean
and useful in real dashboards
The first widget concepts are focused on things like structured lists, large value displays, grouped data blocks and similar elements.
So not a widget for one specific app, but a small toolbox for building your own dashboard style inside Homey.
I’m trying to make it useful for many kinds of scenarios, like status overviews, energy values, room information, reminders, warnings, or just nicely formatted custom text/data.
Version 1.1.0 is already done. It includes a new widget that was also shown in the preview images, but until now it was still in an alpha stage and not yet ready for release.
Once version 1.1.0 is online and certified, I can take a closer look at camera snapshots.
In the meantime, you’re welcome to try the current version and later also version 1.1.0. After that, it would really help if you could describe a bit more precisely how you would expect camera images to appear in a widget while still fitting the style of the widgets already featured — for example with or without a frame, a title, separators, or maybe additional information. That would help me assess both the feasibility and how well it could fit into the current concept.
Also, could you send me a screenshot of the Flow card with the image tag selected? That would be very helpful.
, but instead of #Temperature, your snapshot. If that does not work, Widget Forge would not be able to show it, as the data source must be a Homey tag. Anyway, Widget Forge can only display data not interact with devices.
Version 1.2.0 is now online and features the following:
Added the new Message widget for true status messages.
Big Display (similar to Big Data List with one line only) and its flow card are now deprecated, but remain functional in existing flows. Superseded by Message widget.
Added new THEN flow cards for offset-based zeroing, numeric and boolean color grading
Added line existence check AND cards for Styled List and Big Data Block. This allows flows that create lines if not existent and apply color grade if they exist.
Added an option in the widget settings to change the appearance of boolean values.
As I understand is Big data block replacement for Big display. It’s alright because I can make 1-line data list, but I cannot figure out to change data blocl whole background for same appearance like Big display.
The big data block is not a replacement for big display. The fact is simply, that aside the background, a one line big data block was very similar to big display.
Message is the replacement for Big Display, as Big Display was initially intended to be a message or alert box.
Now, every widget has a clear role. Message for messages and alerts, Big Data Block as large value display, and Styled List as a kind of structured report.
Only the message widget has a background color property. The idea is to keep widgets clean and styled and not a colorama.
If you think that the Big Data Block should have a background color, you can make an official suggestion. I’ll then check the global interest in that feature. I’m always open for suggestions for other widgets or widget features.
I think I am looking for a combination of Sharptools dashboard and Widget Forge and thought that Big display could replace Sharptool tiles. Now I understand that Widget Forge has a clear purpose and it’s good to keep it simple.
I am currently preparing version 1.3.0, which adds 4 new helper cards to Widget Forge:
Invert number
Invert boolean
Boolean to text
Simple math
The first two are very small cards, but in my opinion very useful ones. They cover situations that come up quite often in flows and can help reduce unnecessary extra logic.
A simple example would be when you want to use a card like “If X is lower than Y”, but your value is always negative and you first need the inverted number. The same principle also applies to boolean values. These cards are meant to make flows a bit easier to build and easier to read.
The Boolean to text card takes a boolean value or boolean tag and two text parameters: one for true and one for false.
For example, a window contact can return open / closed instead of true / false. But it can just as well be used for on / off, heat / cool, or any other matching pair.
The fourth new card is Simple math. It accepts a mathematical formula made of numbers, numeric tags, the operators +, -, *, /, and parentheses. Decimal values are supported with a dot as decimal separator. This allows small calculations to be done directly inside Widget Forge and should avoid some of the usual workaround flows.
In addition, Simple math can also directly compare the result of a formula with a value and return true or false. This makes it useful not only for calculations, but also for compact flow logic.
These cards are global helper cards, so they are not limited to widgets and can also be useful for other flow scenarios.
I hope these additions will make Widget Forge a bit more flexible and practical in everyday use.
I did not submit 1.3.0 for certification as 1.3.1 is already available for test. It features also a conditional card that accepts a simple math formula.
The cards “Calculate Formula” and “Conditional Comparison” now support formulas as comparison values instead of only single fixed values.
Two new comparators have also been added: “less than or equal to” and “greater than or equal to”.
In addition, formulas now support deadband logic. A deadband defines a numeric range that is treated as zero, which helps prevent values from rapidly switching back and forth near zero. Deadbands are written with curly braces and semicolon-separated parameters using the format {value; min deadband value; max deadband value}. If the value falls within the defined range, the result is 0; otherwise, the original value is returned.