-
-
Notifications
You must be signed in to change notification settings - Fork 210
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(ui): improved control panel #900
Conversation
🚧 It seems like this PR has lint errors 🚧
I should be able to fix them for you. If you want me to, just comment |
🚧 It seems like this PR has lint errors 🚧
I should be able to fix them for you. If you want me to, just comment |
🚧 It seems like this PR has lint errors 🚧
I should be able to fix them for you. If you want me to, just comment |
Pull Request Test Coverage Report for Build 663723075
💛 - Coveralls |
@robertsLando may you provide a quick summary about the major differences between #524 and this PR? |
I have took the controller status, info box (the box with the homeid and applications version) and the advanced dialog from #524. What I did then is to completely refactor how the advanced dialog works like passing actions as an arguments and handle the new action event. This makes it more easier to use in both node and controller action expecially paired with args. I also added all missing actions and make some other style fixes What I have not implemented from #524 is the main idea about the compact control panel table that require some more work expecially in the dialog to control node stuff (everything that ATM we have on expanded node in the table) cc @jarrettv |
desc: 'All retained messages of this node will be removed from broker' | ||
}, | ||
{ | ||
text: 'Update topics', | ||
options: [ | ||
{ | ||
name: 'Update', | ||
action: 'updateNodeTopics', | ||
args: { | ||
mqtt: true, | ||
confirm: 'Are you sure you want to update all topics?' | ||
} | ||
} | ||
], | ||
icon: 'update', | ||
desc: 'Update all node topics. Useful when name/location has changed' | ||
}, | ||
{ | ||
text: 'Firmware update', | ||
options: [ | ||
{ name: 'Begin', action: 'beginFirmwareUpdate' }, | ||
{ name: 'Abort', action: 'abortFirmwareUpdate' } | ||
], | ||
icon: 'update', | ||
desc: 'Start/Stop a firmware update' | ||
}, | ||
{ | ||
text: 'Heal Node', | ||
options: [{ name: 'Heal', action: 'healNode' }], | ||
icon: 'healing', | ||
desc: 'Force nodes to establish better connections to the controller' | ||
}, | ||
{ | ||
text: 'Refresh Values', | ||
options: [ | ||
{ | ||
name: 'Refresh', | ||
action: 'refreshValues', | ||
args: { | ||
confirm: | ||
'Are you sure you want to refresh values of this node? This action increases network traffic' | ||
} | ||
} | ||
], | ||
icon: 'cached', | ||
desc: | ||
'Update all CC values and metadata. Use when many values seems stale' | ||
}, | ||
{ | ||
text: 'Re-interview Node', | ||
options: [ | ||
{ | ||
name: 'Interview', | ||
action: 'refreshInfo', | ||
args: { | ||
confirm: | ||
"Are you sure you want to re-interview this node? Battery powered nodes need to be woken up, interaction with the node won't be reliable until the interview is done" | ||
} | ||
} | ||
], | ||
icon: 'history', | ||
desc: | ||
'Clear all info about this node and make a new full interview. Use when the node has wrong/missing some capabilities' | ||
}, | ||
{ | ||
text: 'Failed Nodes', | ||
options: [ | ||
{ name: 'Check', action: 'isFailedNode' }, | ||
{ name: 'Remove', action: 'removeFailedNode' }, | ||
{ name: 'Replace', action: 'replaceFailedNode' } | ||
], | ||
icon: 'dangerous', | ||
desc: | ||
'Manage nodes that are dead and/or marked as failed with the controller' | ||
}, | ||
{ | ||
text: 'Associations', | ||
options: [ | ||
{ | ||
name: 'Clear', | ||
action: 'removeAllAssociations', | ||
args: { | ||
confirm: | ||
"This action will remove all associations of this node. Does clearing a node's associations include the lifeline? If so, the node won't report until that is set up again" | ||
} | ||
}, | ||
{ | ||
name: 'Remove', | ||
action: 'removeNodeFromAllAssociations', | ||
args: { | ||
confirm: | ||
'This action will remove this node from all associations with others' | ||
} | ||
} | ||
], | ||
icon: 'link_off', | ||
desc: | ||
'Clear all node associations / Remove node from all associations' | ||
} | ||
] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
icon: 'save', | ||
desc: 'Save or load `nodes.json` file with names and locations' | ||
}, | ||
{ | ||
text: 'Re-interview Node', | ||
value: 'refreshInfo' | ||
text: 'Dump', | ||
options: [{ name: 'Export', action: 'exportDump' }], | ||
icon: 'bug_report', | ||
desc: 'Export all nodes in a json file. Useful for debugging purposes' | ||
}, | ||
{ | ||
text: 'Refresh values', | ||
value: 'refreshValues' | ||
}, | ||
{ | ||
text: 'Is Failed Node', | ||
value: 'isFailedNode' | ||
}, | ||
{ | ||
text: 'Remove failed node', | ||
value: 'removeFailedNode' | ||
}, | ||
{ | ||
text: 'Replace failed node', | ||
value: 'replaceFailedNode' | ||
}, | ||
{ | ||
text: 'Begin Firmware update', | ||
value: 'beginFirmwareUpdate' | ||
}, | ||
{ | ||
text: 'Abort Firmware update', | ||
value: 'abortFirmwareUpdate' | ||
}, | ||
{ | ||
text: 'Remove all associations', | ||
value: 'removeAllAssociations' | ||
}, | ||
{ | ||
text: 'Remove node from all associations', | ||
value: 'removeNodeFromAllAssociations' | ||
} | ||
], | ||
cnt_action: 'healNetwork', | ||
cnt_actions: [ | ||
{ | ||
text: 'Heal Network', | ||
value: 'beginHealingNetwork' | ||
options: [ | ||
{ | ||
name: 'Begin', | ||
action: 'beginHealingNetwork', | ||
args: { | ||
confirm: | ||
'Healing network causes a lot of traffic, can take minutes up to hours and users have to expect degraded performance while it is going on' | ||
} | ||
}, | ||
{ name: 'Stop', action: 'stopHealingNetwork' } | ||
], | ||
icon: 'healing', | ||
desc: 'Force nodes to establish better connections to the controller' | ||
}, | ||
{ | ||
text: 'Stop Heal Network', | ||
value: 'stopHealingNetwork' | ||
text: 'Hard Reset', | ||
options: [ | ||
{ | ||
name: 'Factory Reset', | ||
action: 'hardReset' | ||
} | ||
], | ||
icon: 'warning', | ||
color: 'red', | ||
desc: | ||
'Reset controller to factory defaults (all paired devices will be removed)' | ||
}, | ||
{ | ||
text: 'Hard reset', | ||
value: 'hardReset' | ||
text: 'Failed Nodes', | ||
options: [ | ||
{ | ||
name: 'Check all', | ||
action: 'isFailedNode', | ||
args: { broadcast: true } | ||
}, | ||
{ | ||
name: 'Remove all', | ||
action: 'removeFailedNode', | ||
args: { | ||
broadcast: true, | ||
confirm: 'This action will remove all failed nodes' | ||
} | ||
} | ||
], | ||
icon: 'dangerous', | ||
desc: | ||
'Manage nodes that are dead and/or marked as failed with the controller' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Based on #524