/* * * 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. * * Change History: * * Date Who Description * ---------- ------------ ------------------------------------------------ */ static String version() { return '0.0.1' } import groovy.transform.Field import groovy.json.JsonSlurper definition ( name: "DNI Search", namespace: "thebearmay", author: "Jean P. May, Jr.", description: "Search Devices for port 39501 using IP and MAC", category: "Utility", importUrl: "https://raw.githubusercontent.com/thebearmay/hubitat/refs/heads/main/apps/dniSearch.groovy", installOnOpen: true, oauth: false, iconUrl: "", iconX2Url: "" ) preferences { page name: "mainPage" } mappings { /* path("/store") { action: [POST: "store", GET: "store"] } */ } 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 mainPage(){ dynamicPage (name: "mainPage", title: "