mirror of
https://github.com/mtan93/SmartThingsPublic.git
synced 2026-03-28 21:04:16 +00:00
Merge pull request #494 from larsfinander/wemo
Fixed ArrayIndexOutOfBoundsException
This commit is contained in:
@@ -316,60 +316,40 @@ private def parseEventMessage(String description) {
|
|||||||
parts.each { part ->
|
parts.each { part ->
|
||||||
part = part.trim()
|
part = part.trim()
|
||||||
if (part.startsWith('devicetype:')) {
|
if (part.startsWith('devicetype:')) {
|
||||||
def valueString = part.split(":")[1].trim()
|
part -= "devicetype:"
|
||||||
event.devicetype = valueString
|
event.devicetype = part.trim()
|
||||||
}
|
}
|
||||||
else if (part.startsWith('mac:')) {
|
else if (part.startsWith('mac:')) {
|
||||||
def valueString = part.split(":")[1].trim()
|
part -= "mac:"
|
||||||
if (valueString) {
|
event.mac = part.trim()
|
||||||
event.mac = valueString
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (part.startsWith('networkAddress:')) {
|
else if (part.startsWith('networkAddress:')) {
|
||||||
def valueString = part.split(":")[1].trim()
|
part -= "networkAddress:"
|
||||||
if (valueString) {
|
event.ip = part.trim()
|
||||||
event.ip = valueString
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (part.startsWith('deviceAddress:')) {
|
else if (part.startsWith('deviceAddress:')) {
|
||||||
def valueString = part.split(":")[1].trim()
|
part -= "deviceAddress:"
|
||||||
if (valueString) {
|
event.port = part.trim()
|
||||||
event.port = valueString
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (part.startsWith('ssdpPath:')) {
|
else if (part.startsWith('ssdpPath:')) {
|
||||||
def valueString = part.split(":")[1].trim()
|
part -= "ssdpPath:"
|
||||||
if (valueString) {
|
event.ssdpPath = part.trim()
|
||||||
event.ssdpPath = valueString
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (part.startsWith('ssdpUSN:')) {
|
else if (part.startsWith('ssdpUSN:')) {
|
||||||
part -= "ssdpUSN:"
|
part -= "ssdpUSN:"
|
||||||
def valueString = part.trim()
|
event.ssdpUSN = part.trim()
|
||||||
if (valueString) {
|
|
||||||
event.ssdpUSN = valueString
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (part.startsWith('ssdpTerm:')) {
|
else if (part.startsWith('ssdpTerm:')) {
|
||||||
part -= "ssdpTerm:"
|
part -= "ssdpTerm:"
|
||||||
def valueString = part.trim()
|
event.ssdpTerm = part.trim()
|
||||||
if (valueString) {
|
|
||||||
event.ssdpTerm = valueString
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (part.startsWith('headers')) {
|
else if (part.startsWith('headers')) {
|
||||||
part -= "headers:"
|
part -= "headers:"
|
||||||
def valueString = part.trim()
|
event.headers = part.trim()
|
||||||
if (valueString) {
|
|
||||||
event.headers = valueString
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (part.startsWith('body')) {
|
else if (part.startsWith('body')) {
|
||||||
part -= "body:"
|
part -= "body:"
|
||||||
def valueString = part.trim()
|
event.body = part.trim()
|
||||||
if (valueString) {
|
|
||||||
event.body = valueString
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
event
|
event
|
||||||
|
|||||||
@@ -473,68 +473,48 @@ private def parseXmlBody(def body) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private def parseDiscoveryMessage(String description) {
|
private def parseDiscoveryMessage(String description) {
|
||||||
def device = [:]
|
def event = [:]
|
||||||
def parts = description.split(',')
|
def parts = description.split(',')
|
||||||
parts.each { part ->
|
parts.each { part ->
|
||||||
part = part.trim()
|
part = part.trim()
|
||||||
if (part.startsWith('devicetype:')) {
|
if (part.startsWith('devicetype:')) {
|
||||||
def valueString = part.split(":")[1].trim()
|
part -= "devicetype:"
|
||||||
device.devicetype = valueString
|
event.devicetype = part.trim()
|
||||||
}
|
}
|
||||||
else if (part.startsWith('mac:')) {
|
else if (part.startsWith('mac:')) {
|
||||||
def valueString = part.split(":")[1].trim()
|
part -= "mac:"
|
||||||
if (valueString) {
|
event.mac = part.trim()
|
||||||
device.mac = valueString
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (part.startsWith('networkAddress:')) {
|
else if (part.startsWith('networkAddress:')) {
|
||||||
def valueString = part.split(":")[1].trim()
|
part -= "networkAddress:"
|
||||||
if (valueString) {
|
event.ip = part.trim()
|
||||||
device.ip = valueString
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (part.startsWith('deviceAddress:')) {
|
else if (part.startsWith('deviceAddress:')) {
|
||||||
def valueString = part.split(":")[1].trim()
|
part -= "deviceAddress:"
|
||||||
if (valueString) {
|
event.port = part.trim()
|
||||||
device.port = valueString
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (part.startsWith('ssdpPath:')) {
|
else if (part.startsWith('ssdpPath:')) {
|
||||||
def valueString = part.split(":")[1].trim()
|
part -= "ssdpPath:"
|
||||||
if (valueString) {
|
event.ssdpPath = part.trim()
|
||||||
device.ssdpPath = valueString
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (part.startsWith('ssdpUSN:')) {
|
else if (part.startsWith('ssdpUSN:')) {
|
||||||
part -= "ssdpUSN:"
|
part -= "ssdpUSN:"
|
||||||
def valueString = part.trim()
|
event.ssdpUSN = part.trim()
|
||||||
if (valueString) {
|
|
||||||
device.ssdpUSN = valueString
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (part.startsWith('ssdpTerm:')) {
|
else if (part.startsWith('ssdpTerm:')) {
|
||||||
part -= "ssdpTerm:"
|
part -= "ssdpTerm:"
|
||||||
def valueString = part.trim()
|
event.ssdpTerm = part.trim()
|
||||||
if (valueString) {
|
|
||||||
device.ssdpTerm = valueString
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (part.startsWith('headers')) {
|
else if (part.startsWith('headers')) {
|
||||||
part -= "headers:"
|
part -= "headers:"
|
||||||
def valueString = part.trim()
|
event.headers = part.trim()
|
||||||
if (valueString) {
|
|
||||||
device.headers = valueString
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (part.startsWith('body')) {
|
else if (part.startsWith('body')) {
|
||||||
part -= "body:"
|
part -= "body:"
|
||||||
def valueString = part.trim()
|
event.body = part.trim()
|
||||||
if (valueString) {
|
|
||||||
device.body = valueString
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
device
|
event
|
||||||
}
|
}
|
||||||
|
|
||||||
def doDeviceSync(){
|
def doDeviceSync(){
|
||||||
|
|||||||
Reference in New Issue
Block a user