1

I have created an IoT Hub Edge device. In the beginning, the default $edgeAgent and $edgeHub modules went in. That's fine. Then I added a "barkModule" (note the lower-case B at the start) -- just a test module to play with D2C event messages and DirectMethod calls to the module.

Later on, I removed that module and added a new one, this time with BarkModule (capital B). Been rocking this way for about a week.

I did this bit of code to get a list of a devices module twins (_deviceTwins is the twins of all the devices on the hub, this is basically just getting all the modules for the device) :

    foreach (var _device in _deviceTwins) {
        var moduleList = await registryManager.GetModulesOnDeviceAsync(_device.DeviceId);
        DeviceList.Add(new DeviceAndModules { DeviceTwin = _device, Modules = moduleList.ToList() });
    };

In its module twin list -- I'm getting an entry for both BarkModule and barkModule. Even though my device just has $edgeAgent, $edgeHub and BarkModule modules.

I even went digging in $edgeAgent's module twin, and there's a ton of meta-data event history stuff (seriously, this is absurdly large) -- but there's NO reference to the lowercase-b "barkModule" anywhere.

How is it maintaining this information? Why is this showing up still? Is there a way I can remove this?

This shows the modules: shows four modules

This shows there's only three: Only three on the device

Jason
  • 3,020
  • 2
  • 24
  • 23
  • Added it as a bug to Edge's github issues page: https://github.com/Azure/iot-edge/issues/570 – Jason Apr 03 '18 at 13:53

0 Answers0