import Base from '../src/base' let dy = new Base({id:'dynamic', useRootNS: true }) let sensor = true //dummy simulated push dy.sensor = { test: function(packet){ return new Promise( async (resolve) => { console.log(`doing a dumming sensor push for id ${packet.id||packet.data}`) console.log('entire packet',packet) if (sensor) dy.push({cmd:'sensor/on', id:packet.id}) else dy.push({cmd:'sensor/off', id:packet.id}) let res = {} dy.push({cmd:'sensor/on', id:packet.id}) res.cmd='sensor/test' res.test=true res.id = packet.id return resolve(res) }) } } dy.switch = { on: function(packet){ return new Promise( async (resolve) => { console.log(`turning switch on for id ${packet.id||packet.data}`) console.log('entire packet',packet) // call switch on here let res = {} res.cmd='switch/status' res.status='on' res.id = packet.id return resolve(res) }) }, off: function(packet){ return new Promise( async (resolve) => { console.log(packet) console.log(`turning switch off for id ${packet.id||packet.data}`) // call switch on here let res = {} res.cmd='switch/status' res.status='off' res.id = packet.id return resolve(res) }) } } ; (async () => { await dy.init() await dy.addSocket('mqs','s','m') dy.socket.mqs.subscribe(['switch/on','switch/off','switch/toggle','sensor/test']) })().catch(err => { console.error('FATAL: UNABLE TO START SYSTEM!\n',err) process.kill(process.pid, 'SIGTERM') })