/** * MagicHome Manager * * Author: * Adam Kempenich * */ definition( name:"MagicHome Manager", namespace: "MagicHome", author: "Adam Kempenich", description: "Discover lights, manage their IPs, and create custom effects", category: "Convenience", iconUrl: "", iconX2Url: "", iconX3Url: "", importURL: "" ) preferences { page name: "mainPage", title: "", install: true, uninstall: true } def installed() { log.info "Installed with settings: ${settings}" state.initializeCompleted = true initialize() } def updated() { log.info "Updated with settings: ${settings}" unsubscribe() initialize() } def initialize() { childApps.each { child -> logInformationText "Child app: ${child.label}" } } def mainPage() { dynamicPage(name: "mainPage", refreshInterval:0){ section("

Information

"){ paragraph "This app will help you manage your MagicHome devices without needing the app. While I recommend that you reserve an IP for your devices on your router, this app will do its best to find lights if they change their IP on your network." label title: "

Want to give MagicHome Manager a different name? (optional)

", required: false, submitOnChange: true } section("

Pixel Controller Effect Builder

", hideable: true, hidden: true ){ paragraph "There's a good chance this only works on desktop. Tested in FireFox.
" paragraph """ """ } section("Debug settings", hideable: true){ input(name:"logDebug", type:"bool", title: "Log debug information?", description: "Logs data for debugging. (Default: Off)", defaultValue: true, required: false, displayDuringSetup: true, submitOnChange: true) input(name:"logDescriptionText", type:"bool", title: "Log description text?", description: "Logs when useful things happen. (Default: On)", defaultValue: true, required: true, displayDuringSetup: true, submitOnChange: true) } section("

Help/Information

"){ paragraph "Thanks for installing MagicHome Manager!" } } }