#AzureIoT – Read and Write 📝 Twin Properties for an ☁️ Azure IoT Edge Module

Hi !

In my previous post I wrote about the libraries that we will use to access to Twin Properties in an Azure IoT Edge Module. Let’s go for it.

Configuration

We will use 3 main settings to read and write Twin information

# connect using IoTHub connection string and device id with the module identity name
IOTHUB_CONNECTION_STRING = "IoT Hub Connection String"
DEVICE_ID = 'Device Id'
MODULE_ID = 'Module Id'

Read Twin Properties

Let’s read twin properties with a couple of lines

# read twin
iothub_registry_manager = IoTHubRegistryManager(IOTHUB_CONNECTION_STRING)
module_twin = iothub_registry_manager.get_module_twin(DEVICE_ID, MODULE_ID)
twin_properties = "{0}".format(module_twin.properties) 
print ( twin_properties )

Update Twin Properties

And, if we need to update this, similar code.

iothub_registry_manager = IoTHubRegistryManager(IOTHUB_CONNECTION_STRING)
module_twin = iothub_registry_manager.get_module_twin(DEVICE_ID, MODULE_ID)
twin_original = "{0}".format(module_twin.properties) 

# Update twin
twin_patch = Twin()
twin_patch.properties = TwinProperties(desired={"doorState": 0, "doorStateSource": "python test app"})
updated_module_twin = iothub_registry_manager.update_module_twin(DEVICE_ID, MODULE_ID, twin_patch, module_twin.etag)

# display changes
twin_updated = "{0}".format(updated_module_twin .properties) 
print (f" original: {twin_original} ")
print (f" updated: {twin_updated} ")

Conclusion

Once you find the right libraries and code sample, read and update Twin Properties is easy. Now I’m ready to write a couple of Azure Functions that will interact with my Azure IoT Edge Modules Twin Properties !

References

Happy coding!

Greetings

El Bruno

More posts in my blog ElBruno.com.



¿Con ganas de ponerte al día?

En Lemoncode te ofrecemos formación online impartida por profesionales que se baten el cobre en consultoría:

1 comment

Leave a Reply to IvaTilca Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: