node-red-contrib-azure-iothub-service 0.0.3
Nodes to communicate with devices via Azure IoT Hub and Event Hubs.
node-red-contrib-azure-iothub-service

Installation
npm install -g node-red-contrib-azure-iothub-service
Usage
eventhub-recv
Receive messages sent from devices via the builtin Event Hub.
iothub-send
Send cloud2device messages to your IoT Hub devices.
iothub-registry
Manage IoT Hub Devices.
List devices:
method: "device"
Get device:
method: "device", deviceId: str
Create device:
method: "device.create", deviceId: str
        {
            status: 'enabled',
            authentication: {
                x509Thumbprint: { primaryThumbprint: XXX, secondaryThumbprint: XXX }
            }
        }
    
Get twin:
method: "twin", deviceId: str
Update twin:
method: "twin.update", deviceId: str
        {
            tags: { city: "Redmond" },
            properties: {
                desired: { telemetryInterval: 1000 },
            }
        }
    
Delete device:
method: "device.delete", deviceId: str
List configurations:
method: "config"
Create configuration:
method: "config.create"
        {
            id: 'chiller4000x',
            content: {
                deviceContent: {
                    'properties.desired.chiller-water': {
                        temperature: 66,
                        pressure: 28
                    }
                }
            },
            metrics: {
                queries: {
                    waterSettingsPending: "SELECT deviceId FROM devices WHERE properties.reported.chillerWaterSettings.status='pending'"
                }
            },
            targetCondition: "properties.reported.chillerProperties.model='4000x'",
            priority: 20
        }
    
Get configuration:
method: "config", configId: str
Update configuration:
method: "config.update", configId: str
        {
            content: {
                deviceContent: {
                    'properties.desired.chiller-water': {
                        pressure: 29
                    }
                }
            }
        }
    
Delete configuration:
method: "config.delete", configId: str
other functionality
- checkpoint store
- validate NodeRedCheckpointStore
 - local file checkpoint store (could use contextstore = localfilesystem)
 - Azure Blob backed store
 
 - generate certs
 
lower-priority
- device methods: 
- https://github.com/Azure/azure-iot-hub-node/blob/main/samples/dmpatterns_reboot_service.js
 - https://github.com/Azure/azure-iot-hub-node/blob/main/samples/dmpatterns_fwupdate_service.js
 - https://github.com/Azure/azure-iot-hub-node/blob/main/samples/invoke_command.js
 - https://github.com/Azure/azure-iot-hub-node/blob/main/samples/invoke_component_command.js
 - https://github.com/Azure/azure-iot-hub-node/blob/main/samples/module_method.js
 
 - file notification
 - jobs
 
even lower priority
- bulk blob import export
- https://github.com/Azure/azure-iot-hub-node/blob/main/samples/registry_bulk_import_sample.js
 - https://github.com/Azure/azure-iot-hub-node/blob/main/samples/registry_bulk_export_sample.js
 - https://github.com/Azure/azure-iot-hub-node/blob/main/samples/registry_bulk_sample.js
 - https://github.com/Azure/azure-iot-hub-node/blob/main/samples/registry_import_managed_identity_sample.js
 - https://github.com/Azure/azure-iot-hub-node/blob/main/samples/registry_export_managed_identity_sample.js
 
 - device modules
 - token credentials
 - digital twin client (already accomplished with registry afaict)
 - edge deployment