'use strict'; require('date-utils'); var connectionString = 'HostName=kosho-iot.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey='; var iothub = require('azure-iothub'); var registry = iothub.Registry.fromConnectionString(connectionString); var Client = require('azure-iothub').Client; var serviceClient = Client.fromConnectionString(connectionString); serviceClient.open() var query = registry.createQuery("SELECT * FROM devices WHERE connectionState = 'connected'", 100); query.nextAsTwin(function(err, results) { if (err) { console.error('Failed to fetch the results: ' + err.message); } else if (results.length) { results.forEach(function(twin) { console.log(twin.deviceId); sendMessage(twin.deviceId); }); } else { process.exit(); } }); function sendMessage (cl) { var dt = new Date(); var text = "Hello "+cl+", MQTT-MSG by cloud "+dt.toFormat("YYYY-MM-DD HH24:MI:SS"); var Message = require('azure-iot-common').Message; console.log(text); var message = new Message(text); message.messageId = "My Message ID"; serviceClient.send(cl, message,printResultFor('send')); } function printResultFor(op) { return function printResult(err, res) { process.exit(); }; }