const mqtt = require('mqtt'); console.log('Connecting with MQTT.js...'); const client = mqtt.connect('wss://ahh6gwts.http.wirenboard.cloud/mqtt', { wsOptions: { headers: { 'Origin': 'https://ahh6gwts.http.wirenboard.cloud', 'Cookie': 'tunnel_key=eyJhbXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXiNzEtYjNkMS04ZjY2YjExZDcxMDQiLCJpYXQiOjE3NjM3MzE3OTgsImV4cCI6MTc2MzczMjY5OCwidHVubmVsX2lkIjoiM2QxMmVkNGItZjE4NC00YmI2LTkzZWUtYmUwMGYxMTZmODBkIiwidHVubmVsX3BvcnQiOiI0NzI2MyIsInR1bm5lbF90eXBlIjoiaHR0cCIsIm93bmVyX2lkIjoiNjdjZWFkNDktNzdkMC00MGMyLWI3NjgtZTZjZGNiYjkzMmQyIn0.qR_4Htl9HgUiKGI3eHC_eZP98K79-_GpTtXmN9kl08I59i9NZOUBvZHDfhoH8HrjdYwgcWp0OMpGqa1PiCv335Lto3Y5dWvIHqSpWAwfutzzpvgBL375QuSuB9FC9EL6q_rGy6paWbX4uKktqgZGzic0HMhZt81u_b6zFjavv3AHWtZVJN07OH9QU7LRrRVSIr0jS3LXsN4zvintraf_Ekg4NUXKw8JzZ1fEiF4BgGOwgAs3ivtFXyFyVtI29omVa9bIuPcF9CGKGiVSIq29xQl9uJYpeTctF_Zzpw2hz05TI_YE9X7P06Y-_wmADulMzE3wzhjwYlNOnHve8icsq8LoSOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX8KVD5S-jzOjz4-aqD3QuYTL_cVOoN4NyL16RS6beTcLbZX1VsBv4ZN35XLdenIPFZqHfGkXgFlPInhRKx1OVEP71uil9Ob3ZtAArygwI2Vx3G0_AerOHAkpvOkyUOEvD5EefMy_3gdbOw07T40ZrNhy-ljEKt6Dp2syM7POS25SknIFRfHS6gmlLaWs9Z9kljZncNuL_en4zTwPaJBy7PZn6S6tBZQWZyxyAttSaGitecu6ed-g3UQcM4mcq6yGUWBntL5ekTHj6CsG3VcRHODpiNyis5uN6tsA6j-PAGm0xBoAzsOkqHT-nQ' } }, protocolVersion: 4, connectTimeout: 4000, reconnectPeriod: 0 }); client.on('connect', function() { console.log('MQTT Connected! Subscribing...'); // Subscribe to the status topic to see changes client.subscribe('/devices/buzzer/controls/enabled', function(err) { if (err) { console.log('Subscription error:', err); } else { console.log('Subscribed to /devices/buzzer/controls/enabled'); console.log('Now controlling the buzzer...'); // Publish to turn buzzer ON after 2 seconds setTimeout(() => { console.log('Publishing to turn buzzer ON...'); client.publish('/devices/buzzer/controls/enabled/on', '1', function(err) { if (err) { console.log('Publish error:', err); } else { console.log('Published: 1 to /devices/buzzer/controls/enabled/on (buzzer ON)'); } }); }, 2000); // Turn it off after 5 seconds setTimeout(() => { console.log('Publishing to turn buzzer OFF...'); client.publish('/devices/buzzer/controls/enabled/on', '0', function(err) { if (err) { console.log('Publish error:', err); } else { console.log('Published: 0 to /devices/buzzer/controls/enabled/on (buzzer OFF)'); } }); }, 5000); // Optional: Also subscribe to the control topic to see any responses client.subscribe('/devices/buzzer/controls/enabled/on', function(err) { if (err) { console.log('Subscription error for control topic:', err); } else { console.log('Also subscribed to /devices/buzzer/controls/enabled/on'); } }); } }); }); client.on('message', function(topic, message) { console.log('MESSAGE RECEIVED - Topic: ' + topic + ', Message: ' + message.toString()); }); client.on('error', function(err) { console.log('MQTT error:', err); }); client.on('close', function() { console.log('MQTT connection closed'); }); client.on('offline', function() { console.log('MQTT offline'); }); // Handle Ctrl+C to gracefully close process.on('SIGINT', function() { console.log('Disconnecting...'); client.end(); process.exit(); });