Items file structure

I think what your are asking is this

My thing file

Bridge mqtt:broker:myMQTTBroker [ host ="192.168.1.148", clientID ="myMQTTClient" ]
{
 
    Thing topic fan1 "Dining FAN" [ availabilityTopic="IFANdining/tele/LWT", payloadAvailable="Online", payloadNotAvailable="Offline"] {
    Channels:
        Type switch : Power1   "Dining Light "  [ stateTopic = "IFANdining/stat/POWER", commandTopic = "IFANdining/cmnd/POWER", on="ON", off="OFF" ]
        Type dimmer : fanspeed "Fan Speed"      [ stateTopic = "IFANdining/stat/FANSPEED", transformationPattern = "JSONPATH:$.FanSpeed", commandTopic ="IFANdining/cmnd/FANSPEED", 0="OFF", 1="LOW", 2="MED", 3="HIGH", 2=100  ]
      }
    
    Thing topic fan2 "Anabel FAN" [ availabilityTopic ="AIFAN/tele/LWT", payloadAvailable ="Online", payloadNotAvailable ="Offline"] {
    Channels:
        Type switch : Power1   "Anabel Light "  [ stateTopic ="AIFAN/stat/POWER", commandTopic ="AIFAN/cmnd/POWER", on="ON", off="OFF" ]
        Type dimmer : fanspeed "Anabel Fan"     [ stateTopic ="AIFAN/stat/FANSPEED", transformationPattern ="JSONPATH:$.FanSpeed", commandTopic ="AIFAN/cmnd/FANSPEED", 0="OFF", 1="LOW", 2="MED", 3="HIGH", 2=100  ]
      }

    Thing topic Kettle "Kettle in Kitchen" @ "Kitchen" [ availabilityTopic ="tele/kettle/LWT", payloadAvailable ="Online", payloadNotAvailable ="Offline"] {
    Channels:
        Type switch : PowerSwitch  [ stateTopic ="stat/kettle/POWER", commandTopic ="cmnd/kettle/POWER", on="ON", off="OFF"]
        Type string : WarmMode [ commandTopic ="cmnd/kettle/TuyaSend4"]
        Type number : temperature "Temperature [%.0f °C]" [ stateTopic ="tele/kettle/TUYARECEIVED", transformationPattern ="REGEX:(.*DpId\":5.*)∩JSONPATH:$.TuyaReceived.DpIdData∩JS:HEXtoDEC.js"  ]
      }
// More things here 
}

If you want to add things to different files hover use the same broker connection you can do that too

Thing mqtt:topic:myMQTTBroker:Absorbar "Absorbar" (mqtt:broker:myMQTTBroker) @ "Kitchen"{
Channels:
      Type switch : Power "Power" [ commandTopic="broadlink/absorbar/power", stateTopic="broadlink/absorbar/power", on="ON", off="OFF" ]
      Type switch : Light "Light" [ commandTopic="broadlink/absorbar/light", stateTopic="broadlink/absorbar/light", on="ON", off="OFF"  ]
      Type string : Move  "FAN Move" [ commandTopic="broadlink/absorbar/move" ]
      Type switch : switch "Lights" [ commandTopic="zigbee2mqtt/living_room_lights/set", stateTopic="zigbee2mqtt/living_room_lights", transformationPattern="JSONPATH:$.state", formatBeforePublish="{\"state\":\"%s\"}", on="ON", off="OFF" ]
      Type dimmer : dimmer "Dimmer" [ commandTopic="zigbee2mqtt/living_room_lights/set", stateTopic="zigbee2mqtt/living_room_lights", transformationPattern="JSONPATH:$.brightness", formatBeforePublish="{\"brightness\":%s}",  min=0, max=255, step=1 ]
      Type switch : secondswitch "Test 2Lights" [ commandTopic="zigbee2mqtt/living_room_lights/set", stateTopic="zigbee2mqtt/living_room_lights", transformationPattern="JSONPATH:$.state", formatBeforePublish="{\"state\":\"%s\"}", 1="ON", 0="OFF" ] 

  }

^ You can see how you can group two different technologies into one topic