Mike's explanation is correct. Part 5 variables are documented in the vignette and in the auto-generated part5 variable dictionary (added in autumn 2023).
I assumed that if a GGIR user is familiar with those variables you will be able to deduce what the class names are in the behaviouralcodes.csv. But, I can update the documentation to clarify this a bit more.
However, I also think it might be useful for some of the users to maybe document somewhere the requirements for a given data point to be categorized into one of the categories like an acceleration threshold or something.
This is documented in inspecting the output in the vignette and in the documentation of the input parameters. Further, the way GGIR classifies intensity levels has been described in papers I was a co-author on, and it is discussed in our training course
https://www.accelting.com/ggir-training/ . Later this year we hope to write a dedicated vignette chapter to summarise all that...
In my case I'd like to detect significant sleep disturbances during the night and I smoothed the datapoints over 1min and now came to the threshold in class_id of 1.2 leading to a "significant" sleep disturbance. However, it feels weird to kind of guess this threshold since I don't really know the thoughts behind these class_id's in the first place.
This is documented in the vignette, these are codes to refer to classes and averaging them makes no sense just like you wouldn't average participant ID numbers. Instead you should maybe use majority vote. Either way I do not understand why you are take that route, GGIR facilitates this for you with argument "part5_agg2_60seconds".
I am responding to the google group on a voluntary and unpaid basis. If you have more questions please consider our GGIR training course options: https://www.accelting.com/ggir-training/. Further, I'd be happy to offer personal consultancy session(s).