Hello, I want to register an end device in the cloud, but that device was deleted before (probably with another device_id). I create it in the correct order on the IS, JS, NS and then it fails on the AS:
POST https://eu1.cloud.thethings.network:443/api/v3/applications/test-app/devices?
BODY {
"end_device": {
"ids": {
"device_id": "b0b353fffe407a98-23720-7",
"application_ids": {
"application_id": "test-app"
},
"dev_eui": "B0B353FFFE407A98",
"join_eui": "A100000000000000"
},
"name": "14200003",
"description": "",
"network_server_address": "eu1.cloud.thethings.network",
"application_server_address": "eu1.cloud.thethings.network",
"version_ids": {
"brand_id": "23720",
"model_id": "mbus-7",
"hardware_version": ""
},
"join_server_address": "eu1.cloud.thethings.network"
},
"field_mask": {
"paths": [
"name",
"description",
"attributes",
"network_server_address",
"application_server_address",
"join_server_address",
"locations",
"version_ids"
]
}
}
PUT https://eu1.cloud.thethings.network:443/api/v3/js/applications/test-app/devices/b0b353fffe407a98-23720-7?
BODY {
"end_device": {
"ids": {
"device_id": "b0b353fffe407a98-23720-7",
"application_ids": {
"application_id": "test-app"
},
"dev_eui": "B0B353FFFE407A98",
"join_eui": "A100000000000000"
},
"network_server_address": "eu1.cloud.thethings.network",
"application_server_address": "eu1.cloud.thethings.network",
"root_keys": {
"app_key": {
"key": "XXXXXX"
}
}
},
"field_mask": {
"paths": [
"network_server_address",
"application_server_address",
"root_keys"
]
}
}
PUT https://eu1.cloud.thethings.network:443/api/v3/ns/applications/test-app/devices/b0b353fffe407a98-23720-7?
BODY {
"end_device": {
"lorawan_version": "MAC_V1_0_2",
"ids": {
"device_id": "b0b353fffe407a98-23720-7",
"application_ids": {
"application_id": "test-app"
},
"dev_eui": "B0B353FFFE407A98",
"join_eui": "A100000000000000"
},
"lorawan_phy_version": "PHY_V1_0_2_REV_A",
"frequency_plan_id": "EU_863_870_TTN",
"supports_join": true
},
"field_mask": {
"paths": [
"supports_join",
"lorawan_version",
"lorawan_phy_version",
"frequency_plan_id"
]
}
}
PUT https://eu1.cloud.thethings.network:443/api/v3/as/applications/test-app/devices/b0b353fffe407a98-23720-7?
BODY {
"end_device": {
"ids": {
"device_id": "b0b353fffe407a98-23720-7",
"application_ids": {
"application_id": "test-app"
},
"dev_eui": "B0B353FFFE407A98",
"join_eui": "A100000000000000"
}
}
}
Saying, the identifier would be duplicated:
{
"code": 6,
"message": "error:pkg/applicationserver/redis:duplicate_identifiers (duplicate identifiers)",
"details": [
{
"@type": "type.googleapis.com/ttn.lorawan.v3.ErrorDetails",
"namespace": "pkg/applicationserver/redis",
"name": "duplicate_identifiers",
"message_format": "duplicate identifiers",
"correlation_id": "9220e38bf06b4f1b8b76ae718a6d92ae",
"code": 6
}
]
}
What can I do? How can I register the device?
Must the EUI be released after deletion? How can I achieve that?
I tried deleting the device by device_id on all servers:
"error:pkg/identityserver/store:end_device_not_found (end device with id `b0b353fffe407a98-23720-7` not found in application with id `test-app`)"
"error:pkg/joinserver:device_not_found (device not found)"
"error:pkg/networkserver:device_not_found (device not found)"
"error:pkg/identityserver/store:end_device_not_found (end device with id `b0b353fffe407a98-23720-7` not found in application with id `test-app`)"