pimatic-mysensors
Version:
MySensors Plugin for pimatic
61 lines (46 loc) • 1.34 kB
text/coffeescript
events = require 'events'
net = require 'net'
Promise = require 'bluebird'
class EthernetDriver extends events.EventEmitter
constructor: (protocolOptions)->
= protocolOptions.port
= protocolOptions.host
connect: (timeout, retries) ->
# Create connection
= net.createConnection ,
# cleanup
= no
# reject promise on close
.on 'close', () =>
# setup data listener
.on 'data', (data) =>
# Sanitize data
data = data.toString()
line = data.replace(/(\r\n|\n|\r)/gm,"")
# reject promise on error
.on 'error', (error) =>
#resolve promise on connect
.on 'connect', () =>
= yes
'ready'
return
return new Promise( (resolve, reject) =>
)
disconnect: ->
.end()
return Promise.resolve()
write: (data) ->
if not .write(data, 'utf-8', () =>
"done"
)
"error"
return new Promise( (resolve, reject) =>
)
module.exports = EthernetDriver