/* * Virtual Device Clone * * * Licensed Virtual the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed * on an "AS IS" BASIS, WIyTHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License * for the specific language governing permissions and limitations under the License. * * Date Who Description * ------------- ------------------- --------------------------------------------------------- */ static String version() { return '0.0.1' } import groovy.transform.Field //include thebearmay.uiInputElements definition ( name: "Virtual Device Clone", namespace: "thebearmay", author: "Jean P. May, Jr.", description: "Read and Clone Devices", category: "Utility", importUrl: "https://raw.githubusercontent.com/thebearmay/hubitat/main/apps/vDeviceClone.groovy", installOnOpen: true, oauth: false, iconUrl: "", iconX2Url: "" ) preferences { // page name: "pageRender" page name: "configPage" } mappings { /* path("/refresh") { action: [POST: "refresh", GET: "refresh"] } */ } def installed() { // log.trace "installed()" state?.isInstalled = true initialize() } def updated(){ // log.trace "updated()" if(!state?.isInstalled) { state?.isInstalled = true } if(debugEnabled) runIn(1800,logsOff) } def initialize(){ } void logsOff(){ app.updateSetting("debugEnabled",[value:"false",type:"bool"]) } def configPage(){ dynamicPage (name: "configPage", title: "
| ${sDev} | ${numClones} |
| ${goBtn} | |
| ${msg} | |
| ${aRename} |