ezeek / smartly Goto Github PK
View Code? Open in Web Editor NEWsmartly - hubitat dashboard skin engine
Home Page: https://hubitat.ezeek.us/smartly/
smartly - hubitat dashboard skin engine
Home Page: https://hubitat.ezeek.us/smartly/
when selecting an icon replacement for only some of the states, it should display the default icon for the unselected states.. currently it is leaving them blank.
Currently, the following tile types are not able to have their title replaced.
So, of I went with my first tile. A presence sensor, so I changed the title and the icon. Then I noticed there is a section for the "not present" icon, but it's empty.
-fritz
Having these options will help solve different requests current and future, including the ones below.
kevin - Developer - "I’m hoping transparent might be available as an option here too"
TechMedX -Owner - I want to keep my custom yellow switch color templates.
Both Updating and "There are..." are displayed at the same time.
-markus
Ability to remove or resize the dashboard banner, I use old smartphones around the house to display dashboards and the banner takes up around 1/6 of the display with no real benefit (see my Lounge DB below)
-mhutchy
One more visual cue I was thinking of, while the textfield for pasting the code is ready for input, it should be some other color than grey, grey means disabled for most users. Grey is great for when you should not be pasting content.
I'm not sure if this is a bug or missing something: when I first import my JSON and click to edit a tile, all i see is options for icon replacement. If i save the tile and then edit it again this time the modal dialog has more options (like label and title updates).
symionow@hubitat
all skins, this is a logic issue
Possibility to add a unit to the attribute tile on a per-tile basis. So if you have a number like "1013.2" from a driver, it could be displayed as "1013.2 kPa"...
-markus
iPad Air 1024x666
768x922
this must be done via jquery (the simple part), but also unlocked and re-locked when JS needs to update the json within inputJSON textarea
I'm having trouble getting button tiles to change their icons. For any other tile when I change the icon it has changed, but not for buttons.
-promotiondummy
smartly_parse_css() uses explicit preg_split result indexes to determine base and user CSS. In order to allow overlay skins, we need to preg_match through those results with the specific delimiter for that section. recommend foreach through the preg_split result array and distribute based on finding the delimiter string of each section.
the smartly 'stock' icon replacement was pre-positioned too high.
When setting custom icons for on/off on a switch and a tile already has an icon set from the dashboard UI, either display a warning or just remove the "fixed" icon. I would vote for removing the "fixed" icon. IF that is not done, the on/off icons won't work...
-markus
I think I just found a "bug" where the custom icons are concerned in the Smartly Tile Editor. If I assign different sets of custom icons to the two different motion sensor tiles as seen in the screen shots above, only the most recently changed icons will stick. The other motion sensor icons revert back to blank (so the Hubitat default icons are used.) I tried a number of times and can confirm this behavior regardless of the order of making changes to the tiles. I suspect it may have to do with editing icons for tiles of the same Capability?
-veeceeoh
JasonJoel
I don't think so / I think it is the nature of the beast in its current form. It tries to make everything as space efficient as possible, not convert sizing 1-for-1. As such the layout will often be different for tiles it can "shrink" in size.
It would be interesting long term if there were an option to leave all tile sizing as-is and only apply the looks/theme though. That would be handy for those that want the look/feel of the theme, but don't care about/aren't going for max space utilization.
Possible bug - Is it just me or is there 2x1 tile impossible to click anything but the up/down arrows? If I use my finger on my tablets, or my mouse on PC. I cannot make that screen appear on a 2x1 tile.
-Techmedx
smartly allows Custom CSS to be present on initial update of a stock dash, but it brings it through and places it within CUSTOM CSS section within comment marks. the detection of that initial Custom CSS is not working, so it's putting in CSS comment marks orphaned at the end of the updated CSS.
"Though I have a suggestion (probably not for this release), is it an idea to have a (?) Icon right next to the skin pulldown to give an example of the font, tile style and background used?"
-fritz
UI issue - JSON cannot be pasted if a diferent theme is selected 1st. User must apply theme (get yelled at for invalid JSON) and then paste. -techmedx
joehuntley
I did find a bug (unless I'm not using it right). When changing the icon for a particular device, the icon doesn't persist if you go back to the tile editor at a later time.
Example:
I replaced the icon for a specific tile, generate the new JSON
Decide to to change the title. Go back to the same device in the tile editor and change the title only. Generate new JSON.
End result is that it 'forgets' the icon. The icon does show as selected during the second time around but the search text bar does not. If I re-select the icon explicit while changing the title, then it retains the original icon. if i forget, then i have to go back and find the icon I used all over again.
.tile-primary has inconsistent state class, HE bug.. needs workaround.
garage door, icon nudge WITHOUT title replacement brings icon UP towards the title
Portrait: 480x678px, Landscape: 806x400px
create am updatable json containing the pretty name, machine_name, viewport width and column preference to be auto-complete/tag-based searched and added to an input field within smartly, most likely in an 'Advanced' collapsed fieldset to the right of the preview grid. these preferences will be retrieved and saved to 'smartly_data' as a global option, and the media queries will be rebuilt each update based on current settings.
BorrisTheCat
noticed something else, not sure if its a bug and it doesn't seem to cause a issue. Each time you save the jason a spaced gets added to the bottom of this above the media line. after a while the space gets big
currently, when a user starts typing in 'ipad' it shows 5 options with no indication that there are more. if the user additionally types 'ipad air' it shows the additional options. it should indicate that there are more results OR show a scrollbar.
"Start Over" bug
I am working today with two dashboards. When I c/p dash one into smartly it works great. Then I click "start over" and c/p dash #18. For some odd reason I am missing everything in the middle of that dash. I click Shift refresh, c/p again and everything is fine.
Before and afters below.
It has happened to me a few times now, and I tried it with FF and Chrome, same result consistently.
not right after "start over"
thermostat, when used on HEAT or COOL (not AUTO) is useable as a square tile. The title needed adjustments and label replacement needed to be added for the template though.
leaving the 'Update CSS' checkbox unchecked should keep the existing base css and skin css instead of wiping it out.
'nudge icon' aka title_wrap is only built to move the icon down by use of whitespace: word-wrap; but needs to have an additional separate logic to determine if title replacement is used, and if not, add different css to adjust margin of the container of the icon.
'temperature' tile is nearly identical but displays tertiary content correctly, use as template
after displaying error indicator red border on inputJSON textarea, a successful update should clear the red border but currently does not.
Strip any JSON customIcon: data created by the half-baked 'Custom Icon' feature in HE Dashboard tile settings. This half-baked feature breaks HE Dashboard ability to show and change states. The completed multi-state icon functionality has been moved to smartly-helper 'Tile Editor'.
assets/data/device_cals.json
{ "value": "microsoft_lumia-1520", "text": "Microsoft Lumia 1520" , "width": 432 , "height": 768 , "pwidth": 2 },
Replace the last unused key 'pwidth' with 'allow2col', use boolean value and alter conditional tag input filter to limit by allow2col boolean instead of maximum device width.
index.html:948
var cal_devices_mobile = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('text'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
// prefetch: 'https://bootstrap-tagsinput.github.io/bootstrap-tagsinput/examples/assets/cities.json',
prefetch: {
url: 'assets/data/device_cals.json',
cache: false,
filter: function(devices) {
return $.map(devices, function(device) {
- if (device.width < 420) {
+ if (device.allow2col == true) {
return device;
//return { value: 'one', text: 'One', width: 111, height: 222, pwidth: 2 }; });
}
});
}
}
});
on initial update of a stock or otherwise NOT SMARTLY updated dashboard, we should adjust all tiles to be 2x height so that the user sees roughly the same tile placement as before the update. previously every tile would be converted to half-height and they would need to do a bunch of manual work to adjust tiles around eachothert
It's possible some of these won't have icons available to change, as video in particular may have a handful of icons for play, pause, stop, etc.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.